How to upgrade cluster to hotfix build using satellite in RHCS ?
Environment
- Red Hat Enterprise Linux 7.x
- Red Hat Enterprise Linux 8.x
- Red Hat Ceph Storage 3.x
- Red Hat Ceph Storage 4.x
- Red Hat Satellite Server 6.x
Issue
- Manually upgrading ceph cluster to hotfix build is cumbersome and time consuming, Is there any way to upgrade ceph cluster to hotfix build ?
Resolution
-
Satellite Setup:
- Content - Product - Create Product for Hotfixes
- Under Hotfixes Product - New Repository - don't set any sync details as we are uploading packages
- Once repo created use upload option to push the packages or rpms to the new repository
- Content - Content Views - Create content view for hotfixes, under repos enable the hotfix repository created earlier
- HotFix Specific - Create Composite Content View with existing RHEL8 content view(with GA ceph repos) + the hotfix content view
- Hosts - Content Hosts - Select hosts to work with(registered against satellite) - From actions choose subscriptions and allocated subs for the Product created earlier
- Hosts - Content Hosts - Selects hosts - From actions ensure they are allocated to the appropriate content view
- If the hosts are not present in the dropdown list of 'select hosts' then register a content host
To register a content host follow these steps on the specific node: Install the pre-built bootstrap RPM substitute your appropriate <satellite-server-name> # curl --insecure --output katello-ca-consumer-latest.noarch.rpm https://satellite-server-name/pub/katello-ca-consumer-latest.noarch.rpm # yum localinstall katello-ca-consumer-latest.noarch.rpm Register using subscription-manager: Using an Activation Key: # subscription-manager register --org="Your-Org-name" --activationkey="Activation Key Name"
-
Verify hotfix repo is being listed on ceph node
# yum repolist
-
Run ceph-ansible upgrade playbook
# ansible-playbook -i <inventory-file> infrastructure-playbooks/rolling_update.yml
Diagnostic Steps
On the Satellite Server GUI Dashboard - After creating the Content - Product for hotfix and following the creation of the new repository and uploading the rpm packages to the repository. Create the content view and thereafter select or register the content hosts.
- Check connectivity to the Satellite server and install the pre-built bootstrap rpm:
[quicklab@mgmt-0 ~]$ ping <satellite-server-name>
PING wallsat69.usersys.redhat.com (10.8.29.202) 56(84) bytes of data.
64 bytes from dhcp-xxx.yyy.zzz.com (10.x.2y.zzz): icmp_seq=1 ttl=57 time=214 ms
64 bytes from dhcp-xxx.yyy.zzz.com (10.x.2y.zzz): icmp_seq=1 ttl=57 time=214 ms
[root@mgmt-0 ~]# curl --insecure --output katello-ca-consumer-latest.noarch.rpm https://wallsat69.usersys.redhat.com/pub/katello-ca-consumer-latest.noarch.rpm
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 8592 100 8592 0 0 9169 0 --:--:-- --:--:-- --:--:-- 9159
[root@mgmt-0 ~]#
- Register using subscription-manager, using activation Key:
[root@mgmt-0 ~]# subscription-manager register --org="<Your-Org-Name>" --activationkey="your_activation_key"
The system has been registered with ID: c50cc8ca-fe4a-4060-9059-86cc8cc07d7e
The registered system name is: mgmt-0.rhm84cephcluster02.lab.pnq2.cee.redhat.com
Installed Product Current Status:
Product Name: Red Hat Ansible Engine
Status: Subscribed
Product Name: Red Hat Enterprise Linux for x86_64
Status: Subscribed
[root@mgmt-0 ~]#
-
After the above step, go back to the Satellite Server dashboard to view - Hosts => Content Hosts drop list
And check for the content host that was registered, if succesfully done it should be listed in the list of hosts on Satellite Server -
After the content host is registered with satellite server, check the repolist for the Hotfix repo hosted on satellite server
[root@mgmt-0 ~]# yum repolist
Updating Subscription Management repositories.
repo id repo name
RedHat_Hotfix_build_ceph_ceph-hotfix ceph-hotfix <<
rhel-8-for-x86_64-appstream-rpms Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
rhel-8-for-x86_64-baseos-rpms Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)
[root@mgmt-0 ~]#
- Listing of the hotfix repo list from the registered content host
[root@mgmt-0 ~]# yum repolist -v
Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, groups-manager, needs-restarting, playground, product-id, repoclosure, repodiff, repograph, repomanage, reposync, subscription-manager, uploadprofile, versionlock
Updating Subscription Management repositories.
YUM version: 4.4.2
cachedir: /var/cache/dnf
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) 1.1 kB/s | 2.1 kB 00:01
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) 1.1 kB/s | 2.1 kB 00:01
ceph-hotfix 1.1 kB/s | 2.1 kB 00:01
Repo-id : RedHat_Hotfix_build_ceph_ceph-hotfix
Repo-name : ceph-hotfix << hotfix custom repo on satellite server
Repo-revision : 1639985859
Repo-updated : Mon 20 Dec 2021 02:37:41 AM EST
Repo-pkgs : 32 << the number of rpms added in the hotfix build
Repo-available-pkgs: 32
Repo-size : 127 M
Repo-baseurl : https://wallsat69.usersys.redhat.com/pulp/repos/RedHat/Library/custom/Hotfix_build_ceph/ceph-hotfix
Repo-expire : 1 second(s) (last: Mon 20 Dec 2021 11:00:59 PM EST)
Repo-filename : /etc/yum.repos.d/redhat.repo
Repo-id : rhel-8-for-x86_64-appstream-rpms
Repo-name : Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
Repo-revision : 1638586965
Repo-updated : Fri 03 Dec 2021 10:02:45 PM EST
Repo-pkgs : 0
Repo-available-pkgs: 0
Repo-size : 0
Repo-baseurl : https://wallsat69.usersys.redhat.com/pulp/repos/RedHat/Library/content/dist/rhel8/8/x86_64/appstream/os
Repo-expire : 1 second(s) (last: Mon 20 Dec 2021 11:00:49 PM EST)
Repo-filename : /etc/yum.repos.d/redhat.repo
Repo-id : rhel-8-for-x86_64-baseos-rpms
Repo-name : Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)
Repo-revision : 1638586966
Repo-updated : Fri 03 Dec 2021 10:02:46 PM EST
Repo-pkgs : 0
Repo-available-pkgs: 0
Repo-size : 0
Repo-baseurl : https://wallsat69.usersys.redhat.com/pulp/repos/RedHat/Library/content/dist/rhel8/8/x86_64/baseos/os
Repo-expire : 1 second(s) (last: Mon 20 Dec 2021 11:00:54 PM EST)
Repo-filename : /etc/yum.repos.d/redhat.repo
Total packages: 32
[root@mgmt-0 ~]#
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.
Comments