Chapter 3. Performing maintenance on the undercloud and overcloud with Instance HA


To perform maintenance on the undercloud and overcloud, you must shut down and start up the undercloud and overcloud nodes in a specific order to ensure minimal issues when your start your overcloud. You can also perform maintenance on a specific Compute or Controller node by stopping the node and disabling the Pacemaker resources on the node.

3.1. Prerequisites

  • A running undercloud and overcloud with Instance HA enabled.

3.2. Undercloud and overcloud shutdown order

To shut down the Red Hat OpenStack Platform environment, you must shut down the overcloud and undercloud in the following order:

  1. Shut down instances on overcloud Compute nodes
  2. Shut down Compute nodes
  3. Stop all high availability and OpenStack Platform services on Controller nodes
  4. Shut down Ceph Storage nodes
  5. Shut down Controller nodes
  6. Shut down the undercloud

3.2.1. Shutting down instances on overcloud Compute nodes

As a part of shutting down the Red Hat OpenStack Platform environment, shut down all instances on Compute nodes before shutting down the Compute nodes.

Prerequisites

  • An overcloud with active Compute services

Procedure

  1. Log in to the undercloud as the stack user.
  2. Source the credentials file for your overcloud:

    $ source ~/overcloudrc
    Copy to Clipboard
  3. View running instances in the overcloud:

    $ openstack server list --all-projects
    Copy to Clipboard
  4. Stop each instance in the overcloud:

    $ openstack server stop <INSTANCE>
    Copy to Clipboard

    Repeat this step for each instance until you stop all instances in the overcloud.

3.2.2. Stopping instance HA services on overcloud Compute nodes

As a part of shutting down the Red Hat OpenStack Platform environment, you must shut down all Instance HA services that run on Compute nodes before shutting down the Compute nodes.

Prerequisites

  • An overcloud with active Compute services
  • Instance HA is enabled on Compute nodes

Procedure

  1. Log in as the root user to an overcloud node that runs Pacemaker.
  2. Disable the Pacemaker remote resource on each Compute node:

    1. Identify the Pacemaker Remote resource on Compute nodes:

      # pcs resource status
      Copy to Clipboard

      These resources use the ocf::pacemaker:remote agent and are usually named after the Compute node host format, such as overcloud-novacomputeiha-0.

    2. Disable each Pacemaker Remote resource. The following example shows how to disable the resource for overcloud-novacomputeiha-0:

      # pcs resource disable overcloud-novacomputeiha-0
      Copy to Clipboard
  3. Disable the Compute node STONITH devices:

    1. Identify the Compute node STONITH devices:

      # pcs stonith status
      Copy to Clipboard
    2. Disable each Compute node STONITH device:

      # pcs stonith disable <STONITH_DEVICE>
      Copy to Clipboard

3.2.3. Shutting down Compute nodes

As a part of shutting down the Red Hat OpenStack Platform environment, log in to and shut down each Compute node.

Prerequisites

  • Shut down all instances on the Compute nodes

Procedure

  1. Log in as the root user to a Compute node.
  2. Shut down the node:

    # shutdown -h now
    Copy to Clipboard
  3. Perform these steps for each Compute node until you shut down all Compute nodes.

3.2.4. Stopping services on Controller nodes

As a part of shutting down the Red Hat OpenStack Platform environment, stop services on the Controller nodes before shutting down the nodes. This includes Pacemaker and systemd services.

Prerequisites

  • An overcloud with active Pacemaker services

Procedure

  1. Log in as the root user to a Controller node.
  2. Stop the Pacemaker cluster.

    # pcs cluster stop --all
    Copy to Clipboard

    This command stops the cluster on all nodes.

  3. Wait until the Pacemaker services stop and check that the services stopped.

    1. Check the Pacemaker status:

      # pcs status
      Copy to Clipboard
    2. Check that no Pacemaker services are running in Podman:

      # podman ps --filter "name=.*-bundle.*"
      Copy to Clipboard
  4. Stop the Red Hat OpenStack Platform services:

    # systemctl stop 'tripleo_*'
    Copy to Clipboard
  5. Wait until the services stop and check that services are no longer running in Podman:

    # podman ps
    Copy to Clipboard

3.2.5. Shutting down Ceph Storage nodes

As a part of shutting down the Red Hat OpenStack Platform environment, disable Ceph Storage services then log in to and shut down each Ceph Storage node.

Prerequisites

  • A healthy Ceph Storage cluster
  • Ceph MON services are running on standalone Ceph MON nodes or on Controller nodes

Procedure

  1. Log in as the root user to a node that runs Ceph MON services, such as a Controller node or a standalone Ceph MON node.
  2. Check the health of the cluster. In the following example, the podman command runs a status check within a Ceph MON container on a Controller node:

    # sudo podman exec -it ceph-mon-controller-0 ceph status
    Copy to Clipboard

    Ensure that the status is HEALTH_OK.

  3. Set the noout, norecover, norebalance, nobackfill, nodown, and pause flags for the cluster. In the following example, the podman commands set these flags through a Ceph MON container on a Controller node:

    # sudo podman exec -it ceph-mon-controller-0 ceph osd set noout
    # sudo podman exec -it ceph-mon-controller-0 ceph osd set norecover
    # sudo podman exec -it ceph-mon-controller-0 ceph osd set norebalance
    # sudo podman exec -it ceph-mon-controller-0 ceph osd set nobackfill
    # sudo podman exec -it ceph-mon-controller-0 ceph osd set nodown
    # sudo podman exec -it ceph-mon-controller-0 ceph osd set pause
    Copy to Clipboard
  4. Shut down each Ceph Storage node:

    1. Log in as the root user to a Ceph Storage node.
    2. Shut down the node:

      # shutdown -h now
      Copy to Clipboard
    3. Perform these steps for each Ceph Storage node until you shut down all Ceph Storage nodes.
  5. Shut down any standalone Ceph MON nodes:

    1. Log in as the root user to a standalone Ceph MON node.
    2. Shut down the node:

      # shutdown -h now
      Copy to Clipboard
    3. Perform these steps for each standalone Ceph MON node until you shut down all standalone Ceph MON nodes.

3.2.6. Shutting down Controller nodes

As a part of shutting down the Red Hat OpenStack Platform environment, log in to and shut down each Controller node.

Prerequisites

  • Stop the Pacemaker cluster
  • Stop all Red Hat OpenStack Platform services on the Controller nodes

Procedure

  1. Log in as the root user to a Controller node.
  2. Shut down the node:

    # shutdown -h now
    Copy to Clipboard
  3. Perform these steps for each Controller node until you shut down all Controller nodes.

3.2.7. Shutting down the undercloud

As a part of shutting down the Red Hat OpenStack Platform environment, log in to the undercloud node and shut down the undercloud.

Prerequisites

  • A running undercloud

Procedure

  1. Log in to the undercloud as the stack user.
  2. Shut down the undercloud:

    $ sudo shutdown -h now
    Copy to Clipboard

3.3. Performing system maintenance

After you completely shut down the undercloud and overcloud, perform any maintenance to the systems in your environment and then start up the undercloud and overcloud.

3.4. Undercloud and overcloud startup order

To start the Red Hat OpenStack Platform environment, you must start the undercloud and overcloud in the following order:

  1. Start the undercloud.
  2. Start Controller nodes.
  3. Start Ceph Storage nodes.
  4. Start Compute nodes.
  5. Start instances on overcloud Compute nodes.

3.4.1. Starting the undercloud

As a part of starting the Red Hat OpenStack Platform environment, power on the undercloud node, log in to the undercloud, and check the undercloud services.

Prerequisites

  • The undercloud is powered down.

Procedure

  • Power on the undercloud and wait until the undercloud boots.

Verification

  1. Log in to the undercloud host as the stack user.
  2. Source the stackrc undercloud credentials file:

    $ source ~/stackrc
    Copy to Clipboard
  3. Check the services on the undercloud:

    $ systemctl list-units 'tripleo_*'
    Copy to Clipboard
  4. Validate the static inventory file named tripleo-ansible-inventory.yaml:

    $ validation run --group pre-introspection -i <inventory_file>
    Copy to Clipboard
    • Replace <inventory_file> with the name and location of the Ansible inventory file, for example, ~/tripleo-deploy/undercloud/tripleo-ansible-inventory.yaml.

      Note

      When you run a validation, the Reasons column in the output is limited to 79 characters. To view the validation result in full, view the validation log files.

  5. Check that all services and containers are active and healthy:

    $ validation run --validation service-status --limit undercloud -i <inventory_file>
    Copy to Clipboard

3.4.2. Starting Controller nodes

As a part of starting the Red Hat OpenStack Platform environment, power on each Controller node and check the non-Pacemaker services on the node.

Prerequisites

  • The Controller nodes are powered down.

Procedure

  • Power on each Controller node.

Verification

  1. Log in to each Controller node as the root user.
  2. Check the services on the Controller node:

    $ systemctl -t service
    Copy to Clipboard

    Only non-Pacemaker based services are running.

  3. Wait until the Pacemaker services start and check that the services started:

    $ pcs status
    Copy to Clipboard
    Note

    If your environment uses Instance HA, the Pacemaker resources do not start until you start the Compute nodes or perform a manual unfence operation with the pcs stonith confirm <compute_node> command. You must run this command on each Compute node that uses Instance HA.

3.4.3. Starting Ceph Storage nodes

As a part of starting the Red Hat OpenStack Platform environment, power on the Ceph MON and Ceph Storage nodes and enable Ceph Storage services.

Prerequisites

  • A powered down Ceph Storage cluster
  • Ceph MON services are enabled on powered down standalone Ceph MON nodes or on powered on Controller nodes

Procedure

  1. If your environment has standalone Ceph MON nodes, power on each Ceph MON node.
  2. Power on each Ceph Storage node.
  3. Log in as the root user to a node that runs Ceph MON services, such as a Controller node or a standalone Ceph MON node.
  4. Check the status of the cluster nodes. In the following example, the podman command runs a status check within a Ceph MON container on a Controller node:

    # sudo podman exec -it ceph-mon-controller-0 ceph status
    Copy to Clipboard

    Ensure that each node is powered on and connected.

  5. Unset the noout, norecover, norebalance, nobackfill, nodown and pause flags for the cluster. In the following example, the podman commands unset these flags through a Ceph MON container on a Controller node:

    # sudo podman exec -it ceph-mon-controller-0 ceph osd unset noout
    # sudo podman exec -it ceph-mon-controller-0 ceph osd unset norecover
    # sudo podman exec -it ceph-mon-controller-0 ceph osd unset norebalance
    # sudo podman exec -it ceph-mon-controller-0 ceph osd unset nobackfill
    # sudo podman exec -it ceph-mon-controller-0 ceph osd unset nodown
    # sudo podman exec -it ceph-mon-controller-0 ceph osd unset pause
    Copy to Clipboard

Verification

  1. Check the health of the cluster. In the following example, the podman command runs a status check within a Ceph MON container on a Controller node:

    # sudo podman exec -it ceph-mon-controller-0 ceph status
    Copy to Clipboard

    Ensure the status is HEALTH_OK.

3.4.4. Starting Compute nodes

As a part of starting the Red Hat OpenStack Platform environment, power on each Compute node and check the services on the node.

Prerequisites

  • Powered down Compute nodes

Procedure

  1. Power on each Compute node.

Verification

  1. Log in to each Compute as the root user.
  2. Check the services on the Compute node:

    $ systemctl -t service
    Copy to Clipboard

3.4.5. Starting instance HA services on overcloud Compute nodes

As a part of starting the Red Hat OpenStack Platform environment, start all Instance HA services on the Compute nodes.

Prerequisites

  • An overcloud with running Compute nodes
  • Instance HA is enabled on Compute nodes

Procedure

  1. Log in as the root user to an overcloud node that runs Pacemaker.
  2. Enable the STONITH device for a Compute node:

    1. Identify the Compute node STONITH device:

      # pcs stonith status
      Copy to Clipboard
    2. Clear any STONITH errors for the Compute node:

      # pcs stonith confirm <COMPUTE_NODE>
      Copy to Clipboard

      This command returns the node to a clean STONITH state.

    3. Enable the Compute node STONITH device:

      # pcs stonith enable <STONITH_DEVICE>
      Copy to Clipboard
    4. Perform these steps for each Compute node with STONITH.
  3. Enable the Pacemaker remote resource on each Compute node:

    1. Identify the Pacemaker remote resources on Compute nodes:

      # pcs resource status
      Copy to Clipboard

      These resources use the ocf::pacemaker:remote agent and are usually named after the Compute node host format, such as overcloud-novacomputeiha-0.

    2. Enable each Pacemaker Remote resource. The following example shows how to enable the resource for overcloud-novacomputeiha-0:

      # pcs resource enable overcloud-novacomputeiha-0
      Copy to Clipboard
    3. Perform these steps for each Compute node with Pacemaker remote management.
  4. Wait until the Pacemaker services start and check that the services started:

    # pcs status
    Copy to Clipboard
  5. If any Pacemaker resources fail to start during the startup process, reset the status and the fail count of the resource:

    # pcs resource cleanup
    Copy to Clipboard
    Note

    Some services might require more time to start, such as fence_compute and fence_kdump.

3.4.6. Starting instances on overcloud Compute nodes

As a part of starting the Red Hat OpenStack Platform environment, start the instances on on Compute nodes.

Prerequisites

  • An active overcloud with active nodes

Procedure

  1. Log in to the undercloud as the stack user.
  2. Source the credentials file for your overcloud:

    $ source ~/overcloudrc
    Copy to Clipboard
  3. View running instances in the overcloud:

    $ openstack server list --all-projects
    Copy to Clipboard
  4. Start an instance in the overcloud:

    $ openstack server start <INSTANCE>
    Copy to Clipboard
Back to top
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2025 Red Hat