Tools to upgrade OpenStack cloud managed by the Fuel installer.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
OpenDev Sysadmins a6d5c7c701 OpenDev Migration Patch 1 month ago
deploy Add Apache 2.0 license to source file 2 years ago
deployment/puppet/octane_tasks Execute neutron db fixes for 9.0 seed release 2 years ago
docs/records Recorded demos for the upgrade 7.0 -> 9.1 2 years ago
misc Add all-in-one.sh script for creating all in one commits in Gerrit 3 years ago
octane Fix a typo 2 years ago
specs Cleanup %files section in spec 2 years ago
.coveragerc Change ignore-errors to ignore_errors 3 years ago
.gitignore Graph-based upgrade-ceph. Puppet part. 2 years ago
.gitreview OpenDev Migration Patch 1 month ago
.mailmap Initial Cookiecutter Commit. 3 years ago
Gemfile Start testing Puppet related code by CI 2 years ago
Gemfile.lock Start testing Puppet related code by CI 2 years ago
HACKING.rst Cleanup after cookiecutter 3 years ago
LICENSE Initial Cookiecutter Commit. 3 years ago
MAINTAINERS Add octane QA engineers to MAINTEINERS 2 years ago
MANIFEST.in Add octane/bin directory to manifest file 3 years ago
README.rst Show team and repo badges on README 2 years ago
Rakefile Start testing Puppet related code by CI 2 years ago
bindep.txt Fix bindep.txt to work on both dpkg and rpm platforms 2 years ago
requirements.txt Remove paramiko version requirement 3 years ago
setup.cfg py33 is no longer supported by Infra's CI 2 years ago
setup.py Set pyzabbix as an optional dependency 3 years ago
test-requirements.txt Honor upper-constraints 3 years ago
tox.ini Prepare coverage target to gating 2 years ago

README.rst

Team and repository tags

image

octane

Octane - upgrade your Fuel.

Tool set to backup, restore and upgrade Fuel installer and OpenStack environments that it manages. This version of the toolset supports upgrade from versions 7.0 and 8.0 to version 9.1.

Features

  • Backup the Fuel Master node configuraiton, OpenStack release bundles, metadata of environments and target nodes
  • Restore metadata of the Fuel Master node, environments and target nodes from previous backup
  • Upgrade OpenStack environment after upgrade of the Fuel Master node that manages it

Installation

Fuel Octane is installed on the Fuel Master node. Version of fuel-octane package must match the version of Fuel.

To download the latest version of fuel-octane package on the Fuel Master node, use the following command:

yum instal fuel-octane

Usage

Backup Fuel configuration

Use this command to backup configuration of the Fuel Master node, environments and target nodes:

octane fuel-backup --to=/path/to/backup.file.tar.gz

Backup Fuel repos and images

Use this command to backup packages and images for all supported OpenStack release bundles from the Fuel Master node:

octane fuel-repo-backup --full --to=/path/to/repo-backup.file.tar.gz

Restore Fuel configuration

Use this command to restore configuration of the Fuel Master node, environments and target nodes:

octane fuel-restore --from=/path/to/backup.file.tar.gz --admin-password=<passwod>

Replace <password> with appropriate password for user admin in your installation of Fuel.

Restore Fuel repos and images

Use this command to restore package repositories and images for OpenStack release bundbles from backup file:

octane fuel-repo-restore --from=/path/to/repo-backup.file.tar.gz

Upgrade Fuel Master node

Upgrade of Fuel Master node requires making both backups of configuration and repos and images from older Fuel, as described above. Copy those files to a secure location. After you create two backup files, install a new (9.1) version of Fuel on the same physical node or on a new one.

Note

Please, note that you must specify the same IP address for the new installation of the Fuel Master node as for the old one. Otherwise, target nodes won't be able to communicate with the new Fuel Master node.

Copy backup files to a new node from the secure location. Use octane to restore Fuel configuration and packages from backup files. Database schema will be upgraded according to migration scripts. See detailed commands above.

The Fuel Master node of new version must now have all configuration data from an old version of the Fuel Master node.

Upgrade OpenStack cluster

Install 9.0 Seed environment

Pick environment of version <9.0 that you want to upgrade. Run tha following command and remember an ID of the environment you picked:

export SEED_ID=<ID>

Run command to create Upgrade Seed environment:

octane upgrade-env $SEED_ID

Remember ID of environment that will be shown:

export ORIG_ID=<ID>

Upgrade controller #1

Pick controller with minimal ID:

export $NODE_ID=<ID>

Run the following command to upgrade it:

octane upgrade-node --isolated $SEED_ID $NODE_ID

Upgrade DB

Run the following command to upgrade state database of OpenStack environment to be upgraded:

octane upgrade-db $ORID_ID $SEED_ID

Upgrade Ceph (OPTIONAL)

Run the command to upgrade Ceph cluster:

octane upgrade-ceph $ORIG_ID $SEED_ID

Cutover to the updated control plane

The following command redirects all nodes in OpenStack cluster to talk to the new OpenStack Controller with upgraded version:

octane upgrade-control $ORIG_ID $SEED_ID

Upgrade controller #2 and #3

Run the following command to upgrade remaining controllers to version 9.1:

octane upgrade-node $SEED_ID $NODE_ID_2 $NODE_ID_3

Upgrade computes

Pick a compute node(s) to upgrade and remember their IDs.

export NODE_ID_1=<ID1>
...

Run the command to upgrade the compute node(s) without evacuating virtual machines:

octane upgrade-node --no-live-migration $SEED_ID $NODE_ID_1 ...

Run the command to upgrade the compute node(s) with evacuating virtual machines to other compute nodes in the environment via live migration:

octane upgrade-node $SEED_ID $NODE_ID_1 ...