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

Puppet 3 API functions should be loaded from the pluginsync location as part of the cache system loader

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: PUP 6.11.0
    • Component/s: None
    • Environment:

      Windows 10 - 1803
      Ruby 2.5.1
      Puppet from github at 293b87447ff955bb4c866b5b0eda3a23e5901ff2

    • Template:
      PUP Bug Template
    • Acceptance Criteria:
      • Puppet 3 API functions should be loaded from the pluginsync location
    • Sub-team:
    • Team:
      Coremunity
    • Sprint:
      Platform Core KANBAN
    • Method Found:
      Needs Assessment
    • Release Notes:
      Bug Fix
    • Release Notes Summary:
      Hide
      Legacy Ruby Functions, also known as Version 3 Functions, will now be available from the cached lib directory. Previously only Version functions were available. Note that functions that exist in both Version 3 and Version 4, will still use the Version 4 implementation.
      Show
      Legacy Ruby Functions, also known as Version 3 Functions, will now be available from the cached lib directory. Previously only Version functions were available. Note that functions that exist in both Version 3 and Version 4, will still use the Version 4 implementation.
    • QA Risk Assessment:
      Needs Assessment

      Description

      Puppet Version: 6.3.0
      Puppet Server Version: N/A
      OS Name/Version: Windows 10 - 1803 Ruby 2.5

      Describe your issue in as much detail as possible...
      Describe steps to reproduce...

      Desired Behavior:
      Puppet 3 API functions that are plugin sync'd should be loaded from the cache libdir

      Actual Behavior:
      Puppet 3 API functions are missing

      Previously in PUP-6964 (https://github.com/puppetlabs/puppet/pull/7019) the system loader was modified to to be able to load Puppet 3 API functions;

      of note - https://github.com/puppetlabs/puppet/pull/7019/files#diff-83a8daf215ff39828e0e3758c2e5a866R34

      See how the system loader has loadables of [:func_4x, :func_3x, :datatype]

      However when the system cache loader was introduced in PUP-9035 (https://github.com/puppetlabs/puppet/commit/7404ee14745c78bd4a3173c79cac198809faea74 ) the loadables specified did not include the Puppet 3 API functions.

      of note - https://github.com/puppetlabs/puppet/pull/6963/files#diff-83a8daf215ff39828e0e3758c2e5a866R30

      See how the cache loader has loadables of [:func_4x, :datatype]

      The comment at https://github.com/puppetlabs/puppet/pull/6963/files#diff-83a8daf215ff39828e0e3758c2e5a866R22 says they should be the same but is clear they are not.

      Also note that the acceptance tests do not test for this;
      https://github.com/puppetlabs/puppet/pull/6963/files#diff-d3791ca879b2c6c0586dd8974a7bec0eR25

      That is just a Puppet 4 API location

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                glenn.sarti Glenn Sarti
                Reporter:
                glenn.sarti Glenn Sarti
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Zendesk Support