Chapter 2. Preparing for a minor update

You must follow some preparation steps on the undercloud and overcoud before you begin the process to update Red Hat OpenStack Platform 16.0 to the latest minor release.

2.1. Locking the environment to a Red Hat Enterprise Linux release

Red Hat OpenStack Platform 16.0 is supported on Red Hat Enterprise Linux 8.1. Prior to performing the update, lock the undercloud and overcloud repositories to the Red Hat Enterprise Linux 8.1 release to avoid upgrading the operating system to a newer minor release.

Procedure

  1. Log into the undercloud as the stack user.
  2. Source the stackrc file:

    $ source ~/stackrc
  3. Create a static inventory file of your overcloud:

    $ tripleo-ansible-inventory --ansible_ssh_user heat-admin --static-yaml-inventory ~/inventory.yaml

    If you use an overcloud name different to the default overcloud name of overcloud, set the name of your overcloud with the --plan option.

  4. Create a playbook that contains a task to lock the operating system version to Red Hat Enterprise Linux 8.1 on all nodes:

    $ cat > ~/set_release.yaml <<'EOF'
    - hosts: overcloud,undercloud
      gather_facts: false
      tasks:
        - name: set release to 8.1
          command: subscription-manager release --set=8.1
          become: true
    EOF
  5. Run the set_release.yaml playbook:

    $ ansible-playbook -i ~/inventory.yaml -f 25 ~/set_release.yaml
Note

To manually lock a node to a version, log in to the node and run the subscription-manager release command:

$ sudo subscription-manager release --set=8.1

2.2. Changing to Extended Update Support (EUS) repositories

Your Red Hat OpenStack Platform subscription includes repositories for Red Hat Enterprise Linux 8.1 Extended Update Support (EUS). The EUS repositories include the latest security patches and bug fixes for Red Hat Enterprise Linux 8.1. Switch to the following repositories before performing a minor version update.

Standard RepositoryEUS Resporitory

rhel-8-for-x86_64-baseos-rpms

rhel-8-for-x86_64-baseos-eus-rpms

rhel-8-for-x86_64-appstream-rpms

rhel-8-for-x86_64-appstream-eus-rpms

rhel-8-for-x86_64-highavailability-rpms

rhel-8-for-x86_64-highavailability-eus-rpms

Procedure

  1. Log into the undercloud as the stack user.
  2. Source the stackrc file:

    $ source ~/stackrc
  3. Edit your overcloud subscription management environment file, which is the file that contains the RhsmVars parameter. The default name for this file is usually rhsm.yml.
  4. Check the rhsm_repos parameter in your subscription management configuration. If this parameter does not include the EUS repositories, change the relevant repositories to the EUS versions:

    parameter_defaults:
      RhsmVars:
        rhsm_repos:
          - rhel-8-for-x86_64-baseos-eus-rpms
          - rhel-8-for-x86_64-appstream-eus-rpms
          - rhel-8-for-x86_64-highavailability-eus-rpms
          - ansible-2.9-for-rhel-8-x86_64-rpms
          - advanced-virt-for-rhel-8-x86_64-rpms
          - openstack-beta-for-rhel-8-x86_64-rpms
          - rhceph-4-osd-for-rhel-8-x86_64-rpms
          - rhceph-4-mon-for-rhel-8-x86_64-rpms
          - rhceph-4-tools-for-rhel-8-x86_64-rpms
          - fast-datapath-for-rhel-8-x86_64-rpms
  5. Save the overcloud subscription management environment file.
  6. Create a static inventory file of your overcloud:

    $ tripleo-ansible-inventory --ansible_ssh_user heat-admin --static-yaml-inventory ~/inventory.yaml

    If you use an overcloud name different to the default overcloud name of overcloud, set the name of your overcloud with the --plan option.

  7. Create a playbook that contains a task to set the repositories to Red Hat Enterprise Linux 8.1 EUS on all nodes:

    $ cat > ~/change_eus.yaml <<'EOF'
    - hosts: overcloud,undercloud
      gather_facts: false
      tasks:
        - name: change to eus repos
          command: subscription-manager repos --disable=rhel-8-for-x86_64-baseos-rpms --disable=rhel-8-for-x86_64-appstream-rpms --disable=rhel-8-for-x86_64-highavailability-rpms --enable=rhel-8-for-x86_64-baseos-eus-rpms --enable=rhel-8-for-x86_64-appstream-eus-rpms --enable=rhel-8-for-x86_64-highavailability-eus-rpms
          become: true
    EOF
  8. Run the change_eus.yaml playbook:

    $ ansible-playbook -i ~/inventory.yaml -f 25 ~/change_eus.yaml