Update the OpenStack control plane

Update the OpenStack control plane

The OpenStack control plane update stage includes updating of the OpenStack services APIs.

Caution

Perform the update of the VCP nodes one by one to avoid downtime of the control plane.

To update the OpenStack VCP:

  1. Log in to the Jenkins web UI.

  2. Perform the update of the OpenStack controller nodes one by one. For each OpenStack controller node, run the Deploy - upgrade control VMs pipeline in the interactive mode setting the parameters as follows:

    • TARGET_SERVERS=’<full_ctl_node_name>’ where full_ctl_node_name can be, for example, ctl01.domain.local
    • MODE=INTERACTIVE mode to get the detailed description of the pipeline flow through the stages
    • OS_DIST_UPGRADE - do not select unless you want the system packages including kernel to be upgraded using apt-get dist-upgrade. Deselected by default.
    • OS_UPGRADE - do not select unless you want all installed applications to be upgraded using apt-get upgrade. Deselected by default.
  3. Verify that the VCP is up and the OpenStack services from the data plane are reconnected and working correctly with the newly updated OpenStack controller nodes. For example, to verify the OpenStack services after updating the ctl01 node, apply the following states:

    salt 'ctl01*' state.apply heat.upgrade.verify
    salt 'ctl01*' state.apply nova.upgrade.verify
    salt 'ctl01*' state.apply cinder.upgrade.verify
    salt 'ctl01*' state.apply glance.upgrade.verify
    salt 'ctl01*' state.apply neutron.upgrade.verify
    

    For details on how to get the list of updatable OpenStack components and verify their status on other nodes, see Perform the pre-update activities.

  4. Run the Deploy - upgrade control VMs on each of the proxy nodes one by one setting TARGET_SERVERS=’<full_prx_node_name>’, where full_prx_node_name> can be, for example, prx01.domain.local.

  5. Verify that the public API is accessible and Horizon is working.

  6. Perform the update of other VCP nodes where required depending on your deployment by running the Deploy - upgrade control VMs pipeline in the interactive mode setting the parameters as follows:

    • TARGET_SERVERS:
      • TARGET_SERVERS=share* to upgrade the Manila control plane
      • TARGET_SERVERS=mdb* to upgrade the Tenant Telemetry including Ceilometer, Gnocchi, Aodh, and Panko
      • TARGET_SERVERS=kmn* to upgrade Barbican
      • TARGET_SERVERS=dns* to upgrade Designate
    • MODE=INTERACTIVE mode to get the detailed description of the pipeline flow through the stages
    • OS_DIST_UPGRADE - do not select unless you want the system packages including kernel to be upgraded using apt-get dist-upgrade. Deselected by default.
    • OS_UPGRADE - do not select unless you want all installed applications to be upgraded using apt-get upgrade. Deselected by default.
  7. Verify that the control plane is up and the OpenStack services from the data plane are reconnected and working correctly with the newly updated control plane.

  8. From an OpenStack controller node, clean up the old heat-engine records:

    1. Verify that all Heat engines have started and the number of active Heat engines matches the number of OpenStack controller nodes multiplied by the number of Heat engine workers per node:

      heat-manage service list
      
    2. Remove all old, stopped engines:

      heat-manage service clean
      
  9. Verify that the OpenStack packages have been updated as expected. For example, to verify the packages after updating the ctl01 node with OS_UPGRADE selected, run the following command:

    salt 'ctl01*' cmd.run 'apt-get -s -V -u upgrade'
    

    To verify the packages after updating the ctl01 node with OS_DIST_UPGRADE selected:

    salt 'ctl01*' cmd.run 'apt-get -s -V -u dist-upgrade'
    
  10. Proceed to Update the OpenStack data plane.