I have inherited an old build of Foreman and Puppet which I plan to upgrade, and wonder if anyone has any experience or advice for the best way to proceed? The Foreman installation isn’t used for bare metal builds and acts as a graphical frontend for systems management and facter reporting, there also appear to be some custom parameters which have been added in the past so I imagine there may be all sorts of undocumented horrors yet to be discovered.
I’m not very experienced with Puppet but am aware that the existing scripts may cause a headache during migration, so am considering building a concurrent Foreman 3.8 installation on RHEL9 with a view to importing Puppet code piecemeal to ensure it works with Puppet 7.
Not looking for hand holding, just curious how others may have done it, or if there are any tools to assist in such a migration?
Thanks for any advice,
We have had to do this somewhat recently and created a new foreman host and imported the code and let it do a puppet run on a test host to see what broke and corrected it from there.
Hi and welcome to the forum
First off: Foreman is currently not supported on RHEL9 (due to various version dependencies), so you will have to settle with RHEL8 for now. There is a lot on that topic in Path to Ruby 3.0, 3.1, EL9 and Ubuntu 22.04 in case you are interested.
Otherwise: Afaik there are no tools to assist in such a migration. Depending on what you are comfortable with, you might find success with hammer, the API, ansible with the foreman-ansible-modules or maybe even copying things from hand. On the plus side, the changes from Puppet 5 to Puppet 7 have not been that major, so I would expect most things to just work out of the box.
Thanks both for the replies, yeah going to bite the bullet and build another system to migrate clients onto. No doubt will raise more queries when I get going, might hang on a little while in case RHEL9 compatibility becomes a thing fairly soon to buy a few more years of service.