Files
gitea-pages/admin-guide/troubleshooting/puppet.md
2024-08-08 14:17:31 +02:00

1.1 KiB

Puppet

Manually Retrieve Node Information From Puppet Server

To manually check the node information on the Puppet server for given host, do

FQDN=$(hostname --fqdn)
curl \
    --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem \
    --cert   /etc/puppetlabs/puppet/ssl/certs/$FQDN.pem \
    --key    /etc/puppetlabs/puppet/ssl/private_keys/$FQDN.pem \
    "https://puppet01.psi.ch:8140/puppet/v3/node/$FQDN?environment=prod&configured_en" \
    | jq .

PSON

Sometimes the puppet agent emits:

Info: Unable to serialize catalog to json, retrying with pson. PSON is deprecated and will be removed in a future release

These should be fixed in the puppet code as with Puppet 8 this will fail hard.

To figure out what part of the catalog is concerned, look at /opt/puppetlabs/puppet/cache/client_data/catalog/$(hostname --fqdn).json. Then search for \u which starts a binary (non-utf8) character in PSON in a way that is still valid JSON.

Please improve the Puppet code wherever such non-utf8 strings are used. Be aware that not only resources, but also arguments to profiles, classes, etc. end up in the catalog.