Puppet agent run generates dozens of "incorrect header check" errors

Problem:
When running Puppet agent, dozens of incorrect header checks are generated, see below. Anyhow, configuration is rendered.

Expected outcome:
Puppet catalog is rendered without any errors.

Foreman and Proxy versions:
1.17.1

Foreman and Proxy plugin versions:
bastion 6.1.8
foreman-tasks 0.11.2
foreman_docker 4.0.0
foreman_remote_execution 1.4.5
katello 3.6.0

Other relevant data:
Puppet agent run:

# puppet agent --test
Error: /File[/var/lib/puppet/lib/puppet/parser/functions/load_module_metadata.rb]/ensure: change from absent to file failed: Could not set 'file' on ensure: incorrect header check
Error: Could not set 'file' on ensure: incorrect header check
Error: Could not set 'file' on ensure: incorrect header check
Wrapped exception:
incorrect header check
...

Puppet server version:

# yum info puppetserver
Installed Packages
Name        : puppetserver
Arch        : noarch
Version     : 2.8.1
Release     : 1.el7
Size        : 41 M
Repo        : installed
From repo   : puppetlabs-pc1
Summary     : Puppet Labs - puppetserver
URL         : http://puppetlabs.com
License     : ASL 2.0
Description : Puppet Server (puppetlabs/puppetserver 2.8.1,org.clojure/clojure 1.8.0,puppetlabs/puppetserver
            : 2.8.1,puppetlabs/trapperkeeper-webserver-jetty9 1.8.1)

Was this working properly with older versions of Foreman? I’m suspecting the issue here is on the puppet side, not on the Foreman side.

Yes, it was working before. It think the issue came with Katello 3.4 or so…

What can I do to check this? Any hints?

Best wishes,
Christian!

Is there any indication of an error in /var/log/foreman/production.log during the puppet run? are there any smart parameters involved?

Hey @tbrisker!

I do not see anything related to Puppet during the run. Also checked the smart parameter configuration for the host. When changing using the UI, syntax errors are reported - but there are no syntax errors:

Best regards,
Christian.

Fixed the issue!

The solution was to replace my system’s Puppet agents (3.6.2-3 from EPEL) with the official Puppet agents from Puppetlabs PC1:

# yum localinstall http://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm
# yum update -y puppet
# killall puppet
# systemctl enable puppet ; systemctl start puppet

After re-registering my agent’s, error messages disappeared. So, even though Puppet v3 agents are still supported with Foreman/Katello and Puppet 4, it looks like EPEL’s particular version has some issues in context with Foreman/Katello.

Also blogged the upgrade process on my blog: https://cstan.io/?p=11478&lang=en

Thanks for the support! :slight_smile:

Best wishes,
Christian.

2 Likes