Merge "Enhance Shaker to support custom user options"

This commit is contained in:
Zuul 2018-11-07 10:10:42 +00:00 committed by Gerrit Code Review
commit fa8efac93b
6 changed files with 48 additions and 4 deletions

1
.gitignore vendored
View File

@ -13,6 +13,7 @@ doc/build/
doc/source/api/ doc/source/api/
*.egg-info *.egg-info
*.egg *.egg
*.eggs
.autogenerated .autogenerated
.coverage .coverage
.stestr/ .stestr/

View File

@ -2,7 +2,8 @@ usage: shaker-all-in-one [-h] [--agent-join-timeout AGENT_JOIN_TIMEOUT]
[--agent-loss-timeout AGENT_LOSS_TIMEOUT] [--agent-loss-timeout AGENT_LOSS_TIMEOUT]
[--artifacts-dir ARTIFACTS_DIR] [--book BOOK] [--artifacts-dir ARTIFACTS_DIR] [--book BOOK]
[--cleanup] [--cleanup-on-error] [--config-dir DIR] [--cleanup] [--cleanup-on-error] [--config-dir DIR]
[--config-file PATH] [--debug] [--config-file PATH]
[--custom_user_opts CUSTOM_USER_OPTS] [--debug]
[--dns-nameservers DNS_NAMESERVERS] [--dns-nameservers DNS_NAMESERVERS]
[--external-net EXTERNAL_NET] [--external-net EXTERNAL_NET]
[--flavor-disk FLAVOR_DISK] [--flavor-disk FLAVOR_DISK]
@ -69,6 +70,14 @@ optional arguments:
--config-file PATH Path to a config file to use. Multiple config files --config-file PATH Path to a config file to use. Multiple config files
can be specified, with values in later files taking can be specified, with values in later files taking
precedence. Defaults to None. precedence. Defaults to None.
--custom_user_opts CUSTOM_USER_OPTS
Set custom user option parameters for the scenario.
The value is specified in YAML, e.g. custom_user_opts
= { key1:value1, key2:value2} The values specified can
be referenced in the usual python way. e.g. {{
CONF.custom_user_opts['key1'] }}. This option is
useful to inject custom values into heat environment
files
--debug, -d If set to true, the logging level will be set to DEBUG --debug, -d If set to true, the logging level will be set to DEBUG
instead of the default INFO level. instead of the default INFO level.
--dns-nameservers DNS_NAMESERVERS --dns-nameservers DNS_NAMESERVERS

View File

@ -1,5 +1,6 @@
usage: shaker-spot [-h] [--artifacts-dir ARTIFACTS_DIR] [--book BOOK] usage: shaker-spot [-h] [--artifacts-dir ARTIFACTS_DIR] [--book BOOK]
[--config-dir DIR] [--config-file PATH] [--debug] [--config-dir DIR] [--config-file PATH]
[--custom_user_opts CUSTOM_USER_OPTS] [--debug]
[--log-config-append PATH] [--log-date-format DATE_FORMAT] [--log-config-append PATH] [--log-date-format DATE_FORMAT]
[--log-dir LOG_DIR] [--log-file PATH] [--matrix MATRIX] [--log-dir LOG_DIR] [--log-file PATH] [--matrix MATRIX]
[--no-report-on-error] [--nodebug] [--nono-report-on-error] [--no-report-on-error] [--nodebug] [--nono-report-on-error]
@ -29,6 +30,14 @@ optional arguments:
--config-file PATH Path to a config file to use. Multiple config files --config-file PATH Path to a config file to use. Multiple config files
can be specified, with values in later files taking can be specified, with values in later files taking
precedence. Defaults to None. precedence. Defaults to None.
--custom_user_opts CUSTOM_USER_OPTS
Set custom user option parameters for the scenario.
The value is specified in YAML, e.g. custom_user_opts
= { key1:value1, key2:value2} The values specified can
be referenced in the usual python way. e.g. {{
CONF.custom_user_opts['key1'] }}. This option is
useful to inject custom values into heat environment
files
--debug, -d If set to true, the logging level will be set to DEBUG --debug, -d If set to true, the logging level will be set to DEBUG
instead of the default INFO level. instead of the default INFO level.
--log-config-append PATH, --log-config PATH, --log_config PATH --log-config-append PATH, --log-config PATH, --log_config PATH

View File

@ -2,7 +2,8 @@ usage: shaker [-h] [--agent-join-timeout AGENT_JOIN_TIMEOUT]
[--agent-loss-timeout AGENT_LOSS_TIMEOUT] [--agent-loss-timeout AGENT_LOSS_TIMEOUT]
[--artifacts-dir ARTIFACTS_DIR] [--book BOOK] [--artifacts-dir ARTIFACTS_DIR] [--book BOOK]
[--cleanup-on-error] [--config-dir DIR] [--config-file PATH] [--cleanup-on-error] [--config-dir DIR] [--config-file PATH]
[--debug] [--dns-nameservers DNS_NAMESERVERS] [--custom_user_opts CUSTOM_USER_OPTS] [--debug]
[--dns-nameservers DNS_NAMESERVERS]
[--external-net EXTERNAL_NET] [--flavor-name FLAVOR_NAME] [--external-net EXTERNAL_NET] [--flavor-name FLAVOR_NAME]
[--image-name IMAGE_NAME] [--log-config-append PATH] [--image-name IMAGE_NAME] [--log-config-append PATH]
[--log-date-format DATE_FORMAT] [--log-dir LOG_DIR] [--log-date-format DATE_FORMAT] [--log-dir LOG_DIR]
@ -55,6 +56,14 @@ optional arguments:
--config-file PATH Path to a config file to use. Multiple config files --config-file PATH Path to a config file to use. Multiple config files
can be specified, with values in later files taking can be specified, with values in later files taking
precedence. Defaults to None. precedence. Defaults to None.
--custom_user_opts CUSTOM_USER_OPTS
Set custom user option parameters for the scenario.
The value is specified in YAML, e.g. custom_user_opts
= { key1:value1, key2:value2} The values specified can
be referenced in the usual python way. e.g. {{
CONF.custom_user_opts['key1'] }}. This option is
useful to inject custom values into heat environment
files
--debug, -d If set to true, the logging level will be set to DEBUG --debug, -d If set to true, the logging level will be set to DEBUG
instead of the default INFO level. instead of the default INFO level.
--dns-nameservers DNS_NAMESERVERS --dns-nameservers DNS_NAMESERVERS

View File

@ -246,6 +246,13 @@
# to SCENARIO_COMPUTE_NODES (integer value) # to SCENARIO_COMPUTE_NODES (integer value)
#scenario_compute_nodes = <None> #scenario_compute_nodes = <None>
# Set custom user option parameters for the scenario. The value is specified in
# YAML, e.g. custom_user_opts = { key1:value1, key2:value2} The values
# specified can be referenced in the usual python way. e.g. {{
# CONF.custom_user_opts['key1'] }}. This option is useful to inject custom
# values into heat environment files (string value)
#custom_user_opts = <None>
# Timeout to treat agent as lost in seconds, defaults to # Timeout to treat agent as lost in seconds, defaults to
# env[SHAKER_AGENT_LOSS_TIMEOUT] (integer value) # env[SHAKER_AGENT_LOSS_TIMEOUT] (integer value)
#agent_loss_timeout = 60 #agent_loss_timeout = 60

View File

@ -166,7 +166,6 @@ OPENSTACK_OPTS = [
default=(utils.env('SHAKER_CLEANUP_ON_ERROR') or True), default=(utils.env('SHAKER_CLEANUP_ON_ERROR') or True),
help='Clean up the heat-stack upon any error occurred during ' help='Clean up the heat-stack upon any error occurred during '
'scenario execution.'), 'scenario execution.'),
] ]
SERVER_AGENT_OPTS = [ SERVER_AGENT_OPTS = [
@ -228,6 +227,16 @@ SCENARIO_OPTS = [
'override the compute_nodes accomodation setting in the ' 'override the compute_nodes accomodation setting in the '
'scenario test definition. ' 'scenario test definition. '
'Defaults to SCENARIO_COMPUTE_NODES'), 'Defaults to SCENARIO_COMPUTE_NODES'),
cfg.Opt('custom_user_opts',
default=utils.env('CUSTOM_USER_OPTS'),
type=Yaml(),
help='Set custom user option parameters for the scenario. '
'The value is specified in YAML, e.g. '
'custom_user_opts = { key1:value1, key2:value2} '
'The values specified can be referenced in the usual '
'python way. e.g. {{ CONF.custom_user_opts[\'key1\'] }}. '
'This option is useful to inject custom values into heat '
'environment files'),
] ]
SERVER_OPTS = SCENARIO_OPTS + SERVER_AGENT_OPTS SERVER_OPTS = SCENARIO_OPTS + SERVER_AGENT_OPTS