How to upgrade from RHCS 4.2z4 to 5.0z4 provided 5.1 is already GA'd

Solution Verified - Updated

Environment

Red Hat Ceph Storage

  • RHCS 4.2z4
  • RHCS 5.0z4

Issue

  • RGW MultiSite is not available with RHCS 5.1.
  • Any MultiSite customer who wants to upgrade from 4.2z4 to 5.0z4, they have to update few packages like ceph-ansible, cephadm, cephadm-ansible.
  • Since RHCS 5.1 is already GA'd, updating those packages will pull the latest versions. However we need to manually downgrade the version needed for 5.0z4.
  • Similarly, for 5.0z4 fresh install, make sure to install a compatible version of cephadm-ansible and cephadm package. This is needed because in RHCS 5.1, cephadm bootstrap command has to run with ''--yes-i-know" flag.
  • This article will document a few steps to be remembered while following the Installation Guide in order to upgrade to RHCS 5.0z4 so that customer doesn't need to worry about extra flags.

Resolution

RHCS Image Tag
Image NameCeph VersionImage Tag
rhceph/rhceph-5-rhel85.15-167
rhceph/rhceph-5-rhel85.0z45-103
rhceph/rhceph-5-dashboard-rhel85.15-46
rhceph/rhceph-5-dashboard-rhel85.0z45-35
RHCS Package Version
Package NameCeph VersionPackage Version
ceph-ansible5.16.0.25.4-1.el8cp
ceph-ansible5.0z46.0.20.2-1.el8cp
ceph-ansible4.2z44.0.62.8-1.el8cp
cephadm5.116.2.7-98.el8cp
cephadm5.0z416.2.0-152.el8cp
cephadm-ansible5.10.1-4.g6754c10.el8cp
cephadm-ansible5.0z40.1-3.gf273ce6.el8cp

Upgrade from 4.2z4 to 5.0z4

1. Use compatible ceph-ansible package and proper image tagging for 5.0z4

Section 4.10 -> Procedure -> Point 2
Install ceph-ansible package compatible for 5.0z4 else it will install the latest version.

$ dnf install ceph-ansible-6.0.20.2-1.el8cp --disablerepo="*" --enablerepo="rhceph-5-tools-for-rhel-8-x86_64-rpms"

Section 4.10 -> Procedure -> Point 6
When upgrading to 5.0z4, make sure of using correct tag for container images

ceph_docker_image_tag: "5-103"
grafana_container_image: registry.redhat.io/rhceph/rhceph-5-dashboard-rhel8:5-35
2. Downgrade cephadm package

Section 4.11
Before running the cephadm-adopt.yml playbook, make sure that "rhceph-5-tools-for-rhel-8-x86_64-rpms" is updated for all nodes manually. [Due to a playbook bug This content is not included.BZ 2073480, the repo is not added by cephadm-adopt.yml for OSD nodes. Hence we need to make sure it’s manually added.]
Once the playbook is successfully executed, make sure to downgrade the cephadm version compatible for 5.0z4.

From the ansible node,

$ cd /usr/share/ceph-ansible/
$ ansible all -i hosts -m command -a "sudo dnf downgrade -y cephadm-16.2.0-152.el8cp"
3. Use compatible cephadm-ansible package for 5.0z4

Section 4.12
Install cephadm-ansible package compatible for RHCS 5.0z4

$ dnf install cephadm-ansible-0.1-3.gf273ce6.el8cp

RHCS 5.0z4 Fresh Install

1. Use compatible cephadm-ansible package for 5.0z4

Section 3.5 -> Procedure -> Point 11 (ii)
Install cephadm-ansible package compatible for RHCS 5.0z4

$ dnf install cephadm-ansible-0.1-3.gf273ce6.el8cp
2. Downgrade the cephadm package after preflight install and before bootstrapping the cluster

Section 3.9
Cephadm-preflight.yml playbook always installs the latest cephadm packages on all nodes. We have to make sure of using compatible version of cephadm package for 5.0z4. It will make sure cephadm doesn't need any extra flags during bootstrapping.

From the bootstrap node,

$ cd /usr/share/cephadm-ansible/
$ ansible all -i hosts -m command -a "sudo dnf downgrade -y cephadm-16.2.0-152.el8cp"

NOTE:

When adding any new OSD/MGR/MON nodes, make sure to downgrade cephadm version after running cephadm-preflight.yml.

SBR
Category

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.