How to upgrade from RHCS 4.2z4 to 5.0z4 provided 5.1 is already GA'd
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 Name | Ceph Version | Image Tag |
|---|---|---|
| rhceph/rhceph-5-rhel8 | 5.1 | 5-167 |
| rhceph/rhceph-5-rhel8 | 5.0z4 | 5-103 |
| rhceph/rhceph-5-dashboard-rhel8 | 5.1 | 5-46 |
| rhceph/rhceph-5-dashboard-rhel8 | 5.0z4 | 5-35 |
RHCS Package Version
| Package Name | Ceph Version | Package Version |
|---|---|---|
| ceph-ansible | 5.1 | 6.0.25.4-1.el8cp |
| ceph-ansible | 5.0z4 | 6.0.20.2-1.el8cp |
| ceph-ansible | 4.2z4 | 4.0.62.8-1.el8cp |
| cephadm | 5.1 | 16.2.7-98.el8cp |
| cephadm | 5.0z4 | 16.2.0-152.el8cp |
| cephadm-ansible | 5.1 | 0.1-4.g6754c10.el8cp |
| cephadm-ansible | 5.0z4 | 0.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.
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.