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

Handle cached catalog and pluginsync inconsistencies

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: PUP 4.4.0
    • Component/s: None
    • Labels:
      None
    • Release Notes:
      New Feature
    • Release Notes Summary:
      Hide
      * By default, the value of {{pluginsync}} will be coerced to be compatible with value of {{use_cached_catalog}}.
      * If {{pluginsync}} is explicitly set via command-line or {{puppet.conf}}, then that setting will be honored even when it may result in an inconsistent state between the catalog and the plugins that support it.
      Show
      * By default, the value of {{pluginsync}} will be coerced to be compatible with value of {{use_cached_catalog}}. * If {{pluginsync}} is explicitly set via command-line or {{puppet.conf}}, then that setting will be honored even when it may result in an inconsistent state between the catalog and the plugins that support it.

      Description

      Currently, use_cached_catalog and pluginsync can be set to "conflicting" values, causing the agent to use different versions of plugins than the catalog. For example, the catalog could contain a new resource parameter that the older pluginsync'ed lib/puppet/type/foo.rb doesn't know about. Ideally, pluginsync should only occur when requesting a new catalog, and skipped when applying a cached catalog. However, we cannot ignore pluginsync without a deprecation cycle.

      For 4.4, if use_cached_catalog is true, then we will change the default value of pluginsync. However, if pluginsync is explicitly set on the command line or puppet.conf, then that should always win.

      For this ticket:

      If pluginsync is set explicitly, then do
      If use_cached_catalog is false, then pluginsync should default to true.
      If use_cached_catalog is true, then pluginsync should default to false, so that we use the same set of plugins that matched the catalog when it was compiled.
      If use_cached_catalog is true, but it doesn't have a cached catalog, but due to usecacheonfailure requests a new catalog, then we should probably set pluginsync=true unless the user explicitly set pluginsync=false.

      There is a separate ticket to deprecate pluginsync.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                josh Josh Cooper
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Zendesk Support