Support for the PSON (Pure JSON) serialization format has been removed.
Puppet agents may fail if binary data is accidentally added to the
catalog without using the Binary data type or binary_file function.
For more information visit
https://www.puppet.com/docs/puppet/latest/lang_data_binary.html.
It is possible, but not recommended, to re-enable PSON support by
installing the puppet-pson gem on all agents and server hosts and
setting preferred_serialization_format=pson in puppet.conf on each
agent.
Evaluation
Puppet 7 defaults to json for serialization, but falls back to pson when
binary data is present, unfortunately this is occurring on many of nodes:
while IFS= read -r host; do
if curl -s \
-X GET localhost:8080/pdb/query/v4 \
-d 'query=reports { certname = '"'${host}'"' and latest_report? = true }' |
jq . |
grep -q pson; then
echo $host
fi
done < <(curl -s -X GET http://localhost:8080/pdb/query/v4 --data-urlencode "query=nodes[certname] {}" | jq -r '.[].certname')Sample hosts based on roles:
- modules/profile/manifests/kerberos/keytabs.pp:36
- Hosts: an-airflow1002.eqiad.wmnet
- modules/aptrepo/manifests/common.pp:58
- Hosts: apt1002.wikimedia.org
- modules/profile/manifests/base/cuminunpriv.pp:23
- Hosts: apt1002.wikimedia.org
- modules/profile/manifests/dns/auth/config.pp:91
- Hosts: dns1004.wikimedia.org
- modules/gerrit/manifests/init.pp:245
- Hosts: gerrit1003.wikimedia.org
- modules/apereo_cas/manifests/init.pp:208
- Hosts: idp1004.wikimedia.org
For these nodes we will need to ascertain where binary data
is being used and wrap the binary data in Puppet's Binary
type.
In addition we use the to_pson function in a few
erb files to serialize data structures, these will
need to be replaced.
- modules/tcpircbot/templates/tcpircbot.json.erb:4
- Hosts: alert1001.wikimedia.org
- modules/librenms/templates/config.php.erb:11
- Hosts: netmon1003.wikimedia.org
- modules/httpd/templates/env.conf.erb:3
- Hosts: mwdebug2001.codfw.wmnet
Unfortunately, pson serialization cannot be disabled on bookworm's Puppet 7.23. A flag to disable
pson was added to 7.25, if that version is packaged then we can flip the flag, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1081696