How to upgrade cluster to hotfix build using satellite in RHCS ?

Solution In Progress - Updated -

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

  1. 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" 
    
  2. Verify hotfix repo is being listed on ceph node

    # yum repolist
    
  3. 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