Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

Chapter 4. Non-Director Environments: Upgrading OpenStack Services Simultaneously

This scenario upgrades from Red Hat OpenStack Platform 8 to Red Hat OpenStack Platform 9 in environments that do not use the director. This procedure upgrades all services on all nodes. This involves the following workflow:

  1. Disabling all OpenStack services
  2. Performing a package upgrade
  3. Performing synchronization of all databases
  4. Enabling all OpenStack services
Note

The procedures in this chapter follow the architectural naming convention followed by all Red Hat OpenStack Platform documentation. If you are unfamiliar with this convention, refer to Architecture Guide available at: Red Hat OpenStack Platform Documentation Suite before proceeding.

4.1. Disabling all OpenStack Services

The first step to performing a complete upgrade of Red Hat OpenStack Platform on a node involves shutting down all Openstack services. This step differs based on whether or not the node uses high availability tools for management (e.g. using Pacemaker on Controller nodes). This step contains instructions for both node types.

Standard Nodes

Install the openstack-utils package on all standard nodes:

# yum install openstack-utils

Disable all OpenStack services on all standard nodes.

# openstack-service stop

High Availability Nodes

We need to disable all OpenStack services but leave the database and load balancing services active. For example, switch the HAProxy, Galera, and MongoDB services to unmanaged in Pacemaker:

# pcs resource unmanage haproxy
# pcs resource unmanage galera
# pcs resource unmanage mongod

Disable the remaining Pacemaker-managed resources by setting the stop-all-resources property on the cluster. Run the following on a single member of your Pacemaker cluster:

# pcs property set stop-all-resources=true

Wait until all Pacemaker-managed resources have stopped. Run the pcs status command to see the status of each resources.

# pcs status
Important

HAProxy might show a broadcast message for unavailable services. This is normal behavior.

4.2. Performing a Package Upgrade

The next step upgrades all packages on a node. Perform this step on each node with OpenStack services.

Change to the Red Hat OpenStack Platform 9 repository using the subscription-manager command.

# subscription-manager repos --disable=rhel-7-server-openstack-8-rpms
# subscription-manager repos --enable=rhel-7-server-openstack-9-rpms

Run the yum update command on the node:

# yum update

Wait until the package upgrade completes.

Review the resulting configuration files. The upgraded packages will have installed .rpmnew files appropriate to the Red Hat OpenStack Platform 9 version of the service. New versions of OpenStack services may deprecate certain configuration options. You should also review your OpenStack logs for any deprecation warnings, because these may cause problems during future upgrades. For more information on the new, updated and deprecated configuration options for each service, see Configuration Reference available from: Red Hat OpenStack Platform Documentation Suite.

Perform the package upgrade on each node in your environment.

4.3. Performing Synchronization of all Databases

The next step upgrades the database for each service.

Note

Flush expired tokens in the Identity service to decrease the time required to synchronize the database.

# keystone-manage token_flush

Upgrade the database schema for each service that uses the database. Run the following command on the node hosting the service’s database:

# openstack-db --service SERVICENAME --update

Use the service’s project name as the SERVICENAME. For example, to upgrade the database schema of the Identity service:

# openstack-db --service keystone --update

Table 4.1. Project Name of OpenStack services

ServiceProject name

Identity

keystone

Image Service

glance

Block Storage

cinder

Orchestration

heat

Compute

nova

Networking

neutron

The Telemetry service uses a separate command for database upgrades:

# ceilometer-dbsync

4.4. Enabling all OpenStack Services

The final step enables the OpenStack services on the node. This step differs based on whether or not the node uses high availability tools for management. For example, using Pacemaker on Controller nodes. This step contains instructions for both node types.

Standard Nodes

Enable all OpenStack services:

# openstack-service stop

High Availability Nodes

Restart your resources through Pacemaker. Reset the stop-all-resources property on a single member of your Pacemaker cluster. For example:

# pcs property set stop-all-resources=false

Wait until all resources have started. Run the pcs status command to see the status of each resources.

# pcs status

Enable Pacemaker management for any unmanaged resources, such as the databases and load balancer:

# pcs resource manage haproxy
# pcs resource manage galera
# pcs resource manage mongod

4.5. Post-Upgrade Notes

New versions of OpenStack services may deprecate certain configuration options. You should also review your OpenStack logs for any deprecation warnings, because these may cause problems during a future upgrade. For more information on the new, updated and deprecated configuration options for each service , see Configuration Reference available from: Red Hat OpenStack Platform Documentation Suite.