Greetings! I’ve been running puppet for a few years now and had looked at Foreman previously but felt I didn’t need it. I’m revisiting now, and intrigued by many of the features I find that would be quite useful in my small-ish (~75 node) environment. Currently I run a puppet server on a VM with /etc/puppetlabs/code existing as a Mercurial repository that a coworker and I push to for updates. I also run puppetdb and puppetboard, the latter of which I’d probably retire upon deploying Foreman since it would be redundant. Finally that host also houses a cobbler server and its associated tftpd, the former would also be getting replaced by Foreman.
I’ve done a test install on a separate machine to get a feel for it, and having searched the forums and documentation am looking for the best way to replace the current services on my provisioning machine with Foreman. I’m not terribly concerned with the fact histories in puppetdb, I mostly use it to gather things like SSH host keys though occasionally I do browse it for information if I had to start over with a fresh puppetdb I wouldn’t be heartbroken. And the cobbler tftp tree isn’t much concern either since all the information that feeds cobbler is in puppet currently. The big question is obviously puppetserver itself, namely how to go about installing Foreman on this machine either without disturbing the existing puppetserver, or with copying the appropriate data off and back again so I don’t have to recert all of the clients.
I’ve seen some recommendations such as installing on a separate machine and having it talk to the puppet server via the smart proxy, but since this host will be doing bare metal provisioning as well and PXEbooting, I don’t want to have to change the pxeboot information for every host in DHCP (we do not control the DHCP servers but have to request changes through another system). So the ideal would be to have it all on one host, which I know is possible, I just don’t want to clobber things if I can help it. I’m also not concerned with an outage even of a day or two (for any of the services) since we don’t provision things constantly so we can coordinate the outage to be between deployments.
OS: RHEL7
Puppet Labs puppet6 Repository baseurl=http://yum.puppet.com/puppet6/el/7/x86_64
RPMs:
puppetdb-termini-6.12.0-1.el7.noarch
puppet-agent-6.18.0-1.el7.x86_64
puppetdb-terminus-3-1.el7.noarch
puppetdb-6.12.0-1.el7.noarch
puppetserver-6.13.0-1.el7.noarch