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

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

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

  1. Source the stackrc file:

    $ source ~/stackrc
    Copy to Clipboard Toggle word wrap
  2. Run the upgrade preparation command:

    $ openstack overcloud upgrade prepare \
        --templates \
        -e /home/stack/containers-prepare-parameter.yaml \
        -e <ENVIRONMENT FILE>
    Copy to Clipboard Toggle word wrap

    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.
  3. Wait until the upgrade preparation completes.

5.3. Running the container image preparation

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

  1. Source the stackrc file:

    $ source ~/stackrc
    Copy to Clipboard Toggle word wrap
  2. Run the openstack overcloud external-upgrade run command against tasks tagged with the container_image_prepare tag:

    $ openstack overcloud external-upgrade run --tags container_image_prepare
    Copy to Clipboard Toggle word wrap
    • If you use a custom stack name, pass the name with the --stack option.

5.4. Upgrading Controller and custom role nodes

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]
Copy to Clipboard Toggle word wrap

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, and Telemetry.
  • 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

  1. Source the stackrc file:

    $ source ~/stackrc
    Copy to Clipboard Toggle word wrap
  2. If you use monolithic Controller nodes, run the upgrade command against the Controller role:

    $ openstack overcloud upgrade run --nodes Controller
    Copy to Clipboard Toggle word wrap
    • If you use a custom stack name, pass the name with the --stack option.
  3. If you use Controller services split across multiple roles:

    1. 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
      Copy to Clipboard Toggle word wrap
      • If you use a custom stack name, pass the name with the --stack option.
    2. Run the upgrade command for the Networker role:

      $ openstack overcloud upgrade run --nodes Networker
      Copy to Clipboard Toggle word wrap
      • If you use a custom stack name, pass the name with the --stack option.
    3. Run the upgrade command for any remaining custom roles, except for Compute or CephStorage roles:

      $ openstack overcloud upgrade run --nodes ObjectStorage
      Copy to Clipboard Toggle word wrap
      • If you use a custom stack name, pass the name with the --stack option.

5.5. Upgrading all Compute nodes

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

  1. Source the stackrc file:

    $ source ~/stackrc
    Copy to Clipboard Toggle word wrap
  2. Run the upgrade command:

    $ openstack overcloud upgrade run --nodes Compute
    Copy to Clipboard Toggle word wrap
    • If you use a custom stack name, pass the name with the --stack option.
  3. Wait until the Compute node upgrade completes.

5.6. Upgrading all Ceph Storage nodes

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

  1. Source the stackrc file:

    $ source ~/stackrc
    Copy to Clipboard Toggle word wrap
  2. Run the upgrade command:

    $ openstack overcloud upgrade run --nodes CephStorage
    Copy to Clipboard Toggle word wrap
    • If you use a custom stack name, pass the name with the --stack option.
  3. Wait until the node upgrade completes.
  4. Run the Ceph Storage external upgrade process. For example:

    $ openstack overcloud external-upgrade run --tags ceph
    Copy to Clipboard Toggle word wrap
  5. Wait until the Ceph Storage node upgrade completes.

5.6.1. Custom parameters for upgrades

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
Copy to Clipboard Toggle word wrap

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
Copy to Clipboard Toggle word wrap

5.7. Performing online database upgrades

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

  1. Source the stackrc file:

    $ source ~/stackrc
    Copy to Clipboard Toggle word wrap
  2. Run the openstack overcloud external-upgrade run command against tasks tagged with the online_upgrade tag:

    $ openstack overcloud external-upgrade run --tags online_upgrade
    Copy to Clipboard Toggle word wrap
    • If you use a custom stack name, pass the name with the --stack option.

5.8. Finalizing the upgrade

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

  1. Source the stackrc file:

    $ source ~/stackrc
    Copy to Clipboard Toggle word wrap
  2. Run the upgrade finalization command:

    $ openstack overcloud upgrade converge \
        --templates \
        -e <ENVIRONMENT FILE>
    Copy to Clipboard Toggle word wrap

    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.
  3. Wait until the upgrade finalization completes.
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat