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

puppet

#1

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)

#2

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.


#3

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!


#4

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


#5

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.


#6

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.