Migrating from puppet 5 to 6 with foreman 1.23

Hello.
Did someone has already upgraded his/her foreman installation with an in place upgrade of puppet 5 to 6 ?
We have foreman installed on a vm and I’m thinking about doing an inplace upgrade to puppet 6 because foreman seems to fully support it.

But i’m not sure about the upgrade procedure /path I need to follow.

If someone has encountered the situation, i’m willing to received any help :slight_smile:

Regards
Hécate

Hi,

I have just recently done that migration on Foreman 1.22. The steps are quite simple:

  • Add the puppet6 Repositories
  • Update to the latest Puppet Server via yum/apt
  • Rerun foreman-installer
  • Done :slight_smile:

Repeat that for each Puppet Smart-Proxy server you might have and the upgrade the agent packages on your node.

A note on one problem I encountered: If you are using PuppetDB, you will have to update /etc/puppetlabs/puppetdb/conf.d/jetty.ini. There is a new config parameter named cipher-suites that needs to be set accordingly with the new config file (rpmnew file with rpm packages), otherwise puppetserver might not be able to talk to PuppetDB anymore.

Regards

I don’t have any puppetdb directory

vim /etc/puppetlabs/
code/ mcollective/ puppet/ puppetserver/ pxp-agent/

I only have :
locate puppetdb
/usr/share/foreman-installer/modules/puppetdb
/usr/share/foreman-installer/modules/foreman/manifests/plugin/puppetdb
/usr/share/foreman-installer/modules/foreman/manifests/plugin/puppetdb.pp
/usr/share/foreman-installer/modules/foreman/manifests/plugin/puppetdb/params.pp
/usr/share/foreman-installer/modules/puppetdb/CHANGELOG.md
/usr/share/foreman-installer/modules/puppetdb/LICENSE
/usr/share/foreman-installer/modules/puppetdb/NOTICE
/usr/share/foreman-installer/modules/puppetdb/README.md
/usr/share/foreman-installer/modules/puppetdb/checksums.json
/usr/share/foreman-installer/modules/puppetdb/lib
/usr/share/foreman-installer/modules/puppetdb/manifests

/usr/share/foreman-installer/modules/puppetdb/templates/routes.yaml.erb
/usr/share/foreman-installer/modules/puppetdb/types/ttl.pp

So maybe i’m not using it ?

In that case, you obviously don’t use it :wink:
It is not part of the default Foreman setup, just wanted to let you know just in case.
So you should be fine with just updating the packages and running foreman-installer again.

Woops:

Dependencies Resolved

================================================================================================================================================================================================================
 Package                                                 Arch                                          Version                                             Repository                                      Size
================================================================================================================================================================================================================
Updating:
 ansible                                                 noarch                                        2.8.5-1.el7                                         epel                                            15 M
 puppet-agent                                            x86_64                                        6.10.1-1.el7                                        puppet6                                         22 M
 puppetserver                                            noarch                                        6.7.1-1.el7                                         puppet6                                         59 M
 python36-pyvmomi                                        noarch                                        6.7.3-2.el7                                         epel                                           427 k

Transaction Summary
================================================================================================================================================================================================================
Upgrade  4 Packages

Total download size: 96 M
Is this ok [y/d/N]: y
Downloading packages:
No Presto metadata available for epel
No Presto metadata available for puppet6
(1/4): python36-pyvmomi-6.7.3-2.el7.noarch.rpm                                                                                                                                           | 427 kB  00:00:00
(2/4): ansible-2.8.5-1.el7.noarch.rpm                                                                                                                                                    |  15 MB  00:00:01
(3/4): puppet-agent-6.10.1-1.el7.x86_64.rpm                                                                                                                                              |  22 MB  00:00:03
(4/4): puppetserver-6.7.1-1.el7.noarch.rpm                                                                                                                                               |  59 MB  00:00:20
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                           4.7 MB/s |  96 MB  00:00:20
Running transaction check

...

[/etc/yum.repos.d] 12:08:30# foreman-installer --foreman-configure-epel-repo=false --foreman-configure-scl-repo=false --enable-foreman-plugin-ansible --enable-foreman-proxy-plugin-ansible --enable-foreman-plugin-remote-execution --enable-foreman-proxy-plugin-remote-execution-ssh --enable-foreman-plugin-discovery
 Could not find a suitable provider for foreman_smartproxy
Preparing installation Done
  Something went wrong! Check the log for ERROR-level output

AFTER doing this:

yum reinstall puppet-agent-oauth
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package puppet-agent-oauth.noarch 0:0.5.1-3.el7 will be reinstalled
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================================================================================================================================================
 Package                                                  Arch                                         Version                                              Repository                                     Size
================================================================================================================================================================================================================
Reinstalling:
 puppet-agent-oauth                                       noarch                                       0.5.1-3.el7                                          foreman                                        45 k

Transaction Summary
================================================================================================================================================================================================================
Reinstall  1 Package

Total download size: 45 k
Installed size: 42 k
Is this ok [y/d/N]: y

systemctl restart puppetserver.service
systemctl restart puppet.service

everything went fine:

foreman-installer --foreman-configure-epel-repo=false --foreman-configure-scl-repo=false --enable-foreman-plugin-ansible --enable-foreman-proxy-plugin-ansible --enable-foreman-plugin-remote-execution --enable-foreman-proxy-plugin-remote-execution-ssh --enable-foreman-plugin-discovery
Preparing installation Done
  Success!

  * Foreman is running at https://vp-mut-dep-902.adm.gnp.les800
      Initial credentials are admin / ndm2JdyRKsVFrTfZ
  * Foreman Proxy is running at https://vp-mut-dep-902.adm.gnp.les800:8443
  * Puppetmaster is running at port 8140
  The full log is at /var/log/foreman-installer/foreman.log

Did also this update and went well so far.

But one big problem now: If a new clients connects and want join the puppet server it appears in certificates as valid (Autosign) but is not added to the hosts overview.

Already tried reboot and foreman-installer, but did not change anything

Any idea someone?

Thanks
Rene