Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Understand the Update Plan

There is an update_plan section in the Contrail Cloud configuration file that is used for overcloud update (which has three stages). It is not used for updating any of the other components. It is very important for the user to understand the idea of update plan and how to define batches of nodes for update. Use this section to understand the update plan, how it works, and how to configure the update plan in your site.yml configuration file.

Overview

The update plan controls the overcloud update sequencing. It allows you to define which node batch to update with each run of the contrail-cloud-update-overcloud-step2.sh script.

The overcloud update contrail-cloud-update-overcloud-step2.sh script will:

  • Compare the lock files with your defined batch list to find the next batch that has not already been completed.
  • Update all nodes per batch as you defined in the update plan nodes list.
  • Update packages and containers for each node you defined in the current batch.
  • Update one batch per script run, as defined in the update plan.
  • Automatically create a lock file when the batch is processed. This is how the script knows to move on to the next batch.
  • Rerun until there are no longer any batches left to update.

Configure Your Update Plan

Use the following sample to configure the update plan in the config/site.yml file. The sample would help you to:

  • Understand the configuration hierarchy.

  • Determine the configuration options.

  • Identify proper indentations and empty space.

  • Understand how to target specific nodes to be updated as workloads are migrated.

Edit the above update plan to match your deployment for each targeted batch.

Name Your Unique Batch

During update, you can control the batch order in your update_plan. You choose a unique batch name to identify each unique batch, and for lock file naming. Choose a unique name that you define for each batch.

The contrail-cloud-update-overcloud-step2.sh script identifies the first unique named batch, which has not already been updated. The script creates a lockfile after each successful batch update to identify it as being completed. To start, you might configure it to look like this:

Define the Update Type for the Named Node Role

The update_type determines the update order of the nodes in the named batch run. You have the option of running the update in sequence. The sequence update will update one node at a time, per batch run. You can also choose to run the update in parallel. The parallel update will update all nodes together, per batch run.

Use the following sample to update the nodes in the named batch in sequence:

Define the Nodes in the Named Batch

Define the nodes in the nodes_list that you would like to update in the named batch run. These nodes are the specific node names from your environment. Group by role when you define your batches. As an example, group Ceph servers together, and computes together.

Run the following commands to collect the server names from the undercloud:

Following is the sample output from the CLI input above to collect Ceph and compute server names:

The ControlPlane is a special keyword understood by the update plan. The ControlPlane represents the OpenStack controllers. The ControlPlane updates in sequence by default. One OpenStack controller instance is updated at a time.

Always define the ControlPlane as the first entry in the first batch in your defined batch list.

Finish Defining Your Remaining Batches

Define the rest of your batches. Ensure that you target all nodes for update. The update_plan sample shows an example of how you might define compute batches by rack, or compute type. Remember that the ControlPlane should always be the first batch to update. The next batches should include the compute nodes. The last batches should consist of the storage nodes.