[ACTION REQUIRED] For Pulp OCI-Image users on a supported version tag

What is happening

On Tuesday, March 24 we are going to be merging changes in the supported branches of the Pulp OCI-images (pulp/pulp & pulp/pulp-minimal), 3.49, 3.63, 3.73, 3.85, that will require running downmigration commands before pulling the latest tags for these versions.

Background

In Pulp we have a select number of supported branches that we will perform backports and releases for bugfixes. The supported branches of pulpcore [0] become the versions of our OCI-images that we publish on a nightly basis. However, on these supported images there were no constraints on the versions the plugins were allowed to install. Thus these images contain plugins that installed non-supported versions preventing them from receiving the latest fixes.

The problem

We are introducing new changes to our image build pipeline to try (when possible) to restrict the installed plugins to their latest compatible supported version. [1] This means for some of our current released images the plugins installed are going to downgrade to a lower version. Since newer versions will sometimes contain newer migrations this downgrade will require users to run downmigration commands right before switching to the newer image.

What to do

For each supported image, run the commands in the table for each plugin that is downgrading.

3.85

Plugin Version Change Command
RPM 3.34.Z → 3.32.Z docker exec pulp bash -c "pulpcore-manager migrate rpm 0065"

3.73

Plugin Version Change Command
Ansible 0.27 → 0.25 docker exec pulp bash -c "pulpcore-manager migrate ansible 0059"
Container 2.25 → 2.24 docker exec pulp bash -c "pulpcore-manager migrate container 0045"
Python 3.17 → 3.13 docker exec pulp bash -c "pulpcore-manager migrate python 0013"

3.63

Plugin Version Change Command
Ansible 0.27 → 0.25 docker exec pulp bash -c "pulpcore-manager migrate ansible 0059"
Container 2.23 → 2.22 docker exec pulp bash -c "pulpcore-manager migrate container 0043"
Python 3.17 → 3.13 docker exec pulp bash -c "pulpcore-manager migrate python 0013"

3.49

Plugin Version Change Command
Ansible 0.26 → 0.25 docker exec pulp bash -c "pulpcore-manager migrate ansible 0059"
Container 2.23 → 2.22 docker exec pulp bash -c "pulpcore-manager migrate container 0043"
Python 3.17 → 3.13 docker exec pulp bash -c "pulpcore-manager migrate python 0013"

After running all the downmigrate commands you can then pull in the latest version tag and restart the container. Note that this should be a one time occurance as we make the switch. Upgrades afterwards will go back to normal.

Alternatives

If you don’t want to downgrade your plugin versions or have come to rely on a new feature in the later version there are two main options available. One, upgrade to a later supported version. We just added 3.105 as our latest supported version which currently contains all the latest version of the plugins. Two, build your own custom image [2] with the plugin versions you want. Note we only recommend this route for advance users that are comfortable managing their installed versions and any fixes they require.

Thanks for your understanding.

[0] https://github.com/pulp/pulpcore/blob/main/template_config.yml#L130-L136
[1] https://github.com/pulp/pulp-oci-images/issues/793
[2] Build your own Pulp image - Pulp Project