From 56fc094b2a80a74404c168101a5e6062fc8684f7 Mon Sep 17 00:00:00 2001 From: Oleg Gelbukh Date: Fri, 22 Jul 2016 10:17:20 +0000 Subject: [PATCH] Update README file for version 9.1 Describe the current workflows with octane in README.rst file. Change-Id: Ic51af24fba70d0e2ebb3378472547b124c9d1b95 --- README.md | 145 -------------------------------------- README.rst | 201 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 197 insertions(+), 149 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index 11f163c6..00000000 --- a/README.md +++ /dev/null @@ -1,145 +0,0 @@ -# Octane upgrade workflow - -## Prerequisites - -In this manual we assume that user manages their environment with Fuel 5.1.1 and -has successfully upgraded it to Fuel 7.0 with the standard procedure. - -Environments with the following configuration can be upgraded with Octane: - -- Ubuntu operating system -- HA Multinode deployment mode -- KVM Compute -- Neutron with VLAN segmentation -- Ceph backend for Cinder AND Glance (Optional) -- No additional services installed (like Sahara, Murano, Ceilometer, etc) - -## Install Octane - -Create archive from this repository with `git archive` command and copy it to -your Fuel Master host. - -Unpack Octane tarball to /root/ directory. Change to bin/ directory of Octane. - -``` -[root@fuel ~]# cd /root/octane/octane/bin -``` - -Run Octane script to install necessary packages on Fuel master and patch -manifests and source code of components. - -``` -[root@fuel bin]# yum install -y git python-pip python-paramiko -[root@fuel bin]# ./octane prepare -``` - -## Install 7.0 Seed environment - -First, pick the environment of version 5.1.1 you want to upgrade. Log in to Fuel -Master node and run: - -``` -[root@fuel bin]# fuel env -```` - -Find the environment you selected for upgrade and remember its ID. We will refer -to it as `ORIG_ID` below. - -Use Octane script to create Upgrade Seed environment. - -``` -[root@fuel bin]# octane upgrade-env -``` - -Remember the ID of resulting environment for later use, or store it to variable. -We will refer to it as later on. - -### Upgrade controller #1 - -Choose added controller nodes from the list of unallocated nodes: - -``` -[root@fuel bin]# fuel node | grep discover -``` - -Remember the IDs of the nodes and run the following command replacing -with that number: - -``` -[root@fuel bin]# octane -v --debug install-node --isolated \ - [, ...] -``` - -This command will install controller(s)with version 7.0 in Upgrade Seed -environment. - -### Upgrade State DB - -State Database contains all metadata and status data of virtual resources in -your cloud environment. Octane transfers that data to 7.0 environment as a part -of upgrade of CIC using the following command: - -``` -[root@fuel bin]# octane upgrade-db -``` - -Before it starts data transfer, Octane stops all services on 7.0 CICs, and -disables APIs on 5.1.1 CICs, putting the environment into **Maintenance mode**. - -### Upgrade Ceph cluster (OPTIONAL) - -Configuration of original Ceph cluster must be replicated to the 7.0 -environment. Use the following command to update configuration and restart -Ceph monitor at 7.0 controller: - -``` -[root@fuel bin]# octane upgrade-ceph -``` - -Verify the successful update using the following command: - -``` -[root@fuel bin]# ssh root@node- "ceph health" -``` - -## Replace CICs 5.1.1 with 7.0 - -Now start all services on 7.0 CICs with upgraded data and redirect Compute -nodes from 5.1.1 CICs to 7.0 CICs. - -Following Octane script will start all services on 7.0 CICs, then disconnect 5.1 -CICs from Management and Public networks, while keeping connection between CICs -themselves, and connect 7.0 CICs to those networks: - -``` -[root@fuel bin]# octane upgrade-control ORIG_ID SEED_ID -``` - -### Upgrade compute nodes - -Select a node to upgrade from the list of nodes in 5.1.1 environment: - -``` -[root@fuel bin]# fuel node --env -``` - -Run Octane script with 'upgrade-node' command to reassign node to 7.0 -environment and upgrade it. You need to specify ID of the node as a second -argument. - -``` -[root@fuel bin]# octane upgrade-node [ ...] -``` - -Repeat this process until all nodes are reassigned from 5.1.1 to 7.0 environment. - -## Finish upgrade - -### Clean up the Fuel Master node - -Run 'cleanup-fuel' command to revert all changes made to components of the Fuel -installer and uninstall temporary packages. - -``` -[root@fuel bin]# ./octane cleanup-fuel -``` diff --git a/README.rst b/README.rst index a93d2953..8b6c57af 100644 --- a/README.rst +++ b/README.rst @@ -4,9 +4,9 @@ octane Octane - upgrade your Fuel. -Please feel here a long description which must be at least 3 lines wrapped on -80 cols, so that distribution package maintainers can use it in their packages. -Note that this is a hard requirement. +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. * Free software: Apache license * Documentation: http://docs.openstack.org/developer/octane @@ -16,4 +16,197 @@ Note that this is a hard requirement. Features -------- -* TODO +* 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= + +Replace ```` 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= + +Run command to create Upgrade Seed environment: + +:: + + octane upgrade-env $SEED_ID + +Remember ID of environment that will be shown: + +:: + + export ORIG_ID= + +Upgrade controller #1 +^^^^^^^^^^^^^^^^^^^^^ + +Pick controller with minimal ID: + +:: + + export $NODE_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= + ... + +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 ...