Katello/Foreman minor version updates

Could someone maybe clarify and possibly update the katello docs on the policy for updates?

I know the katello upgrade page, e.g. when upgrading from 3.16 to 3.17. You update foreman 2.1 to 2.2 and katello 3.16 to 3.17 in one step.

But what about the updates within this version?

I have Katello 3.17 and Foreman 2.2.0. Now updates to Foreman 2.2.1 are in the repositories.

Can I safely update or do I have to wait for a “matching” Katello 3.17.1 update?

If I updated to Foreman 2.2.1, do I have to run the upgrade_check and the foreman-installer again or not?

If I updated to Foreman 2.2.1 on a content proxy, do I have to regenerate certificates and run the foreman-installer again or not?

Same questions, if there was an update to Katello 3.17.1. Do I have to go through the whole upgrade procedure again or do I simply update the RPMs?

Looking at the current katello installation and upgrade docs it doesn’t say anything about disabling the foreman/katello repositories after installation, thus I would conclude that it’s safe to update those RPMs just like any other and that they doesn’t require any special attention.

However, considering how many depending services are running on a foreman server, I kind of doubt that’s a safe assumption. I think it would be good if documentation could be more clear on this.

What we publish into our repositories should be safe to upgrade. These changes are usually minor bugfixes, enhancemens or security workarounds. We try to avoid any database migrations in these updates as well, but from time to time they appear.

Having that said, a minor update is an update, you should do backups. Preferably run your deployment in a VM and do snapshot prior updating. The usual stuff, you know the drill.

Good luck!

And in regard to the foreman installer, unless you performed some customizations you should run the installer after all updates. Most of the time, it will perform zero changes to your system as this is puppet-based. Again, I would do a snapshot just in case someone made a mistake.