Upgrading ceph - migrating from docker hub

Many vendors are moving container registries away from docker hub. One of them is ceph. This means: Recent container images are no longer published via docker hub and will prevent you from upgrading using cephadm if your installation is still pointing to docker hub.

Issue: failed to pull target image

Trying to upgrade you might notice that the ceph version you want to upgrade to is unavailable.

# trigger update
ceph orch upgrade start --ceph-version 15.2.8
Initiating upgrade to quay.io/ceph/ceph:v15.2.8

# check status
ceph orch upgrade status
{
    "target_image": "quay.io/repository/ceph/ceph:v15.2.15",
    "in_progress": true,
    "services_complete": [],
    "message": "Error: UPGRADE_FAILED_PULL: Upgrade: failed to pull target image"
}
upgrade failed

This occurs because the base image is no longer present on docker hub, as stated above.

Fix: set container image base

The solution is straight forward: just set the image base using ceph config and start the upgrade.

ceph config set mgr mgr/cephadm/container_image_base quay.io/ceph/ceph
set container_image_base

This will effectively apply quay.io/ceph/ceph as image base.

Upgrading can then be started easily using this command:

ceph orch upgrade start --ceph-version 15.2.15
start ceph upgrade