Chapter 4. Preparing for the undercloud upgrade
Before you perform the undercloud upgrade, you must complete some preparation steps so that the undercloud upgrade runs successfully.
4.1. Upgrading with external Ceph prerequisite Copy linkLink copied to clipboard!
If you are upgrading with external Ceph deployments, before you can upgrade your Red Hat OpenStack Platform deployment, you must upgrade your Red Hat Ceph Storage cluster from version 3 to version 4. For more information, see Upgrading a Red Hat Ceph Storage cluster in the Red Hat Ceph Storage 4 Installation Guide .
4.2. New memory requirements Copy linkLink copied to clipboard!
In Red Hat OpenStack Platform 16.1, the undercloud has new memory requirements:
| Red Hat OpenStack Platform 13 | Red Hat OpenStack Platform 16.1 |
|---|---|
| 16 GB RAM | 24 GB RAM |
Ensure that your undercloud meets these new requirements before you proceed with the upgrade.
4.3. Using predictable NIC names for the undercloud node Copy linkLink copied to clipboard!
Before you run the Leapp upgrade on the undercloud node, you must check for kernel-based NIC names, which usually contain an eth prefix. These NIC names are usually unpredictable in terms of NIC assignments.
You can run the playbook-nics.yaml playbook to rename NIC names to use the em NIC prefix. You can also set a different NIC prefix, by modifying the prefix variable when running the playbook. However, the NIC changes are only applied after the Leapp upgrade process completes and the node is rebooted.
Procedure
-
Log in to the undercloud as the
stackuser. Create an Ansible playbook named
playbook-nics.yamland copy the following content into the playbook:Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteYou will use this playbook to rename the overcloud NICs at a later stage in the upgrade process.
Run the
playbook-nics.yamlplaybook on the undercloud:ansible-playbook -c local -i localhost, playbook-nics.yaml
$ ansible-playbook -c local -i localhost, playbook-nics.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow The playbook sets the new NIC prefix to
em. To set a different NIC prefix, set theprefixvariable when running the playbook:ansible-playbook -c local -i localhost, -e prefix="mynic" ~/playbook-nics.yaml
$ ansible-playbook -c local -i localhost, -e prefix="mynic" ~/playbook-nics.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow The NIC changes are only applied after the Leapp upgrade process completes and the node is rebooted.
4.4. Setting the SSH root permission parameter on the undercloud Copy linkLink copied to clipboard!
The Leapp upgrade checks whether the PermitRootLogin parameter exists in the /etc/ssh/sshd_config file. You must explicitly set this parameter to either yes or no.
For security purposes, set this parameter to no to disable SSH access to the root user on the undercloud.
Procedure
-
Log in to the undercloud as the
stackuser. Check the
/etc/ssh/sshd_configfile for thePermitRootLoginparameter:sudo grep PermitRootLogin /etc/ssh/sshd_config
$ sudo grep PermitRootLogin /etc/ssh/sshd_configCopy to Clipboard Copied! Toggle word wrap Toggle overflow If the parameter is not in the
/etc/ssh/sshd_configfile, edit the file and set thePermitRootLoginparameter:PermitRootLogin no
PermitRootLogin noCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Save the file.
4.5. Converting to next generation power management drivers Copy linkLink copied to clipboard!
Red Hat OpenStack Platform now uses next generation drivers, also known as hardware types, that replace older drivers.
The following table shows an analogous comparison between older drivers with their next generation hardware type equivalent:
| Old Driver | New Hardware Type |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
VBMC ( |
|
|
|
|
In OpenStack Platform 15, these older drivers have been removed and are no longer accessible. You must change to hardware types before upgrading to OpenStack Platform 16.1.
Procedure
Check the current list of hardware types enabled:
source ~/stackrc openstack baremetal driver list --type dynamic
$ source ~/stackrc $ openstack baremetal driver list --type dynamicCopy to Clipboard Copied! Toggle word wrap Toggle overflow If you use a hardware type driver that is not enabled, enable the driver using the
enabled_hardware_typesparameter in theundercloud.conffile:enabled_hardware_types = ipmi,redfish,idrac
enabled_hardware_types = ipmi,redfish,idracCopy to Clipboard Copied! Toggle word wrap Toggle overflow Save the file and refresh the undercloud:
openstack undercloud install
$ openstack undercloud installCopy to Clipboard Copied! Toggle word wrap Toggle overflow Run the following commands, substituting the
OLDDRIVERandNEWDRIVERvariables for your power management type:source ~/stackrc OLDDRIVER="pxe_ipmitool" NEWDRIVER="ipmi" for NODE in $(openstack baremetal node list --driver $OLDDRIVER -c UUID -f value) ; do openstack baremetal node set $NODE --driver $NEWDRIVER; done
$ source ~/stackrc $ OLDDRIVER="pxe_ipmitool" $ NEWDRIVER="ipmi" $ for NODE in $(openstack baremetal node list --driver $OLDDRIVER -c UUID -f value) ; do openstack baremetal node set $NODE --driver $NEWDRIVER; doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow