Improve the UX around sample config generation

This commit just adds some documentation around using the sample config
generator. It also adds a wrapper script that sets the env variable for
running the oslo generator script with tempest.

Change-Id: I860b17defeeb85174e68b1e8b046b0e43c30683b
This commit is contained in:
Matthew Treinish 2013-11-26 15:28:12 +00:00
parent 879cc996d5
commit 6eb0585f70
5 changed files with 21 additions and 1 deletions

View File

@ -186,3 +186,9 @@ Good candidates for stress tests are:
- Scenario tests - Scenario tests
- API tests that have a wide focus - API tests that have a wide focus
Sample Configuration File
-------------------------
The sample config file is autogenerated using a script. If any changes are made
to the config variables in tempest then the sample config file must be
regenerated. This can be done running the script: tools/generate_sample.sh

View File

@ -79,6 +79,9 @@ Detailed configuration of tempest is beyond the scope of this
document. The etc/tempest.conf.sample attempts to be a self document. The etc/tempest.conf.sample attempts to be a self
documenting version of the configuration. documenting version of the configuration.
The sample config file is auto generated using the script:
tools/generate_sample.sh
The most important pieces that are needed are the user ids, openstack The most important pieces that are needed are the user ids, openstack
endpoints, and basic flavors and images needed to run tests. endpoints, and basic flavors and images needed to run tests.

View File

@ -21,6 +21,15 @@ import sys
from tempest import config from tempest import config
from tempest.openstack.common.config import generator from tempest.openstack.common.config import generator
# NOTE(mtreinish): This hack is needed because of how oslo config is used in
# tempest. Tempest is run from inside a test runner and so we can't rely on the
# global CONF object being fully populated when we run a test. (test runners
# don't init every file for running a test) So to get around that we manually
# load the config file in tempest for each test class to ensure that every
# config option is set. However, the tool expects the CONF object to be fully
# populated when it inits all the files in the project. This just works around
# the issue by manually loading the config file (which may or may not exist)
# which will populate all the options before running the generator.
config.TempestConfig() config.TempestConfig()
generator.generate(sys.argv[1:]) generator.generate(sys.argv[1:])

View File

@ -5,6 +5,6 @@ tools/config/generate_sample.sh -b ./ -p tempest -o $TEMPDIR
if ! diff $TEMPDIR/$CFGFILE etc/$CFGFILE if ! diff $TEMPDIR/$CFGFILE etc/$CFGFILE
then then
echo "E: tempest.conf.sample is not up to date, please run:" echo "E: tempest.conf.sample is not up to date, please run:"
echo "MODULEPATH=tempest.common.generate_sample_tempest tools/config/generate_sample.sh" echo "tools/generate_sample.sh"
exit 42 exit 42
fi fi

2
tools/generate_sample.sh Executable file
View File

@ -0,0 +1,2 @@
#!/bin/sh
MODULEPATH=tempest.common.generate_sample_tempest tools/config/generate_sample.sh $@