RHEL9 and Puppet 6 repo

Problem:

I’m trying to provision RockyLinux 9 from Foreman 3.3, and i found an issue with automated puppet install during host unattended install.

As is set in puppetlabs_repo template, for RedHat, “repo_host” variable is set to “yum.puppet.com” and for “enable-puppetlabs-puppet6-repo = true”, repo_subdir is set to “puppet6/”. That’s ok for el 5,6,7 and 8, but there is no puppet6-release-el-9.noarch.rpm in this directory.

So while installing RHEL9, puppet agent is not installed durring unattended setup because failed to fetch https://yum.puppet.com/puppet6/puppet6-release-el-9.noarch.rpm.

Does anyone have any ideas how to aproach this?

There is https://yum.puppet.com/puppet6-release-el-9.noarch.rpm .

I’m seeing similar when provisioning RHEL9 hosts where puppet setup / puppet repo setup tries to install https://yum.puppet.com/puppet7/puppet7-release-el-9.noarch.rpm when it doesn’t exist there but it does exist at https://yum.puppet.com/puppet7-release-el-9.noarch.rpm. I’m not really sure why it doesn’t exist under /puppet7 when it looks like it should. I know that’s not a foreman problem really because it probably did or should exist under /puppet7 on yum.puppet.com like the others do.

Just taking a stab at helping… In my case, where I have katello set up, I am already publishing the puppet 7 el 9 repo to RHEL 9 hosts, so I don’t really need the repo set up on the client during host registration. So, I added “enable-puppet7” as a Host Parameter to the new host during the Create Host dialog and that got me around this as well as a different problem where the host registration process was looking for puppet.conf under /etc/puppet on my RHEL 9 hosts rather than under /etc/puppetlabs/puppet. I saw an older post elsewhere where it was suggested to do similar to get it caught under the elseif aio_enabled check in puppet_setup.erb so it would look in the right place for puppet.conf. If you happen to be publishing the puppet repo to hosts anyway with katello and don’t need or want the repo installed on clients, and you just want to have the puppet-agent installed from katello, I think you could do similar by adding ‘enable-puppet6’ as a host parameter to the hosts you’re creating or as a global parameter if that fits your environment. Adding ‘enable-puppet7’ seemed to make mine work and not throw an error about the rpm not being in the right place on yum.puppet.com.