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"
}
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
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