Ce contenu n'est pas disponible dans la langue sélectionnée.
Chapter 5. Upgrading the Overcloud
This process upgrades the overcloud.
Prerequisites
- You have upgraded the undercloud to the latest version.
- You have prepared your custom environment files to accommodate the changes in the upgrade.
5.1. Relevant files for upgrade Copier lienLien copié sur presse-papiers!
The following is a list of new and modified files for the overcloud upgrade.
Roles
-
If you use custom roles, include the updated
roles_data
file with new and deprecated services.
Network
-
If you use isolated networks, include the
network_data
file. - If you use custom NIC template, include the new versions.
Environment File
-
Include the
containers-prepare-parameter.yaml
file created during the undercloud upgrade. -
Replace the
rhel-registration
environment files with the environment file to configure the Ansible-based Red Hat Subscription Management service. - Include any additional environment files relevant to your overcloud configuration.
5.2. Running the overcloud upgrade preparation Copier lienLien copié sur presse-papiers!
The upgrade requires running openstack overcloud upgrade prepare
command, which performs the following tasks:
- Updates the overcloud plan to OpenStack Platform 14
- Prepares the nodes for the upgrade
Procedure
Source the
stackrc
file:source ~/stackrc
$ source ~/stackrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Run the upgrade preparation command:
openstack overcloud upgrade prepare \ --templates \ -e /home/stack/containers-prepare-parameter.yaml \ -e <ENVIRONMENT FILE>
$ openstack overcloud upgrade prepare \ --templates \ -e /home/stack/containers-prepare-parameter.yaml \ -e <ENVIRONMENT FILE>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Include the following options relevant to your environment:
-
Custom configuration environment files (
-e
) -
The environment file (
containers-prepare-parameter.yaml
) with your new container image locations (-e
). In most cases, this is the same environment file that the undercloud uses. -
If applicable, your custom roles (
roles_data
) file using--roles-file
. -
If applicable, your composable network (
network_data
) file using--networks-file
. -
If you use a custom stack name, pass the name with the
--stack
option.
-
Custom configuration environment files (
- Wait until the upgrade preparation completes.
5.3. Running the container image preparation Copier lienLien copié sur presse-papiers!
The overcloud requires the OpenStack Platform 14 container images before performing the upgrade. This involves executing the container_image_prepare
external upgrade process. To execute this process, run the openstack overcloud external-upgrade run
command against tasks tagged with the container_image_prepare
tag. These tasks perform the following operations:
- Automatically prepare all container image configuration relevant to your environment.
- Pull the relevant container images to your undercloud, unless you have previously disabled this option.
Procedure
Source the
stackrc
file:source ~/stackrc
$ source ~/stackrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Run the
openstack overcloud external-upgrade run
command against tasks tagged with thecontainer_image_prepare
tag:openstack overcloud external-upgrade run --tags container_image_prepare
$ openstack overcloud external-upgrade run --tags container_image_prepare
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
If you use a custom stack name, pass the name with the
--stack
option.
-
If you use a custom stack name, pass the name with the
5.4. Upgrading Controller and custom role nodes Copier lienLien copié sur presse-papiers!
Use the following process to upgrade all the Controller nodes, split Controller services, and other custom nodes to OpenStack Platform 14. The process involves running the openstack overcloud upgrade run
command and including the --nodes
option to restrict operations to only the selected nodes:
openstack overcloud upgrade run --nodes [ROLE]
$ openstack overcloud upgrade run --nodes [ROLE]
Substitute [ROLE]
for the name of a role or a comma-separated list of roles.
If your overcloud uses monolithic Controller nodes, run this command against the Controller
role.
If your overcloud uses split Controller services, use the following guide to upgrade the node role in the following order:
-
All roles that use Pacemaker. For example:
ControllerOpenStack
,Database
,Messaging
, andTelemetry
. -
Networker
nodes - Any other custom roles
Do not upgrade the following nodes yet:
- Compute nodes of any type such as DPDK based or Hyper-Converged Infratructure (HCI) Compute nodes
-
CephStorage
nodes
You will upgrade these nodes at a later stage.
Procedure
Source the
stackrc
file:source ~/stackrc
$ source ~/stackrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow If you use monolithic Controller nodes, run the upgrade command against the
Controller
role:openstack overcloud upgrade run --nodes Controller
$ openstack overcloud upgrade run --nodes Controller
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
If you use a custom stack name, pass the name with the
--stack
option.
-
If you use a custom stack name, pass the name with the
If you use Controller services split across multiple roles:
Run the upgrade command for roles with Pacemaker services:
openstack overcloud upgrade run --nodes ControllerOpenStack openstack overcloud upgrade run --nodes Database openstack overcloud upgrade run --nodes Messaging openstack overcloud upgrade run --nodes Telemetry
$ openstack overcloud upgrade run --nodes ControllerOpenStack $ openstack overcloud upgrade run --nodes Database $ openstack overcloud upgrade run --nodes Messaging $ openstack overcloud upgrade run --nodes Telemetry
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
If you use a custom stack name, pass the name with the
--stack
option.
-
If you use a custom stack name, pass the name with the
Run the upgrade command for the
Networker
role:openstack overcloud upgrade run --nodes Networker
$ openstack overcloud upgrade run --nodes Networker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
If you use a custom stack name, pass the name with the
--stack
option.
-
If you use a custom stack name, pass the name with the
Run the upgrade command for any remaining custom roles, except for
Compute
orCephStorage
roles:openstack overcloud upgrade run --nodes ObjectStorage
$ openstack overcloud upgrade run --nodes ObjectStorage
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
If you use a custom stack name, pass the name with the
--stack
option.
-
If you use a custom stack name, pass the name with the
5.5. Upgrading all Compute nodes Copier lienLien copié sur presse-papiers!
This process upgrades all remaining Compute nodes to OpenStack Platform 14. The process involves running the openstack overcloud upgrade run
command and including the --nodes Compute
option to restrict operations to the Compute nodes only.
Procedure
Source the
stackrc
file:source ~/stackrc
$ source ~/stackrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Run the upgrade command:
openstack overcloud upgrade run --nodes Compute
$ openstack overcloud upgrade run --nodes Compute
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
If you use a custom stack name, pass the name with the
--stack
option.
-
If you use a custom stack name, pass the name with the
- Wait until the Compute node upgrade completes.
5.6. Upgrading all Ceph Storage nodes Copier lienLien copié sur presse-papiers!
This process upgrades the Ceph Storage nodes. The process involves:
-
Running the
openstack overcloud upgrade run
command and including the--nodes CephStorage
option to restrict operations to the Ceph Storage nodes. -
Running the
openstack overcloud ceph-upgrade run
command to perform an upgrade to a containerized Red Hat Ceph Storage 3 cluster.
Procedure
Source the
stackrc
file:source ~/stackrc
$ source ~/stackrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Run the upgrade command:
openstack overcloud upgrade run --nodes CephStorage
$ openstack overcloud upgrade run --nodes CephStorage
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
If you use a custom stack name, pass the name with the
--stack
option.
-
If you use a custom stack name, pass the name with the
- Wait until the node upgrade completes.
Run the Ceph Storage external upgrade process. For example:
openstack overcloud external-upgrade run --tags ceph
$ openstack overcloud external-upgrade run --tags ceph
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
If you use a custom stack name, pass the name with the
--stack
option. - To pass any additional overrides, see in Section 5.6.1, “Custom parameters for upgrades”.
-
If you use a custom stack name, pass the name with the
- Wait until the Ceph Storage node upgrade completes.
5.6.1. Custom parameters for upgrades Copier lienLien copié sur presse-papiers!
When migrating Ceph to containers, each Ceph monitor and OSD is stopped sequentially. The migration does not continue until the same service that was stopped is successfully restarted. Ansible waits 15 seconds (the delay) and checks 5 times for the service to start (the retries). If the service does not restart, the migration stops so the operator can intervene.
Depending on the size of the Ceph cluster, you may need to increase the retry or delay values. The exact names of these parameters and their defaults are as follows:
health_mon_check_retries: 5 health_mon_check_delay: 15 health_osd_check_retries: 5 health_osd_check_delay: 15
health_mon_check_retries: 5
health_mon_check_delay: 15
health_osd_check_retries: 5
health_osd_check_delay: 15
To change the default values and make the cluster check 30 times and wait 40 seconds between each check, pass the following parameters in a yaml file with -e
using the openstack overcloud deploy
command:
parameter_defaults: CephAnsibleExtraConfig: health_osd_check_delay: 40 health_osd_check_retries: 30
parameter_defaults:
CephAnsibleExtraConfig:
health_osd_check_delay: 40
health_osd_check_retries: 30
5.7. Performing online database upgrades Copier lienLien copié sur presse-papiers!
Some overcloud components require an online upgrade (or migration) of their databases tables. This involves executing the online_upgrade
external upgrade process. To execute this process, run the openstack overcloud external-upgrade run
command against tasks tagged with the online_upgrade
tag. This performs online database upgrades to the following components:
- OpenStack Block Storage (cinder)
- OpenStack Compute (nova)
- OpenStack Bare Metal (ironic) if enabled in the overcloud
Procedure
Source the
stackrc
file:source ~/stackrc
$ source ~/stackrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Run the
openstack overcloud external-upgrade run
command against tasks tagged with theonline_upgrade
tag:openstack overcloud external-upgrade run --tags online_upgrade
$ openstack overcloud external-upgrade run --tags online_upgrade
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
If you use a custom stack name, pass the name with the
--stack
option.
-
If you use a custom stack name, pass the name with the
5.8. Finalizing the upgrade Copier lienLien copié sur presse-papiers!
The upgrade requires a final step to update the overcloud stack. This ensures the stack’s resource structure aligns with a regular deployment of OpenStack Platform 14 and allows you to perform standard openstack overcloud deploy
functions in the future.
Procedure
Source the
stackrc
file:source ~/stackrc
$ source ~/stackrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Run the upgrade finalization command:
openstack overcloud upgrade converge \ --templates \ -e <ENVIRONMENT FILE>
$ openstack overcloud upgrade converge \ --templates \ -e <ENVIRONMENT FILE>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Include the following options relevant to your environment:
-
Custom configuration environment files (
-e
). -
If you use a custom stack name, pass the name with the
--stack
option. -
If applicable, your custom roles (
roles_data
) file using--roles-file
. -
If applicable, your composable network (
network_data
) file using--networks-file
.
-
Custom configuration environment files (
- Wait until the upgrade finalization completes.