Upgrade Foreman 1.8.3 to 1.23.1

Problem:
Need to upgrade our Foreman Server running 1.8.3 to Foreman 1.23.1 which is running on a second
Server. Because we need to connect these servers with a proxy, they must run the same version if I
understood correctly.

Expected outcome:
Best would be a way I can go to update our Foreman Server

Foreman and Proxy versions:
1.8.3 and 1.23.1
Foreman and Proxy plugin versions:

Distribution and version:

Other relevant data:

I’m not sure I understand exactly what you mean, how are you planning to connect two servers with a proxy? what are you trying to achieve?

In any case, you will need to upgrade your server one version at a time, following the upgrade instructions in the Foreman manuals starting with 1.9 while making sure to read the release notes and upgrade warning for each versions, as much has changed since 1.8.
The other option, which considering the number of versions might be easier, is to install a new foreman server and migrate all of your configuration and hosts to it manually.

Keep in mind that Foreman 1.23 is also unsupported by now, and you should plan to upgrade both your servers to a supported version - currently the latest version is 2.0, with 2.1 coming out within a few weeks.

!! I’m not sure I understand exactly what you mean, how are you planning to connect two servers with a
!! proxy? what are you trying to achieve?

Sorry, we have a foreman server where we use puppet 3 and on where we use puppet 6. Because of that we connect from the foreman 1.23.1 Server with puppet 6 with a soft-proxy to the other server running foreman 1.8.3.

Anyway, if you say the better way would be migrate all configuration and hosts to a new server instead of upgrade, does you mean installing the latest foreman running postgres as database and migrate the database only or are there othe thing which must be done ? As we are using kvm it should be enough to create a clone from the old vm, on the clone remove the foreman installation but without the database and install the new foreman server. If this is done, I can migrate the mssql db to postgres. But I’m not really sure if this is all I need to do. Isn’t it ?
Thanks and best regards
Thorsten

Sorry, we have a foreman server where we use puppet 3 and on where we use puppet 6. Because of that we connect from the foreman 1.23.1 Server with puppet 6 with a soft-proxy to the other server running foreman 1.8.3.

I’m still not sure I understand what exactly you are doing and how you are connecting the two foreman servers to each other. There isn’t a supported or tested way of having two different foreman servers interacting with each other.
In any case, Puppet 3 is no longer supported, not by Foreman and not by Puppetlabs themselves. If you have hosts which still must use puppet 3, you’ll be stuck on an old version - I believe that the last version of Foreman to have support for puppet 3.8 was 1.19. I would highly recommend upgrading any such hosts to newer versions of puppet, Puppet 3 has been EOL for almost four years now so it is not receiving any security updates.

No, you will need to recreate all of your configuration manually if you go this path - there have been many changes in the database structure since 1.8.3 was released five years ago and the database will not be compatible. You might be able to run migrations on the new database but more likely than not they will fail since we don’t test upgrading more than one version at a time.

mssql has never been a supported database. You might want to migrate to postgres in any case, since it is the only supported database starting with version 2.0. You can find instructions for migration from mysql to posgres in the manual. They may or may not work for mssql - since we never supported it, we do not test this migration path.