Problem:
Puppet Server now uses JSON for facts instead of YAML, but Foreman is not importing the information.
In Puppetserver 6.20.0 support was added for a JSON fact cache and
Puppetserver 7 defaults to JSON. JSON is faster than YAML and doesn’t
have quirks like the mac address which is parsed different depending on
Ruby versions.
Yeah, I just realized how old it was. It’s been working fine except recording Fact data, but looks our version might not support importing Fact data in JSON format, though not sure.
It might be time to update Foreman on this box. Have you ever tried to upgrade Foreman in place? Any good articles you would recommend?
So long as you made any changes using foreman-installer it’s dead easy, just follow the upgrade steps in the next version up, so 1.23, then rinse and repeat until you’re up to a supported version.
Sadly you have to take every step.
If you’ve made changes outside of foreman-installer you can run it with --noop --verbose --dont-save-answers to generate a diff and work out what changes you’ve made and then work out what the correct switches were foreman-installer --full-help with show you all the parameters you can pass.
Check your /etc/puppetlabs/puppet/foreman.yaml and see what your fact_extension line says. Perhaps it would help to change it from yaml to json. Foreman is looking at the facts dir and searches for the files with a given extension. Let us know if it helps.