Chapter 3. Updating a Disconnected Satellite Server
Update your air-gapped Satellite setup where the connected Satellite Server, which synchronizes content from CDN, is air gapped from a disconnected Satellite Server, to the next minor version.
Prerequisites
- Back up your Satellite Server. For more information, see Backing Up Satellite Server and Capsule Server in Administering Red Hat Satellite.
Install
reposync
that is required for the updating procedure:# dnf install 'dnf-command(reposync)'
Procedure on the connected Satellite Server
Ensure that you have synchronized the following repositories in your connected Satellite Server:
- rhel-8-for-x86_64-baseos-rpms
- rhel-8-for-x86_64-appstream-rpms
- satellite-6.14-for-rhel-8-x86_64-rpms
- satellite-maintenance-6.14-for-rhel-8-x86_64-rpms
-
Download the debug certificate of the organization and store it locally at
/etc/pki/katello/certs/org-debug-cert.pem
or a location of your choosing. For more information, see Creating an Organization Debug Certificate in Administering Red Hat Satellite. Create a Yum configuration file under
/etc/yum.repos.d
, such assatellite-disconnected.repo
, with the following contents:[rhel-8-for-x86_64-baseos-rpms] name=Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) baseurl=_https://satellite.example.com_/pulp/content/_My_Organization_/Library/content/dist/rhel8/8/x86_64/baseos/os enabled=1 sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem sslcacert = /etc/pki/katello/certs/katello-server-ca.crt sslverify = 1 [rhel-8-for-x86_64-appstream-rpms] name=Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) baseurl=_https://satellite.example.com_/pulp/content/_My_Organization_/Library/content/dist/rhel8/8/x86_64/appstream/os enabled=1 sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem sslcacert = /etc/pki/katello/certs/katello-server-ca.crt sslverify = 1 [satellite-6.14-for-rhel-8-x86_64-rpms] name=Red Hat Satellite 6.14 for RHEL 8 RPMs x86_64 baseurl=_https://satellite.example.com_/pulp/content/_My_Organization_/Library/content/dist/layered/rhel8/x86_64/satellite/6.14/os enabled=1 sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem sslcacert = /etc/pki/katello/certs/katello-server-ca.crt sslverify = 1 [satellite-maintenance-6.14-for-rhel-8-x86_64-rpms] name=Red Hat Satellite Maintenance 6.14 for RHEL 8 RPMs x86_64 baseurl=_https://satellite.example.com_/pulp/content/_My_Organization_/Library/content/dist/layered/rhel8/x86_64/sat-maintenance/6.14/os enabled=1 sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem sslcacert = /etc/pki/katello/certs/katello-server-ca.crt sslverify = 1
In the configuration file, complete the following steps:
-
For the
sslclientcert
andsslclientkey
options, replace/etc/pki/katello/certs/org-debug-cert.pem
with the location of the downloaded organization debug certificate. -
For the
baseurl
option, replacesatellite.example.com
with the correct FQDN of your connected Satellite Server. -
For the
baseurl
option, replaceMy_Organization
with your organization label.
-
For the
Obtain the organization label:
# hammer organization list
Enter the
reposync
command:# dnf reposync \ --delete \ --disableplugin=foreman-protector \ --download-metadata \ --repoid rhel-8-for-x86_64-appstream-rpms \ --repoid rhel-8-for-x86_64-baseos-rpms \ --repoid satellite-maintenance-6.14-for-rhel-8-x86_64-rpms \ --repoid satellite-6.14-for-rhel-8-x86_64-rpms \ -n \ -p ~/Satellite-repos
This downloads the contents of the repositories from the connected Satellite Server and stores them in the directory
~/Satellite-repos
.-
Verify that the RPMs have been downloaded and the repository data directory is generated in each of the sub-directories of
~/Satellite-repos
. Archive the contents of the directory:
# tar czf Satellite-repos.tgz -C ~ Satellite-repos
-
Use the generated
Satellite-repos.tgz
file to upgrade in the disconnected Satellite Server.
Procedure on the disconnected Satellite Server
-
Copy the generated
Satellite-repos.tgz
file to your disconnected Satellite Server. Extract the archive to anywhere accessible by the
root
user. In the following example/root
is the extraction location.# tar zxf Satellite-repos.tgz -C /root
Create a Yum configuration file under
/etc/yum.repos.d
with the following repository information:[rhel-8-for-x86_64-baseos-rpms] name=Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) baseurl=file:///root/Satellite-repos/rhel-8-for-x86_64-baseos-rpms enabled=1 [rhel-8-for-x86_64-appstream-rpms] name=Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) baseurl=file:///root/Satellite-repos/rhel-8-for-x86_64-appstream-rpms enabled=1 [satellite-6.14-for-rhel-8-x86_64-rpms] name=Red Hat Satellite 6 for RHEL 8 Server RPMs x86_64 baseurl=file:///root/Satellite-repos/satellite-6.14-for-rhel-8-x86_64-rpms enabled=1 [satellite-maintenance-6.14-for-rhel-8-x86_64-rpms] name=Red Hat Satellite Maintenance 6 for RHEL 8 Server RPMs x86_64 baseurl=file:///root/Satellite-repos/satellite-maintenance-6.14-for-rhel-8-x86_64-rpms enabled=1
-
In the configuration file, replace the
/root/Satellite-repos
with the extracted location. Check the available versions to confirm the next minor version is listed:
# satellite-maintain upgrade list-versions
Use the health check option to determine if the system is ready for upgrade. On first use of this command,
satellite-maintain
prompts you to enter the hammer admin user credentials and saves them in the/etc/foreman-maintain/foreman-maintain-hammer.yml
file.# satellite-maintain upgrade check \ --target-version 6.14.z \ --whitelist="check-upstream-repository,repositories-validate"
- Review the results and address any highlighted error conditions before performing the upgrade.
Due to the lengthy update time, use a utility such as
tmux
to suspend and reattach a communication session. You can then check the upgrade progress without staying connected to the command shell continuously.If you lose connection to the command shell where the upgrade command is running, you can see the logged messages in the
/var/log/foreman-installer/satellite.log
file to check if the process completed successfully.Perform the upgrade:
# satellite-maintain upgrade run \ --target-version 6.14.z \ --whitelist="check-upstream-repository,repositories-setup,repositories-validate"
Determine if the system needs a reboot:
# dnf needs-restarting --reboothint
If the previous command told you to reboot, then reboot the system:
# reboot
Additional resources
- To restore the backup of the Satellite Server or Capsule Server, see Restoring Satellite Server or Capsule Server from a Backup