Chapter 8. Upgrading Red Hat Satellite Server and Capsule Server

The Satellite Server and Capsule Servers are upgraded independently. Upgrade the Satellite server first, and then upgrade any Capsules. Satellite 6.0 Capsules are not compatible with Satellite 6.1, and must be upgraded before attempting to synchronize any repositories. You must also manually upgrade Satellite clients to the new version of katello-agent after upgrading the Server and Capsules.

Important

The Red Hat Satellite server and Capsule server versions must match. For example, a Satellite 6.0 server cannot run a 6.1 Capsule server and a Satellite 6.1 server cannot run a 6.0 Capsule server. Mismatching Satellite server and Capsule server versions will result in the Capsule server failing silently.
Supported upgrade paths for Satellite 6.1 GA:
  • Satellite 6.0 to Satellite 6.1
  • Satellite 6.1 Public Beta (non-production) to Satellite 6.1 GA

Important

Upgrading from Satellite 6.1 Public Beta in a production environment to Satellite 6.1 is not supported.
The following conditions must be met before upgrading Red Hat Satellite 6:
  • Verify that the Satellite has the 6.1 satellite-tools and capsule repositories fully synchronized and available to update the Satellite Capsule servers to the latest upgrade package versions.
  • Ensure that the existing Content Views are updated to include the newly synchronized repositories. If you use Activation Keys for content host registration, ensure that your Activation Key is updated with the newly synchronized repositories. If you created a new Content View for these repositories, include this Content View in the Activation Key. See the Red Hat Satellite 6.1 User Guide [10] for more information on Activation Keys.
  • Refresh subscriptions to include the newly synchronized repositories both on Capsules and Hosts.
  • In the Satellite web UI, navigate to MonitorTasks and check for running tasks. It is recommended that you wait for the tasks to complete. It is possible to cancel some tasks, but you should follow the guidance in the Red Hat Knowledgebase solution How to manage paused tasks on Red Hat Satellite 6 to understand which tasks are safe to cancel and which are not safe to cancel.

8.1. Upgrading Red Hat Satellite

This section shows how to upgrade Red Hat Satellite from version 6.0 or 6.1 Public Beta (non-production) to 6.1.

Prerequisites

Upgrade to the latest minor version of Red Hat Satellite 6.0 before proceeding. Direct upgrade to 6.1 from earlier minor versions is not supported.
The Red Hat Satellite 6.1 release requires the Red Hat Satellite 6.1 Tools repository to be available in the subscription manifest. This repository provides the katello-agent and puppet-agent packages for clients registered to the Satellite Server. Ensure the required repositories are enabled by following the procedure below to update the subscription manifest. Remove any that are no longer required.

Procedure 8.1. Updating the Subscription Manifest

This procedure describes updating the subscription manifest.
  1. Navigate to https://access.redhat.com and click SUBSCRIPTIONS on the main menu at the top of the page.
  2. Scroll down to the Red Hat Subscription Management section, and click Satellite under Subscription Management Applications.
  3. Click the name of the system this manifest is associated to, and click Attach a subscription.
  4. For each subscription that you want to attach, select the check box for that subscription, and specify the quantity of subscriptions to attach.
  5. Click Attach Selected. It can take several minutes for all the subscriptions to attach. Refresh the screen every few minutes until you receive confirmation that the subscriptions are attached.
  6. After the subscriptions have been attached, click Download Manifest to generate an archive in .zip format containing the manifest for Red Hat Satellite and save the manifest file to a known location.
  7. Upload the updated manifest to the Red Hat Satellite Server.
    1. Log in to the Satellite server.
    2. In the top left corner menu, select the organization that you want to associate with the subscription manifest.
    3. Click ContentRed Hat Subscriptions and then click Manage Manifest at the upper right of the page.
    4. In the Subscription Manifest section, click Actions and under the Upload New Manifest subsection, click Browse.
    5. Select the manifest file to upload, and then click Upload.

Procedure 8.2. Upgrading Red Hat Satellite

  1. If the Satellite server is running on a virtual machine, take a snapshot prior to upgrading. Otherwise, run katello-service stop and create a backup of the relevant databases. See How to generate database backup for Red Hat Satellite 6.0 for instructions on backing up your databases.
  2. Update the operating system:
    # yum update
    
  3. Disable the repositories for the previous version of Satellite.
    • If upgrading from Satellite 6.0 on Red Hat Enterprise Linux 7:
      # subscription-manager repos --disable rhel-7-server-satellite-6.0-rpms
    • If upgrading from Satellite 6.1 Beta on Red Hat Enterprise Linux 7:
      # subscription-manager repos --disable rhel-server-7-satellite-6-beta-rpms
    • If upgrading from Satellite 6.0 on Red Hat Enterprise Linux 6:
      # subscription-manager repos --disable rhel-6-server-satellite-6.0-rpms
    • If upgrading from Satellite 6.1 Beta on Red Hat Enterprise Linux 6:
      # subscription-manager repos --disable rhel-server-6-satellite-6-beta-rpms
  4. Enable the new repositories.
    • On Red Hat Enterprise Linux 7:
      # subscription-manager repos --enable rhel-7-server-satellite-6.1-rpms
    • On Red Hat Enterprise Linux 6:
      # subscription-manager repos --enable rhel-6-server-satellite-6.1-rpms
  5. If there are discovered hosts available, turn them off and delete all entries under the Discovered hosts page.
  6. Stop services:
    # katello-service stop
    output omitted
     Success!
    Wait for the command to complete. If required, confirm services have stopped:
    # katello-service status
    mongod is stopped
    qdrouterd is stopped
    qpidd is stopped
    celery init v10.0.
    Using configuration: /etc/default/pulp_workers, /etc/default/pulp_celerybeat
    pulp_celerybeat is stopped.
    elasticsearch is stopped
    celery init v10.0.
    Using config script: /etc/default/pulp_resource_manager
    node resource_manager is stopped...
    foreman-proxy is stopped
    tomcat6 is stopped                                     [  OK  ]
    output truncated
    Restart the Mongo database as it is required for upgrading the Pulp database:
    # service-wait mongod start
  7. Clear the repository cache and update all packages:
    # yum clean all
    # yum update
    
  8. Run the installer with the --upgrade option:
    # katello-installer --upgrade
    
    If required, add the --noop option to the command and review the /var/log/katello-installer/katello-installer.log to see what changes would be applied if the --noop was omitted.

    Important

    If you have made manual edits to DNS and DHCP configuration files, they will be overwritten during the upgrade process. To avoid this, append the --capsule-dns-managed=false and --capsule-dhcp-managed=false options to the --upgrade installer command.
    The katello-installer utility will backup files that it changes and log this. For example:
    /Stage[main]/Dhcp/File[/etc/dhcp/dhcpd.conf]: Filebucketed /etc/dhcp/dhcpd.conf to puppet with sum 622d9820b8e764ab124367c68f5fa3a1
    The old file can be restored with this command:
    # puppet filebucket -l restore /etc/dhcp/dhcpd.conf 622d9820b8e764ab124367c68f5fa3a1
  9. Restart all services:
    # katello-service restart
If you are using the Discovery feature, you must also complete Section 8.3, “Upgrading the Discovery Feature”

Enabling The New Repositories

The Red Hat Satellite manifest file provides access to Red Hat products and repositories. Any new repositories must be enabled and synchronized in Red Hat Satellite Server to prepare them for use by Red Hat Satellite Capsule Servers.

Procedure 8.3. Enable New Red Hat Repositories

  1. On the main menu, click ContentRed Hat Repositories and then click the tab for the type of content that you want to enable.
  2. Click the product name for which you want to add repositories. This expands the list of available repository sets.
  3. Click each repository set from which you want to select repositories, and select the check box for each required repository. The repository is automatically enabled. After enabling a Red Hat repository, a product for this repository is automatically created. The content from this repository will be downloaded during the next synchronization.

    Important

    Ensure you enable the Satellite Tools repository. This repository provides the katello-agent and puppet-agent packages for clients registered to the Satellite Server.
  4. Start the synchronization process as described in Section 4.1.3, “Synchronizing Content”.

8.1.1. Upgrading Disconnected Satellite

This section shows how to upgrade a disconnected Red Hat Satellite instance.

Prerequisites

  • Upgrade to the latest minor version of Red Hat Satellite 6.0 before proceeding. Direct upgrade to 6.1 from earlier minor versions is not supported.
  • Run katello-service start to restart all services and update the operating system. For instructions on how to update a disconnected system see Deployment Guide[11] for Red Hat Enterprise Linux 6 or System Administrator's Guide[12] for Red Hat Enterprise Linux 7.

Procedure 8.4. Upgrading Disconnected Satellite

  1. If there are discovered hosts available, turn them off and delete all entries under the Discovered hosts page.
  2. Stop services:
    # katello-service stop
    output omitted
    Success!
    Wait for the command to complete. If required, confirm services have stopped:
    # katello-service status
    mongod is stopped
    qdrouterd is stopped
    qpidd is stopped
    celery init v10.0.
    Using configuration: /etc/default/pulp_workers, /etc/default/pulp_celerybeat
    pulp_celerybeat is stopped.
    elasticsearch is stopped
    celery init v10.0.
    Using config script: /etc/default/pulp_resource_manager
    node resource_manager is stopped...
    foreman-proxy is stopped
    tomcat6 is stopped                                     [  OK  ]
    output truncated
    Restart the Mongo database as it is required for upgrading the Pulp database:
    # service-wait mongod start
  3. Obtain the ISO file, mount it, and run the install_packages script as described in Section 2.1.2, “Downloading from a Disconnected Network”. After executing successfully, the script returns the following message:
    Upgrade is complete. Please backup your data and run katello-installer.
  4. Create a backup of the relevant databases. See How to generate database backup for Red Hat Satellite 6.0 for instructions on backing up your databases.
  5. Run the installer with the --upgrade option:
    # katello-installer --upgrade
    
    If required, add the --noop option to the command and review the /var/log/katello-installer/katello-installer.log to see what changes would be applied if the --noop was omitted.

    Important

    If you have made manual edits to DNS and DHCP configuration files, they will be overwritten during the upgrade process. To avoid this, append the --capsule-dns-managed=false and --capsule-dhcp-managed=false options to the --upgrade installer command.
    The katello-installer utility will backup files that it changes and log this. For example:
    /Stage[main]/Dhcp/File[/etc/dhcp/dhcpd.conf]: Filebucketed /etc/dhcp/dhcpd.conf to puppet with sum 622d9820b8e764ab124367c68f5fa3a1
    The old file can be restored with this command:
    # puppet filebucket -l restore /etc/dhcp/dhcpd.conf 622d9820b8e764ab124367c68f5fa3a1
  6. Restart all services:
    # katello-service restart
  7. Update the Discovery template:
    1. At the Hosts tab, select Provisioning templates.
    2. Select PXELinux global default.
    3. At the Template editor dialog box, in the Provisioning Template tab, modify the PXELinux global default template discovery menu entry. Insert the following text at the end of the template:
      LABEL discovery
      MENU LABEL Satellite 6 Discovery
      MENU DEFAULT
      KERNEL boot/fdi-image-rhel_7-vmlinuz
      APPEND initrd=boot/fdi-image-rhel_7-img rootflags=loop root=live:/fdi.iso rootfstype=auto ro rd.live.image acpi=force rd.luks=0 rd.md=0 rd.dm=0 rd.lvm=0 rd.bootif=0 rd.neednet=0 nomodeset proxy.url=https://SATELLITE_CAPSULE_URL:9090 proxy.type=proxy
      IPAPPEND 2
      
      The proxy.type option can be either proxy or foreman. For proxy, all communication goes through the Capsule. For foreman, the communication goes directly to Satellite Server, which was the behavior in Satellite 6.0.
      The proxy.url specifies the URL of the Satellite Capsule or Server. Both HTTP and HTTPS protocols are supported.