Jump to: navigation, search

Difference between revisions of "Grenade"

 
Line 36: Line 36:
 
* run *-manage db_sync as necessary
 
* run *-manage db_sync as necessary
 
* start processes
 
* start processes
 +
 +
= [[ToDo]] =
 +
 +
Things remaining to be done include:
 +
 +
* completing the upgrade steps for each project
 +
* fleshing out the Javelin sample project created to test data conversion
 +
* writing tests to verify Javelin data
  
 
= Glossary =
 
= Glossary =

Revision as of 17:18, 20 September 2012

What is Grenade?

Grenade is a test harness to exercise the OpenStack upgrade process between releases. It uses DevStack to perform the initial OpenStack install and then walks through upgrading each enabled project.

Using Grenade

At present the README in the source has the steps to try out Grenade.

It is strongly recommended that Grenade be run in a VM. To that end the setup-grenade install script is written to perform the initial checkout on a target VM and copy and modify the local configuration files for DevStack for the target environment. Further changes can be made at this point before running grenade.sh if desired.

Also, hypervisors/clouds with VM snapshot capabilities are quite valuable in developing/debugging the upgrade process to avoid re-running the entire setup and initial DevStack run.

Code

Grenade is hosted in the Nebula Inc public GitHub repo. At this time the contributions are handled via the usual GitHub pull request process.

Branches

Specific branches will be maintained for release combinations that match the regular OpenStack releases. For example, the first maintained branch will be for the Essex -> Folsom upgrade path. Trunk will always be maintained for $LAST_RELEASE -> trunk upgrades.

Upgrades

Grenade uses a series of upgrade_* scripts to perform the actual setps to upgrade each component. These scripts can be run independently and must silently handle repeated runs.

Outline

  • kill running processes
  • source TRUNK_DEVSTACK stackrc
  • set up configuration vars and files
  • get current trunk source (git_clone)
  • configure source (setup_develop)
  • do upgrade changes
  • run *-manage db_sync as necessary
  • start processes

ToDo

Things remaining to be done include:

  • completing the upgrade steps for each project
  • fleshing out the Javelin sample project created to test data conversion
  • writing tests to verify Javelin data

Glossary

  • FINAL_RELEASE - The target release for the upgrade
  • START_RELEASE - The initial release in the upgrade path

Miscellanea

Grenade is released under an Apache 2.0 license.