
This commit enhances Shaker to allow: - specifying a custom stack name, instead of always using a uniquely generated one. This helps with tracking test stacks in CICD and/or allowing users to be more descriptive when looking at running heat stacks - reusing an existing test stack, rather than re-stacking. This is to allow the following scenario: Execute scenario A (setting cleanup_on_error = false) to establish baseline data. Perform some update in Openstack (config change, cert rotation, etc). Reuse the existing VMs from the baseline test to re-execute scenario A to help ensure the update had no impact. Change-Id: Ifbdd332a44ca54f06cc81d9018ea5cea26c32416
245 lines
15 KiB
Plaintext
245 lines
15 KiB
Plaintext
usage: shaker [-h] [--agent-join-timeout AGENT_JOIN_TIMEOUT]
|
|
[--agent-loss-timeout AGENT_LOSS_TIMEOUT]
|
|
[--artifacts-dir ARTIFACTS_DIR] [--book BOOK]
|
|
[--cleanup-on-error] [--config-dir DIR] [--config-file PATH]
|
|
[--custom-user-opts CUSTOM_USER_OPTS] [--debug]
|
|
[--dns-nameservers DNS_NAMESERVERS]
|
|
[--external-net EXTERNAL_NET] [--flavor-name FLAVOR_NAME]
|
|
[--image-name IMAGE_NAME] [--log-config-append PATH]
|
|
[--log-date-format DATE_FORMAT] [--log-dir LOG_DIR]
|
|
[--log-file PATH] [--matrix MATRIX] [--no-report-on-error]
|
|
[--nocleanup-on-error] [--nodebug] [--nono-report-on-error]
|
|
[--noos-insecure] [--nouse-journal] [--nouse-json]
|
|
[--nouse-syslog] [--nowatch-log-file] [--os-auth-url <auth-url>]
|
|
[--os-cacert <auth-cacert>]
|
|
[--os-identity-api-version <identity-api-version>]
|
|
[--os-insecure] [--os-interface <os-interface>]
|
|
[--os-password <auth-password>] [--os-profile <hmac-key>]
|
|
[--os-project-domain-name <auth-project-domain-name>]
|
|
[--os-project-name <auth-project-name>]
|
|
[--os-region-name <auth-region-name>]
|
|
[--os-tenant-name <auth-tenant-name>]
|
|
[--os-user-domain-name <auth-user-domain-name>]
|
|
[--os-username <auth-username>] [--output OUTPUT]
|
|
[--polling-interval POLLING_INTERVAL] [--report REPORT]
|
|
[--report-template REPORT_TEMPLATE]
|
|
[--reuse-stack-name REUSE_STACK_NAME] [--scenario SCENARIO]
|
|
[--scenario-availability-zone SCENARIO_AVAILABILITY_ZONE]
|
|
[--scenario-compute-nodes SCENARIO_COMPUTE_NODES]
|
|
[--server-endpoint SERVER_ENDPOINT] [--stack-name STACK_NAME]
|
|
[--subunit SUBUNIT] [--syslog-log-facility SYSLOG_LOG_FACILITY]
|
|
[--use-journal] [--use-json] [--use-syslog] [--watch-log-file]
|
|
|
|
optional arguments:
|
|
-h, --help show this help message and exit
|
|
--agent-join-timeout AGENT_JOIN_TIMEOUT
|
|
Timeout to treat agent as join failed in seconds,
|
|
defaults to env[SHAKER_AGENT_JOIN_TIMEOUT] (time
|
|
between stack deployment and start of scenario
|
|
execution).
|
|
--agent-loss-timeout AGENT_LOSS_TIMEOUT
|
|
Timeout to treat agent as lost in seconds, defaults to
|
|
env[SHAKER_AGENT_LOSS_TIMEOUT]
|
|
--artifacts-dir ARTIFACTS_DIR
|
|
If specified, directs Shaker to store there all its
|
|
artifacts (output, report, subunit and book). Defaults
|
|
to env[SHAKER_ARTIFACTS_DIR].
|
|
--book BOOK Generate report in ReST format and store it into the
|
|
specified folder, defaults to env[SHAKER_BOOK].
|
|
--cleanup-on-error Clean up the heat-stack upon any error occurred during
|
|
scenario execution.
|
|
--config-dir DIR Path to a config directory to pull `*.conf` files
|
|
from. This file set is sorted, so as to provide a
|
|
predictable parse order if individual options are
|
|
over-ridden. The set is parsed after the file(s)
|
|
specified via previous --config-file, arguments hence
|
|
over-ridden options in the directory take precedence.
|
|
This option must be set from the command-line.
|
|
--config-file PATH Path to a config file to use. Multiple config files
|
|
can be specified, with values in later files taking
|
|
precedence. Defaults to None. This option must be set
|
|
from the command-line.
|
|
--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
|
|
instead of the default INFO level.
|
|
--dns-nameservers DNS_NAMESERVERS
|
|
Comma-separated list of IPs of the DNS nameservers for
|
|
the subnets. If no value is provided defaults to
|
|
Google Public DNS.
|
|
--external-net EXTERNAL_NET
|
|
Name or ID of external network, defaults to
|
|
env[SHAKER_EXTERNAL_NET]. If no value provided then
|
|
Shaker picks any of available external networks.
|
|
--flavor-name FLAVOR_NAME
|
|
Name of image flavor. The default is created by
|
|
shaker-image-builder.
|
|
--image-name IMAGE_NAME
|
|
Name of image to use. The default is created by
|
|
shaker-image-builder.
|
|
--log-config-append PATH, --log-config PATH, --log_config PATH
|
|
The name of a logging configuration file. This file is
|
|
appended to any existing logging configuration files.
|
|
For details about logging configuration files, see the
|
|
Python logging module documentation. Note that when
|
|
logging configuration files are used then all logging
|
|
configuration is set in the configuration file and
|
|
other logging configuration options are ignored (for
|
|
example, log-date-format).
|
|
--log-date-format DATE_FORMAT
|
|
Defines the format string for %(asctime)s in log
|
|
records. Default: None . This option is ignored if
|
|
log_config_append is set.
|
|
--log-dir LOG_DIR, --logdir LOG_DIR
|
|
(Optional) The base directory used for relative
|
|
log_file paths. This option is ignored if
|
|
log_config_append is set.
|
|
--log-file PATH, --logfile PATH
|
|
(Optional) Name of log file to send logging output to.
|
|
If no default is set, logging will go to stderr as
|
|
defined by use_stderr. This option is ignored if
|
|
log_config_append is set.
|
|
--matrix MATRIX Set the matrix of parameters for the scenario. The
|
|
value is specified in YAML format. E.g. to override
|
|
the scenario duration one may provide: "{time: 10}",
|
|
or to override list of hosts: "{host:[ping.online.net,
|
|
iperf.eenet.ee]}". When several parameters are
|
|
overridden all combinations are tested
|
|
--no-report-on-error Do not generate report for failed scenarios
|
|
--nocleanup-on-error The inverse of --cleanup-on-error
|
|
--nodebug The inverse of --debug
|
|
--nono-report-on-error
|
|
The inverse of --no-report-on-error
|
|
--noos-insecure The inverse of --os-insecure
|
|
--nouse-journal The inverse of --use-journal
|
|
--nouse-json The inverse of --use-json
|
|
--nouse-syslog The inverse of --use-syslog
|
|
--nowatch-log-file The inverse of --watch-log-file
|
|
--os-auth-url <auth-url>
|
|
Authentication URL, defaults to env[OS_AUTH_URL].
|
|
--os-cacert <auth-cacert>
|
|
Location of CA Certificate, defaults to
|
|
env[OS_CACERT].
|
|
--os-identity-api-version <identity-api-version>
|
|
Identity API version, defaults to
|
|
env[OS_IDENTITY_API_VERSION].
|
|
--os-insecure When using SSL in connections to the registry server,
|
|
do not require validation via a certifying authority,
|
|
defaults to env[OS_INSECURE].
|
|
--os-interface <os-interface>
|
|
Interface type. Valid options are public, admin and
|
|
internal. defaults to env[OS_INTERFACE].
|
|
--os-password <auth-password>
|
|
Authentication password, defaults to env[OS_PASSWORD].
|
|
--os-profile <hmac-key>
|
|
HMAC key for encrypting profiling context data,
|
|
defaults to env[OS_PROFILE].
|
|
--os-project-domain-name <auth-project-domain-name>
|
|
Authentication project domain name. Defaults to
|
|
env[OS_PROJECT_DOMAIN_NAME].
|
|
--os-project-name <auth-project-name>
|
|
Authentication project name. This option is mutually
|
|
exclusive with --os-tenant-name. Defaults to
|
|
env[OS_PROJECT_NAME].
|
|
--os-region-name <auth-region-name>
|
|
Authentication region name, defaults to
|
|
env[OS_REGION_NAME].
|
|
--os-tenant-name <auth-tenant-name>
|
|
Authentication tenant name, defaults to
|
|
env[OS_TENANT_NAME].
|
|
--os-user-domain-name <auth-user-domain-name>
|
|
Authentication username. Defaults to
|
|
env[OS_USER_DOMAIN_NAME].
|
|
--os-username <auth-username>
|
|
Authentication username, defaults to env[OS_USERNAME].
|
|
--output OUTPUT File for output in JSON format, defaults to
|
|
env[SHAKER_OUTPUT]. If it is empty, then output will
|
|
be saved to /tmp/shaker_<time_now>.json
|
|
--polling-interval POLLING_INTERVAL
|
|
How frequently the agent polls server, in seconds
|
|
--report REPORT Report file name, defaults to env[SHAKER_REPORT].
|
|
--report-template REPORT_TEMPLATE
|
|
Template for report. Can be a file name or one of
|
|
aliases: "interactive", "json". Defaults to
|
|
"interactive".
|
|
--reuse-stack-name REUSE_STACK_NAME
|
|
Name of an existing Shaker heat stack to reuse. The
|
|
default is to not reuse an existing stack. Caution
|
|
should be taken to only reuse stacks meant for a
|
|
specific scenario. Also certain configs e.g. image-
|
|
name, flavor-name, stack-name, etc will be ignored
|
|
when reusing an existing stack.
|
|
--scenario SCENARIO Comma-separated list of scenarios to play. Each entity
|
|
can be a file name or one of aliases:
|
|
"misc/instance_metadata",
|
|
"openstack/cross_az/full_l2",
|
|
"openstack/cross_az/full_l3_east_west",
|
|
"openstack/cross_az/full_l3_north_south",
|
|
"openstack/cross_az/perf_l2",
|
|
"openstack/cross_az/perf_l3_east_west",
|
|
"openstack/cross_az/perf_l3_north_south",
|
|
"openstack/cross_az/udp_l2",
|
|
"openstack/cross_az/udp_l2_mss8950",
|
|
"openstack/cross_az/udp_l3_east_west",
|
|
"openstack/dense_l2", "openstack/dense_l3_east_west",
|
|
"openstack/dense_l3_north_south",
|
|
"openstack/external/dense_l3_north_south_no_fip",
|
|
"openstack/external/dense_l3_north_south_with_fip",
|
|
"openstack/external/full_l3_north_south_no_fip",
|
|
"openstack/external/full_l3_north_south_with_fip",
|
|
"openstack/external/perf_l3_north_south_no_fip",
|
|
"openstack/external/perf_l3_north_south_with_fip",
|
|
"openstack/full_l2", "openstack/full_l3_east_west",
|
|
"openstack/full_l3_north_south", "openstack/perf_l2",
|
|
"openstack/perf_l3_east_west",
|
|
"openstack/perf_l3_north_south",
|
|
"openstack/qos/perf_l2", "openstack/udp_l2",
|
|
"openstack/udp_l3_east_west",
|
|
"openstack/udp_l3_north_south", "spot/ping",
|
|
"spot/tcp", "spot/udp". Defaults to
|
|
env[SHAKER_SCENARIO].
|
|
--scenario-availability-zone SCENARIO_AVAILABILITY_ZONE
|
|
Comma-separated list of availability_zone. If
|
|
specified this setting will override the
|
|
availability_zone accomodation setting in the scenario
|
|
test definition.Defaults to SCENARIO_AVAILABILITY_ZONE
|
|
--scenario-compute-nodes SCENARIO_COMPUTE_NODES
|
|
Number of compute_nodes. If specified this setting
|
|
will override the compute_nodes accomodation setting
|
|
in the scenario test definition. Defaults to
|
|
SCENARIO_COMPUTE_NODES
|
|
--server-endpoint SERVER_ENDPOINT
|
|
Address for server connections (host:port), defaults
|
|
to env[SHAKER_SERVER_ENDPOINT].
|
|
--stack-name STACK_NAME
|
|
Name of test heat stack. The default is a uniquely
|
|
generated name.
|
|
--subunit SUBUNIT Subunit stream file name, defaults to
|
|
env[SHAKER_SUBUNIT].
|
|
--syslog-log-facility SYSLOG_LOG_FACILITY
|
|
Syslog facility to receive log lines. This option is
|
|
ignored if log_config_append is set.
|
|
--use-journal Enable journald for logging. If running in a systemd
|
|
environment you may wish to enable journal support.
|
|
Doing so will use the journal native protocol which
|
|
includes structured metadata in addition to log
|
|
messages.This option is ignored if log_config_append
|
|
is set.
|
|
--use-json Use JSON formatting for logging. This option is
|
|
ignored if log_config_append is set.
|
|
--use-syslog Use syslog for logging. Existing syslog format is
|
|
DEPRECATED and will be changed later to honor RFC5424.
|
|
This option is ignored if log_config_append is set.
|
|
--watch-log-file Uses logging handler designed to watch file system.
|
|
When log file is moved or removed this handler will
|
|
open a new log file with specified path
|
|
instantaneously. It makes sense only if log_file
|
|
option is specified and Linux platform is used. This
|
|
option is ignored if log_config_append is set.
|