Foreman-installer --scenario katello isn't configuring Puppet certificates

Problem:

I am running into an issue where foreman-installer --scenario katello isn’t configuring Puppet certificates:

2022-06-12 17:00:41 [ERROR ] [configure] Proxy hyd-foreman01.ldi.lan has failed to load one or more features (Puppet, Puppet CA), check /var/log/foreman-proxy/proxy.log for configuration errors
2022-06-12 17:00:41 [ERROR ] [configure] /Stage[main]/Foreman_proxy::Register/Foreman_smartproxy[hyd-foreman01.ldi.lan]/features: change from ["DHCP", "DNS", "Logs", "Pulpcore", "TFTP"] to ["DHCP", "DNS", "Logs", "Pulpcore", "Puppet", "Puppet CA", "TFTP"] failed: Proxy hyd-foreman01.ldi.lan has failed to load one or more features (Puppet, Puppet CA), check /var/log/foreman-proxy/proxy.log for configuration errors

Expected outcome:

Clean install. It had worked before without any issues on Foreman 3.0 with Katello 4.2 on Rocky 8.4.

Foreman and Proxy versions and Distribution and version:

Foreman 3.2
Katello 4.4
Rocky Linux 8.6 (Green Obsidian)

Other relevant data:

# https://docs.theforeman.org/3.2/Installing_Server/index-katello.html#storage-rhel-8
$ sudo dnf clean all
$ sudo dnf -y localinstall https://yum.theforeman.org/releases/3.2/el8/x86_64/foreman-release.rpm
$ sudo dnf -y localinstall https://yum.theforeman.org/katello/4.4/katello/el8/x86_64/katello-repos-latest.rpm
$ sudo dnf -y install centos-release-ansible-29
$ sudo dnf -y localinstall https://yum.puppet.com/puppet7-release-el-8.noarch.rpm
$ sudo dnf -y module reset ruby
$ sudo dnf -y module enable ruby:2.7
$ sudo dnf config-manager --set-enabled powertools
$ sudo dnf -y module reset postgresql
$ sudo dnf -y module enable postgresql:12

# https://community.theforeman.org/t/katello-4-foreman-2-4-centos-8-4/23871
$ sudo dnf -y module enable pki-core

$ sudo dnf -y update
$ sudo dnf -y install foreman-installer-katello

# https://community.theforeman.org/t/installation-of-3-1-without-puppet-fails/26754
$ sudo groupadd puppet
$ sudo useradd -g puppet puppet

$ sudo foreman-installer \
  --scenario katello \
  --tuning default \
  --foreman-initial-organization Hydra \
  --foreman-initial-location "LDI"    \
  --foreman-initial-admin-username admin    \
  --foreman-initial-admin-password CHANGEME    \
  --enable-foreman-proxy   \
  --puppet-runinterval "3600"   \
  --foreman-proxy-puppet "true"    \
  --foreman-proxy-puppetca "true"  \
  --foreman-proxy-tftp=true   \
  --foreman-proxy-tftp-servername="172.21.14.100"  \
  --foreman-proxy-dhcp=true   \
  --foreman-proxy-dhcp-interface="eth1"   \
  --foreman-proxy-dhcp-gateway="172.21.14.1"  \
  --foreman-proxy-dhcp-nameservers="172.21.14.100"  \
  --foreman-proxy-dhcp-range="172.21.14.200 172.21.14.255"  \
  --foreman-proxy-dns=true   \
  --foreman-proxy-dns-interface="eth1"  \
  --foreman-proxy-dns-zone="ldi.lan"  \
  --foreman-proxy-dns-server="172.21.14.100" \
  --foreman-proxy-dns-reverse="14.21.172.in-addr.arpa" \
  --foreman-proxy-dns-forwarders="8.8.8.8" \
  --foreman-proxy-dns-forwarders="8.8.4.4" \
  --foreman-proxy-foreman-base-url="https://hyd-foreman01.ldi.lan"
2022-06-12 16:59:23 [NOTICE] [root] Loading installer configuration. This will take some time.
2022-06-12 16:59:27 [NOTICE] [root] Running installer with log based terminal output at level NOTICE.
2022-06-12 16:59:27 [NOTICE] [root] Use -l to set the terminal output log level to ERROR, WARN, NOTICE, INFO, or DEBUG. See --full-help for definitions.
2022-06-12 16:59:32 [NOTICE] [configure] Starting system configuration.
2022-06-12 16:59:46 [NOTICE] [configure] 250 configuration steps out of 1843 steps complete.
2022-06-12 16:59:46 [NOTICE] [configure] 500 configuration steps out of 1843 steps complete.
2022-06-12 16:59:48 [NOTICE] [configure] 750 configuration steps out of 1845 steps complete.
2022-06-12 16:59:52 [NOTICE] [configure] 1000 configuration steps out of 1855 steps complete.
2022-06-12 16:59:53 [NOTICE] [configure] 1250 configuration steps out of 1860 steps complete.
2022-06-12 17:00:28 [NOTICE] [configure] 1500 configuration steps out of 1860 steps complete.
2022-06-12 17:00:39 [NOTICE] [configure] 1750 configuration steps out of 1860 steps complete.
2022-06-12 17:00:41 [ERROR ] [configure] Proxy hyd-foreman01.ldi.lan has failed to load one or more features (Puppet, Puppet CA), check /var/log/foreman-proxy/proxy.log for configuration errors
2022-06-12 17:00:41 [ERROR ] [configure] /Stage[main]/Foreman_proxy::Register/Foreman_smartproxy[hyd-foreman01.ldi.lan]/features: change from ["DHCP", "DNS", "Logs", "Pulpcore", "TFTP"] to ["DHCP", "DNS", "Logs", "Pulpcore", "Puppet", "Puppet CA", "TFTP"] failed: Proxy hyd-foreman01.ldi.lan has failed to load one or more features (Puppet, Puppet CA), check /var/log/foreman-proxy/proxy.log for configuration errors
2022-06-12 17:00:45 [NOTICE] [configure] System configuration has finished.

  There were errors detected during install.
  Please address the errors and re-run the installer to ensure the system is properly configured.
  Failing to do so is likely to result in broken functionality.

$ sudo head /var/log/foreman-proxy/proxy.log
2022-06-12T16:34:31  [E] Disabling all modules in the group ['puppetca_http_api', 'puppetca_hostname_whitelisting', 'puppetca'] due to a failure in one of them: File at '/etc/puppetlabs/puppet/ssl/certs/ca.pem' defined in 'puppet_ssl_ca' parameter doesn't exist or is unreadable
2022-06-12T16:34:31  [W] Error details for Disabling all modules in the group ['puppetca_http_api', 'puppetca_hostname_whitelisting', 'puppetca'] due to a failure in one of them: File at '/etc/puppetlabs/puppet/ssl/certs/ca.pem' defined in 'puppet_ssl_ca' parameter doesn't exist or is unreadable: <Proxy::Error::ConfigurationError>: File at '/etc/puppetlabs/puppet/ssl/certs/ca.pem' defined in 'puppet_ssl_ca' parameter doesn't exist or is unreadable

$ sudo ls -al /etc/puppetlabs/puppet/ssl/certs/
total 8
drwxr-xr-x 2 puppet puppet 4096 Jun 12 16:15 .
drwxrwx--x 7 puppet puppet 4096 Jun 12 16:15 ..

Puppet has been exacted into a plugin. You have to enable the puppet integration if you need it: Configuring Hosts Using Puppet

2 Likes

Thanks, @gvde, this did the trick!