Commands

COU provides commands to specify the type of operation to perform, as well as commands to define the scope of the operation. The bash completion feature facilitates the usage of these commands, simplifying interaction with the tool.

Plan

The plan command will analyse the cloud and output a human-readable representation of the proposed upgrade plan. It does not require any interaction. Refer to the output below for the description of all available options.

user@host:~$ cou plan --help
Usage: cou plan [options] Show the steps COU will take to upgrade the cloud to the next release.If upgrade-group is unspecified, plan upgrade for the whole cloud. Options:  -h, --help            Show this help message and exit.  --model MODEL_NAME    Set the model to operate on.                        If not set, the currently active Juju model will be used.  --backup, --no-backup                        Include database backup step before cloud upgrade.                        Default to enabling database backup.  --force               Force the plan/upgrade of non-empty hypervisors.  --verbose, -v         Increase logging verbosity in STDOUT.                        Multiple 'v's yield progressively more detail (up to 3).                        Note that by default the logfile will not include standard logs                        from juju and websockets, as well as debug logs from all other                        modules. To also include the debug level logs from juju and                        websockets modules, use the maximum verbosity.  --quiet, -q           Disable output in STDOUT. Upgrade groups:  {control-plane,data-plane,hypervisors}                        Run 'cou plan <upgrade-group> -h' for more info about an upgrade group.    control-plane       Show the steps for upgrading the control-plane components.    data-plane          Show the steps for upgrading all data-plane components.                        This is possible only if control-plane has been fully upgraded,                        otherwise an error will be thrown.    hypervisors         Show the steps for upgrading machines with nova-compute and                        colocated services. This is possible only if control-plane                        has been fully upgraded, otherwise an error will be thrown.

By default, COU plans upgrade for the entire OpenStack cloud with cou plan. However, the upgrade process can be tailored to target a specific group through a sub-command for more granular control. For further details, please see the Upgrade Groups section.

Upgrade

The upgrade command will implicitly generate a plan before moving onto the actual upgrade phase. Refer to the output below for a description of all available options.

user@host:~$ cou upgrade --help
Usage: cou upgrade [options] Run the cloud upgrade.If upgrade-group is unspecified, upgrade the whole cloud. Options:  -h, --help            Show this help message and exit.  --model MODEL_NAME    Set the model to operate on.                        If not set, the currently active Juju model will be used.  --backup, --no-backup                        Include database backup step before cloud upgrade.                        Default to enabling database backup.  --force               Force the plan/upgrade of non-empty hypervisors.  --verbose, -v         Increase logging verbosity in STDOUT.                        Multiple 'v's yield progressively more detail (up to 3).                        Note that by default the logfile will not include standard logs                        from juju and websockets, as well as debug logs from all other                        modules. To also include the debug level logs from juju and                        websockets modules, use the maximum verbosity.  --quiet, -q           Disable output in STDOUT.  --auto-approve        Automatically approve and continue with each upgrade step without prompt. Upgrade group:  {control-plane,data-plane,hypervisors}                        Run 'cou upgrade <upgrade-group> -h' for more info about an upgrade group    control-plane       Run upgrade for the control-plane components.    data-plane          Upgrade all data-plane components.                        This is possible only if control-plane has been fully upgraded,                        otherwise an error will be thrown.    hypervisors         Upgrade machines with nova-compute and colocated services.                        This is possible only if control-plane has been fully upgraded,                        otherwise an error will be thrown.

By default COU upgrades the entire OpenStack cloud with cou upgrade. However, the upgrade process can be tailored to target a specific group through a sub-command for more granular control. For further details, please see the Upgrade Groups section.

Upgrade Groups

In COU, users can choose to selectively target only certain components in OpenStack cloud for planning and executing upgrades, grouped by their roles. The available upgrade groups are control-plane, data-plane, and hypervisors.

The options available for control-plane upgrade are:

user@host:~$ cou upgrade control-plane --help
Usage: cou upgrade control-plane [options] Run upgrade for the control-plane components. Options:  -h, --help            Show this help message and exit.  --model MODEL_NAME    Set the model to operate on.                        If not set, the currently active Juju model will be used.  --backup, --no-backup                        Include database backup step before cloud upgrade.                        Default to enabling database backup.  --force               Force the plan/upgrade of non-empty hypervisors.  --verbose, -v         Increase logging verbosity in STDOUT.                        Multiple 'v's yield progressively more detail (up to 3).                        Note that by default the logfile will not include standard logs                        from juju and websockets, as well as debug logs from all other                        modules. To also include the debug level logs from juju and                        websockets modules, use the maximum verbosity.  --quiet, -q           Disable output in STDOUT.  --auto-approve        Automatically approve and continue with each upgrade step without prompt.

The available options for a data-plane upgrade align closely with those offered for a control-plane upgrade.

user@host:~$ cou upgrade data-plane --help
Usage: cou upgrade data-plane [options] Upgrade all data-plane components.This is possible only if control-plane has been fully upgraded,otherwise an error will be thrown. Options:  -h, --help            Show this help message and exit.  --model MODEL_NAME    Set the model to operate on.                        If not set, the currently active Juju model will be used.  --backup, --no-backup                        Include database backup step before cloud upgrade.                        Default to enabling database backup.  --force               Force the plan/upgrade of non-empty hypervisors.  --verbose, -v         Increase logging verbosity in STDOUT.                        Multiple 'v's yield progressively more detail (up to 3).                        Note that by default the logfile will not include standard logs                        from juju and websockets, as well as debug logs from all other                        modules. To also include the debug level logs from juju and                        websockets modules, use the maximum verbosity.  --quiet, -q           Disable output in STDOUT.  --auto-approve        Automatically approve and continue with each upgrade step without prompt.

For upgrading hypervisors, in addition to the common options also found in data-plane upgrades, users can specify either –machine or –az to narrow the upgrade to a particular subset of nodes.

user@host:~$ cou upgrade hypervisors --help
Usage: cou upgrade hypervisors [options] Upgrade machines with nova-compute and colocated services.This is possible only if control-plane has been fully upgraded,otherwise an error will be thrown. Note that only principal applications colocated with nova-compute unitsthat support action-managed upgrades are within the scope of this command.Other principal applications (e.g. ceph-osd) and subordinatescan be upgraded via the data-plane subcommand. Options:  -h, --help            Show this help message and exit.  --model MODEL_NAME    Set the model to operate on.                        If not set, the currently active Juju model will be used.  --backup, --no-backup                        Include database backup step before cloud upgrade.                        Default to enabling database backup.  --force               Force the plan/upgrade of non-empty hypervisors.  --verbose, -v         Increase logging verbosity in STDOUT.                        Multiple 'v's yield progressively more detail (up to 3).                        Note that by default the logfile will not include standard logs                        from juju and websockets, as well as debug logs from all other                        modules. To also include the debug level logs from juju and                        websockets modules, use the maximum verbosity.  --quiet, -q           Disable output in STDOUT.  --machine MACHINES, -m MACHINES                        Specify machine id(s) to upgrade.                        This option accepts a single machine id as well as a stringified                        comma-separated list of ids, and can be repeated multiple times.                        This option cannot be used together with [--availability-zone/--az].  --availability-zone AVAILABILITY_ZONES, --az AVAILABILITY_ZONES                        Specify Juju availability zone(s) to upgrade.                        This option accepts a single availability zone as well as a                        stringified comma-separated list of AZs, and can be repeated                        multiple times. This option cannot be used together with                        [--machine/-m]  --auto-approve        Automatically approve and continue with each upgrade step without prompt.