HomePhorge

(PUP-3900) Fix problems with supplying data providers in a module
3c95490a256bUnpublished

Unpublished Commit · Learn More

Repository Importing: This repository is still importing.

Description

(PUP-3900) Fix problems with supplying data providers in a module

With the introduction of Agnostic Data In Modules (PUP-1640) it should
be possible to supply new types of data providers for modules and
environments by packaging them in a module and wiring them into the
runtime by using the Puppet Binder. This did not however work for
several reasons:

  • There were confusion over the PuppetX namespace. Puppet tried to be

helpful, but introduced the module as Puppetx, not PuppetX.

  • The logic that maps a classname to path did not expand each name

segement that needed expansion, thus PuppetX::SomeThing resulted in the
potential paths 'puppet_x/something.rb', and 'puppetx/something.rb', but
not the correct 'puppet_x/some_thing.rb'.

  • Adding multibindings in modules made the binder lose the default

bindings. Using the added bindings masked the problem, but if they were
just added and not used, an error reporting that a provider named 'none'
could not be found.

Event Timeline

Henrik Lindberg <henrik.lindberg@cloudsmith.com> committed rPU3c95490a256b: (PUP-3900) Fix problems with supplying data providers in a module (authored by Henrik Lindberg <henrik.lindberg@cloudsmith.com>).Jan 23 2015, 1:36 PM