RETIRED, Tools to upgrade OpenStack cloud managed by the Fuel installer.
Go to file
Sergey Abramov c4235e362f Do not create logs symlinks for nodes in discover
Change-Id: Ie5a63e296d70483d29ab73992b8ab38a160baa2d
Closes-Bug: 1640760
2016-11-14 13:10:02 +03:00
deploy Add transfer_snapshots method 2015-08-20 15:40:48 +03:00
deployment/puppet/octane_tasks Remove old repos from compute on preupgrade stage 2016-10-12 09:03:54 +00:00
misc Add all-in-one.sh script for creating all in one commits in Gerrit 2015-09-07 15:36:29 +03:00
octane Do not create logs symlinks for nodes in discover 2016-11-14 13:10:02 +03:00
specs Cleanup %files section in spec 2016-09-08 19:48:06 +00:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:58:59 +00:00
.gitignore Graph-based upgrade-ceph. Puppet part. 2016-09-07 16:14:49 +00:00
.gitreview Update .gitreview for new namespace 2015-10-17 22:20:47 +00:00
.mailmap Initial Cookiecutter Commit. 2015-07-15 11:14:34 +03:00
Gemfile Start testing Puppet related code by CI 2016-08-30 14:21:16 +03:00
Gemfile.lock Start testing Puppet related code by CI 2016-08-30 14:21:16 +03:00
HACKING.rst Cleanup after cookiecutter 2015-07-15 12:23:13 +03:00
LICENSE Initial Cookiecutter Commit. 2015-07-15 11:14:34 +03:00
MAINTAINERS Add octane QA engineers to MAINTEINERS 2016-09-23 15:14:45 +03:00
MANIFEST.in Add octane/bin directory to manifest file 2016-05-23 12:39:20 +00:00
README.rst Update README file for version 9.1 2016-07-26 21:21:22 +00:00
Rakefile Start testing Puppet related code by CI 2016-08-30 14:21:16 +03:00
bindep.txt Fix bindep.txt to work on both dpkg and rpm platforms 2016-08-26 21:39:28 +03:00
requirements.txt Remove paramiko version requirement 2016-04-06 16:52:59 +03:00
setup.cfg py33 is no longer supported by Infra's CI 2016-09-21 08:49:00 +05:30
setup.py Set pyzabbix as an optional dependency 2015-10-16 15:58:48 +03:00
test-requirements.txt Honor upper-constraints 2016-04-21 14:59:58 +03:00
tox.ini Prepare coverage target to gating 2016-09-13 09:31:08 +00:00

README.rst

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 ...