Details
-
Bug
-
Status: Closed
-
Normal
-
Resolution: Won't Fix
-
PUP 3.6.0
-
None
-
3
-
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
- relates to
-
PUP-1208 md5lite, mtime not honoured for file type/provider
-
- Closed
-
-
PUP-2795 `digest_algorithm` mismatch between Puppet master and agent breaks file idempotency
-
- Closed
-
-
PUP-1840 Let user change hashing algorithm, to avoid crashing on FIPS-compliant hosts
-
- Closed
-
-
PUP-2427 Pluginsync will download every file every time if digest_algorithms do not agree
-
- Closed
-