https://github.com/rcbops/exerstack
devstack based cli exercisers
https://github.com/rcbops/exerstack
Last synced: 11 months ago
JSON representation
devstack based cli exercisers
- Host: GitHub
- URL: https://github.com/rcbops/exerstack
- Owner: rcbops
- Created: 2012-01-31T21:11:01.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2017-05-05T20:35:35.000Z (about 9 years ago)
- Last Synced: 2024-04-14T15:54:42.195Z (about 2 years ago)
- Language: Shell
- Homepage:
- Size: 536 KB
- Stars: 4
- Watchers: 76
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
exerstack
=========
Description
--
exerstack is a bash tool to test each of the python command line clients from the core OpenStack projects (glance, nova, swift, keystone, horizon)
Basic usage
--
`exercise.sh [release] [tests]`
Examples:
`exercise.sh`
will run all tests that exist in the exercises directory against the default release (as defined in the top of the exerstack.sh script), unless skipped in testmap.conf
`exercise.sh essex-final`
will run all tests that exist in the exercises directory, unless skipped in testmap.conf
`exercise.sh essex-final glance.sh`
will run all glance tests that are valid for the essex-final release, unless skipped in testmap.conf
Files
--
`exercise.sh` - main script
`exercises/*` - each script in here defines a set of tests for a particular client
`exercises/include/*` - supporting files for some of the tests
`testmap.conf` - defines the tests you would like to skip, and the conditions under which you want to skip them
`openrc` - defines global environment variables
`localrc` - (optional) defines your own overrides for environment variables in here - gets called by openrc
configuring testmap.conf
--
testmap.conf can skip entire test sets (an entire *.sh file in exercises/), or individual tests within a test set. Since OpenStack releases are alphabetical, it uses lexical comparison to see if a release is 'older than' or 'newer than' the one specified in the skip condition (ie diablo-final is 'older than' essex-e2 because d comes before e in the alphabet)
The structure of a skip condition is as follows:
`[test_set:optional_test_name]="condition (<=>) release : message`
Examples:
`[keystone-manage]="< essex-e4 : keystone-legacy was replaced with keystone-ksl in essex >= e4"`
skips the entire keystone-manage.sh test set for any release that is 'newer than' essex-e4.
`[glance:011_glance_delete-TOKEN]="< essex-e3 : glance token auth works on essex < e3"`
skips the test '011\_glance\_delete-TOKEN' within the glance.sh test set, for any release that is 'newer than' essex-e3