Details
-
Bug
-
Status: Closed
-
Normal
-
Resolution: Fixed
-
None
-
None
-
None
-
Coremunity
-
Platform Core KANBAN
-
Needs Assessment
-
Not Needed
-
This is a behavior change to code that hasn't been released yet, so there won't be any user-facing changes.
-
Needs Assessment
Description
Currently in puppet#master, we treat vendored modules just like any another module in the environment-specific modulepath, just that they have the least preference.
This is desirable to ensure that the version of the type we're compiling for, is the same version that the agent uses during catalog application. This is important to ensure the code in the type (title patterns, munge, validate, auto relations) is consistent to prevent subtle and difficult to reproduce bugs. It would also prevent problems likeĀ PUP-2746.
However, it causes a few problems:
- it will cause additional pluginsync'ing of types and providers
- we have to be careful about introducing changes to types that are not compatible with older agents. For example, the yumrepo type now marks the password and proxy_password properties as sensitive, but the Puppet::Parameter#sensitive method is not available in older puppet versions.
- it is a departure from how puppet currently works
This ticket proposes we:
- remove the vendored modules from the module path so that they are not pluginsync'ed automatically
- add a puppet setting for vendored modulepath
- add the path to the autoloader search path with least precedence
This way vendored types can be autoloaded locally, but we never pluginsync (types/providers/facts/files/etc) them.
/cc ericsorenson, jacob.helwig, melissa, branan
Attachments
Issue Links
- causes
-
PDB-3982 Fix vendormoduledir related puppet master integration test failures
-
- Closed
-