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

Filebucket server should warn, not fail, if checksum type is not supported

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Normal
    • Resolution: Won't Fix
    • Affects Version/s: PUP 3.6.0
    • Fix Version/s: PUP 3.7.0
    • Component/s: Networking
    • Labels:
      None
    • Template:
    • Story Points:
      3
    • Sprint:
      Week 2014-6-11 to 2014-6-18

      Description

      PUP-1840 allows users to specify the digest algorithm to use for file bucketing and the file checksum parameter. However, if you reconfigure the master to use SHA256:

      [main]
      digest_algorithm=sha256
      

      Then it will reject file bucket requests from agents that haven't switched over:

      # puppet agent -td
      ...
      Error: /Stage[main]/Main/File[/tmp/foo]/content: change from {md5}ad8d557625a565312d6998496a357b7b to {md5}5d41402abc4b2a76b9719d911017c592 failed: Could not back up /tmp/foo: Error 400 on SERVER: Bad Request
      

      Specifically, if you are using puppet to manage its own puppet.conf, then the agent will try to file bucket the old puppet.conf before overwriting it. Since it's using the old digest algorithm, it will fail the catalog run, without making the change.

      The workaround is to disable filebuckets globally, then apply the digest_algorithm change.

      To provide an upgrade path, the master should warn if it receives a file bucket request for a checksum type it doesn't support, and ignore the request.

        Attachments

          Issue Links

            Activity

              jsd-sla-details-panel

                People

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

                  Dates

                  • Created:
                    Updated:
                    Resolved: