Allow convergence-specific Tempest tests

Add a "convergence_engine_enabled" configuration option to the functional
tests' Tempest plugin. The option is enabled by default, but can be
disabled by setting the DISABLE_CONVERGENCE environment variable to "true"
when running prepare_test_env.sh, so that if convergence is disabled in
devstack it will also be disabled in Tempest.

This will allow us to write functional tests for convergence-specific (or
non-convergence-specific) behaviours.

Change-Id: If3a37de75467d50af10582215e16611e59a4ad06
This commit is contained in:
Zane Bitter 2017-10-05 14:19:32 -04:00
parent 163d85a3ca
commit dfd34a00f3
3 changed files with 19 additions and 0 deletions

View File

@ -140,6 +140,10 @@ HeatGroup = [
cfg.ListOpt('skip_test_stack_action_list',
help="List of stack actions in tests to skip "
"ex. ABANDON, ADOPT, SUSPEND, RESUME"),
cfg.BoolOpt('convergence_engine_enabled',
default=True,
help="Test features that are only present for stacks with "
"convergence enabled."),
cfg.IntOpt('volume_size',
default=1,
help='Default size in GB for volumes created by volumes tests'),

View File

@ -68,6 +68,17 @@ def rand_name(name=''):
return randbits
def requires_convergence(test_method):
'''Decorator for convergence-only tests.
The decorated test will be skipped when convergence is disabled.
'''
convergence_enabled = config.CONF.heat_plugin.convergence_engine_enabled
skipper = testtools.skipUnless(convergence_enabled,
"Convergence-only tests are disabled")
return skipper(test_method)
class HeatIntegrationTest(testscenarios.WithScenarios,
testtools.TestCase):

View File

@ -66,4 +66,8 @@ iniset $conf_file heat_plugin skip_functional_test_list 'CancelUpdateTest.test_c
# test_server_signal_userdata_format_software_config is skipped untill bug #1651768 is resolved
iniset $conf_file heat_plugin skip_scenario_test_list 'SoftwareConfigIntegrationTest, VolumeBackupRestoreIntegrationTest'
if [ "$DISABLE_CONVERGENCE" == "true" ]; then
iniset $conf_file heat_plugin convergence_engine_enabled false
fi
cat $conf_file