Affects Version/s: PUP 6.10.1
Fix Version/s: None
Template:PUP Bug Template customfield_10700 337775
Agent OS:Windows 7 (x86, x64)
Method Found:Needs Assessment
QA Risk Assessment:Needs Assessment
Puppet Version: Agent 5.5.14
Puppet Server Version: 6.7.2-1stretch
OS Name/Version: Windows 7 **
I'm not an encoding nor puppet expert, this description is what happens from my point of view:
I use a simple file resource to copy a directory test_from.zip to a windows client like this:
Unfortunately, the source contains some files with non-unicode characters in their filenames (ASCII-encoded?).
These filenames are written to state.yaml and transactionstore.yaml during the agent run.
During the next run, puppet tries to read the yaml files (in /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/yaml.rb Puppet::Util::Yaml.safe_load_file) and gives an error as shown below. This may be because safe_load_file assumes the content of the state files to be utf-8 (Puppet::(FileSystem.read(filename, :encoding => 'bom|utf-8')).
I know it is/may be mainly an issue of the wrongly encoded filenames, but maybe it is possible to make puppet a little bit more robust.
Agent run should finish without errors.
First agent run finishes without errors.
From the second run, I get this error:
Find all files with "wrong" filenames in source directory and rename them. I copied the state.yaml to a linux machine and issued something like:
Then, I renamed these files.