Jump to: navigation, search

Grenade

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 Openstack Development repo on GitHub. Contirbutions can be made through the standard openstack gerrit process (see: Gerrit Workflow) to the openstack-dev/grenade project.

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.