When I try to get the master's fqdn for example via notify {$facts['fqdn'] :}
I will get the error Could not receive catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Empty string title at 0...
.
However, running puppet facts show | grep fqdn
or facter fqdn
works.
And my manifest is working on all other agents.
fqdn
is a legacy fact, from before the time (a good while back, now) that the standard facts were organized into a forest of "structured facts". Since the advent of structured facts, the agent always submits facts of that form with its catalog requests. It can additionally include legacy facts, and it used to default to doing this, but that default changed in Puppet 8. This is all part of a slow phase-out of the legacy facts.
Chances are very good, then, that the difference you observe is not related directly to the affected client being the one that runs on the same machine as the Puppet server. It is much more likely that this machine's relevant distinction is by being configured with its include_legacy_facts
property false (possibly by default) whereas the others are configured with that property true (also possibly by default).
Although you could fix this in Puppet's configuration, that would just be a stopgap. The legacy facts will eventually be dropped altogether, at which point you'll no longer have a choice about moving to using structured facts. This is a good opportunity to get started, by updating your manifests to reference $facts['networking']['fqdn']
where they currently reference $facts['fqdn']
.