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

Append "source_permissions=use" to 3.x file_metadata requests



    • Bug
    • Status: Closed
    • Normal
    • Resolution: Won't Fix
    • PUP 4.8.2
    • None
    • None
    • None
    • Coremunity
    • 1
    • Server Emerald 2015-05-27, Server Emerald 2015-06-10


      This is a clone of SERVER-684, I'm hitting the very same issue with a Debian Stretch server (4.8.2) and a Debian Jessie agent (3.7.2). After upgrading the agent to 4.8.2 as well source_permissions => use starts to work.

      The file_metadata endpoint has a query parameter called source_permissions with possible values ignore, use, or use_when_creating.

      The 3.x agent and master defaulted to use, but this changed in 4.x to ignore. In addition, 3.x agents "rely" on this default value matching on both sides and therefore don't bother specifying a value when making requests.

      This is problematic for 3.x agents talking to a 4.x master, as the default value has changed and the agent doesn't explicitly specify it. For comparison, the 4.x agents explicitly specify the value when making the request.

      This behavior will break external executable facts (they won't be executable on the agent) for 3.x agents talking to 4.x master.

      We should modify the legacy_routes_service to reconcile this difference and append source_permissions=use to file_metadata requests made to the old URLs (unless of course it's already specified, which agent 3.x agents won't).

      We already have failing acceptance tests in CI for this: https://jenkins.puppetlabs.com/job/platform_puppet-server_integration-system_no-conditional_puppet3-compat_master/18/


        Issue Links



              Unassigned Unassigned
              bernhardschmidt Bernhard Schmidt
              Erik Dasher Erik Dasher
              0 Vote for this issue
              2 Start watching this issue



                Zendesk Support