Uploaded image for project: 'Puppet'
  1. Puppet
  2. PUP-8988

Don't pluginsync vendored modules

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: PUP 6.0.0
    • Component/s: None
    • Labels:
      None
    • Template:
      PUP Bug Template
    • Team:
      Coremunity
    • Sprint:
      Platform Core KANBAN
    • Method Found:
      Needs Assessment
    • Release Notes:
      Not Needed
    • Release Notes Summary:
      This is a behavior change to code that hasn't been released yet, so there won't be any user-facing changes.
    • QA Risk Assessment:
      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 Eric Sorenson, Jacob Helwig, Melissa Stone, Branan Riley

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              josh Josh Cooper
              Reporter:
              josh Josh Cooper
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Zendesk Support