Update docs
This commit is contained in:
parent
a0a792020a
commit
0cabd34c74
64
README.rst
64
README.rst
@ -3,25 +3,43 @@ Grenade
|
|||||||
|
|
||||||
Grenade is an OpenStack test harness to exercise the upgrade process
|
Grenade is an OpenStack test harness to exercise the upgrade process
|
||||||
between releases. It uses DevStack to perform an initial OpenStack
|
between releases. It uses DevStack to perform an initial OpenStack
|
||||||
install and as a reference for the final configuration.
|
install and as a reference for the final configuration. Currently
|
||||||
|
Grenade upgrades Keystone, Glance, Nova, Cinder and Swift in
|
||||||
|
their default DevStack configurations.
|
||||||
|
|
||||||
This branch tests the upgrade path from Folsom to Grizzly development
|
The master branch tests the upgrade path from the previous release
|
||||||
for Keystone, Glance, Nova and Cinder.
|
(aka 'base') to the current trunk (aka 'target'). Stable branches
|
||||||
|
of grenade will be created soon after an OpenStack release and after
|
||||||
|
a corresponding DevStack stable branch is available.
|
||||||
|
|
||||||
If you are looking for the Essex -> Folsom upgrade check out the
|
For example, following the release of Grizzly and the creation of
|
||||||
``stable/folsom`` branch.
|
DevStack's stable/grizzly branch a similar stable/grizzly branch
|
||||||
|
of Grenade will be created. At that time master will be re-worked
|
||||||
|
to base on Grizzly and the cycle will continue.
|
||||||
|
|
||||||
Status
|
|
||||||
------
|
|
||||||
|
|
||||||
Development has begun for the Folsom (base-release) -> Grizzly (target-release) upgrade.
|
|
||||||
|
|
||||||
Goals
|
Goals
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
Continually test the upgrade process between OpenStack releases to
|
||||||
|
find issues as they are introduced so they can be fixed immediately.
|
||||||
|
|
||||||
|
|
||||||
|
Status
|
||||||
|
------
|
||||||
|
|
||||||
|
Preparations are ongoing to add Grenade as a non-voting job in the
|
||||||
|
OpenStack CI Jenkins.
|
||||||
|
|
||||||
|
* Testing of the 'javelin' project artifacts is incomplete
|
||||||
|
|
||||||
|
Process
|
||||||
|
-------
|
||||||
|
|
||||||
* Install base OpenStack using current stable/<base-release> DevStack
|
* Install base OpenStack using current stable/<base-release> DevStack
|
||||||
* Perform basic testing (exercise.sh)
|
* Perform basic testing (exercise.sh)
|
||||||
* Create some non-default configuration to use as a conversion reference
|
* Create some artifacts in a new project ('javelin') for comparison
|
||||||
|
after the upgrade process.
|
||||||
* Install current target DevStack to support the upgrades
|
* Install current target DevStack to support the upgrades
|
||||||
* Run upgrade scripts preserving (running?) instances and data
|
* Run upgrade scripts preserving (running?) instances and data
|
||||||
|
|
||||||
@ -32,7 +50,7 @@ Terminology
|
|||||||
Grenade has two DevStack installs present and distinguished between then
|
Grenade has two DevStack installs present and distinguished between then
|
||||||
as 'base' and 'target'.
|
as 'base' and 'target'.
|
||||||
|
|
||||||
* **Base**: The initial install that is will be upgraded.
|
* **Base**: The initial install that will be upgraded.
|
||||||
* **Target**: The reference install of target OpenStack (maybe just DevStack)
|
* **Target**: The reference install of target OpenStack (maybe just DevStack)
|
||||||
|
|
||||||
|
|
||||||
@ -43,15 +61,17 @@ Grenade creates a set of directories for both the base and target
|
|||||||
OpenStack installation sources and DevStack.
|
OpenStack installation sources and DevStack.
|
||||||
|
|
||||||
$DEST
|
$DEST
|
||||||
|- data
|
|
||||||
|- logs # Grenade logs
|
|- logs # Grenade logs
|
||||||
|- <base>
|
|- <base>
|
||||||
|
| |- data # base data
|
||||||
| |- logs # base DevStack logs
|
| |- logs # base DevStack logs
|
||||||
| |- devstack
|
| |- devstack
|
||||||
|
| |- images # cache of downloaded images
|
||||||
| |- cinder
|
| |- cinder
|
||||||
| |- ...
|
| |- ...
|
||||||
| |- swift
|
| |- swift
|
||||||
|- <target>
|
|- <target>
|
||||||
|
| |- data # target data
|
||||||
| |- logs # target DevStack logs
|
| |- logs # target DevStack logs
|
||||||
| |- devstack
|
| |- devstack
|
||||||
| |- cinder
|
| |- cinder
|
||||||
@ -85,10 +105,10 @@ for DevStack that are used to customize its behaviour for use with Grenade.
|
|||||||
If ``$DEST/devstack.$BASE_RELEASE/localrc`` does not exist the following is
|
If ``$DEST/devstack.$BASE_RELEASE/localrc`` does not exist the following is
|
||||||
performed by ``prep-base``:
|
performed by ``prep-base``:
|
||||||
|
|
||||||
* ``devstack.localrc.base`` is copied to to ``$DEST/devstack.folsom/localrc``
|
* ``devstack.localrc.base`` is copied to to ``$DEST/$BASE_RELEASE/devstack/localrc``
|
||||||
* if ``devstack.localrc`` exists it is appended ``$DEST/devstack.folsom/localrc``
|
* if ``devstack.localrc`` exists it is appended ``$DEST/$BASE_RELEASE/devstack/localrc``
|
||||||
|
|
||||||
Similar steps are performed by ``prep-target`` for ``devstack.grizzly``.
|
Similar steps are performed by ``prep-target`` for ``$DEST/$BASE_RELEASE/devstack``.
|
||||||
|
|
||||||
``devstack.localrc`` will be appended to both DevStack ``localrc`` files if it
|
``devstack.localrc`` will be appended to both DevStack ``localrc`` files if it
|
||||||
exists. ``devstack.localrc`` is not included in Grenade and will not be
|
exists. ``devstack.localrc`` is not included in Grenade and will not be
|
||||||
@ -113,17 +133,18 @@ Prepare For An Upgrade Test
|
|||||||
|
|
||||||
./grenade.sh
|
./grenade.sh
|
||||||
|
|
||||||
``grenade.sh`` installs DevStack for the **Base** release (Folsom) and
|
``grenade.sh`` installs DevStack for the **Base** release and
|
||||||
runs its ``stack.sh``. Then it creates a 'javelin' project containing
|
runs its ``stack.sh``. Then it creates a 'javelin' project containing
|
||||||
some non-default configuration.
|
some non-default configuration.
|
||||||
|
|
||||||
This is roughly the equivalent to::
|
This is roughly the equivalent to::
|
||||||
|
|
||||||
grenade/prep-base
|
grenade/prep-base
|
||||||
cd /opt/stack/devstack.essex
|
(cd /opt/stack/folsom/devstack
|
||||||
./stack.sh
|
./stack.sh)
|
||||||
grenade/setup-javelin
|
grenade/setup-javelin
|
||||||
./unstack.sh
|
(cd /opt/stack/folsom/devstack
|
||||||
|
./unstack.sh)
|
||||||
# dump databases to $DEST/save
|
# dump databases to $DEST/save
|
||||||
grenade/prep-target
|
grenade/prep-target
|
||||||
grenade/upgrade-packages
|
grenade/upgrade-packages
|
||||||
@ -131,9 +152,10 @@ This is roughly the equivalent to::
|
|||||||
grenade/upgrade-keystone
|
grenade/upgrade-keystone
|
||||||
grenade/upgrade-glance
|
grenade/upgrade-glance
|
||||||
grenade/upgrade-nova
|
grenade/upgrade-nova
|
||||||
grenade/upgrade-volume
|
grenade/upgrade-cinder
|
||||||
|
grenade/upgrade-swift
|
||||||
|
|
||||||
The **Target** release (Grizzly) of DevStack is installed in a different
|
The **Target** release of DevStack is installed in a different
|
||||||
directory from the **Base** release.
|
directory from the **Base** release.
|
||||||
|
|
||||||
While the **Base** release is running an imaginary **Javelin** tenant
|
While the **Base** release is running an imaginary **Javelin** tenant
|
||||||
|
Loading…
x
Reference in New Issue
Block a user