Foreman stepped upgrade fail

Problem:

Upgrade Foreman 3.15 / Katello 4.17 to Foreman 3.17 / Katello 4.19

Hi all

I have a Foreman cluster of 1 master, 4 proxies. All running 3.15 / 4.17

I am now trying to upgrade to latest and have successfully upgraded the stack from 3.15/4.17 → 3.16/4.18

However unfortunately when trying to upgrade the master to the next step 3.16/4.18 → 3.17/4.19, I am receiving the below error when running foreman-installer (after upgrading the repos)

[root@foreman01 ~]# foreman-installer
2026-01-19 14:01:28 [NOTICE] [root] Loading installer configuration. This will take some time.
Puppet 7.24.0 does not meet requirements for puppetlabs-apache (>= 8.0.0 < 9.0.0)
Cannot continue due to incompatible version of Puppet. Use --skip-puppet-version-check to disable this check.
2026-01-19 14:01:31 [ERROR ] [root] Puppet 7.24.0 does not meet requirements for puppetlabs-apache (>= 8.0.0 < 9.0.0)
2026-01-19 14:01:31 [ERROR ] [root] Incompatible version of Puppet used, cannot co

Any ideas why this might be?

I have followed both sets of update notes

Upgrading Foreman to 3.16 - > worked fine

Upgrading Foreman to 3.17 - failed

For now I have had to revert the master back to pre-update snapshot and patch/upgrade it only to 3.16, same as the proxies. Would really like to get all working on 3.17, so please let me know if this is a known issue and what the workaround might be

thanks

Not sure why this did not make it into the release notes for 3.17 (or any docs at all), but the error message is pretty clear. Foreman 3.17 does not support Puppet 7 anymore, but I could not find any “official” information beyond the PR: Drop Puppet 7 support by bastelfreak · Pull Request #1043 · theforeman/foreman-installer · GitHub
There is however an existing thread on the forum with some information on how to update: Switch to puppet 8

Hmm, yeah the error looked to be that, just found it weird that it was a forced requirement all of a sudden. Would definitely add into the release notes as I can imagine I’m not the only one running Puppet 7 (I wasn’t even aware 8 was a thing with Foreman until this and have always upgraded on every other release. Surprised the upgrade to 8 isn’t baked into the full update process in this or previous versions

In case others hit this issue and don’t fancy going through other threads I’ve run the below for OEL9

dnf -y install ``https://yum.puppet.com/puppet8-release-el-9.noarch.rpm``

dnf -y --refresh update

foreman-maintain service stop foreman-installer