I have created a new Puppet module, added it to
/etc/puppetlabs/code/modules on the Foreman server, and successfully imported the module and its sole class in the Foreman UI via Configure > Puppet ENC > Classes. This matches our process for dozens of existing modules. When I add the class to a Host Group or a single Puppet client and do a Puppet run, the resources for that class are not applied and appear to be totally ignored. There aren’t any errors present during or after the Puppet run, and running with
--debug does not show the class present in the output as I’d expect. Running
hammer host puppet-classes --host <HOSTNAME> in Foreman shows the class present in the list. The Puppet code passes both
puppet parser validate and
Interestingly, copying the
modules directory to the local filesystem on the client and running
puppet apply --modulepath=/root/modules/ -e "include <MODULE_NAME>" works and applies all module resources as expected.
Successful application of all file, exec, and package resources on hosts with the class applied.
Foreman and Proxy versions:
Foreman and Proxy plugin versions:
Distribution and version:
Other relevant data:
This is being tested on clients with Oracle Linux 7, Oracle Linux 8, Ubuntu 20.04, and Ubuntu 22.04. All are experiencing the same behavior.
When class changes are made for other modules, everything works as expected.