diff --git a/doc/source/images/simultaneous.svg b/doc/source/images/simultaneous.svg new file mode 100644 index 0000000..e3c2365 --- /dev/null +++ b/doc/source/images/simultaneous.svg @@ -0,0 +1,527 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + poll task + + + schedule task at time X + + master_1 + + master_2 + + slave_1 + + slave_2 + iperf/netperf traffic + iperf/netperf traffic + + + + shaker + + + diff --git a/doc/source/index.rst b/doc/source/index.rst index 575e4c0..89847b0 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -4,14 +4,14 @@ Welcome to Shaker! The distributed data-plane testing tool for OpenStack. .. toctree:: - :maxdepth: 2 + :maxdepth: 2 - installation - usage - examples - tools - architecture - contributing + installation + usage + tools + examples + architecture + contributing .. Indices and tables .. ================== diff --git a/doc/source/tools/shaker-agent.txt b/doc/source/tools/shaker-agent.txt index c5f87c4..ee019c6 100644 --- a/doc/source/tools/shaker-agent.txt +++ b/doc/source/tools/shaker-agent.txt @@ -51,14 +51,14 @@ optional arguments: --syslog-log-facility SYSLOG_LOG_FACILITY Syslog facility to receive log lines. --use-syslog Use syslog for logging. Existing syslog format is - DEPRECATED during I, and will change in J to honor + DEPRECATED during I, and changed in J to honor RFC5424. --use-syslog-rfc-format (Optional) Enables or disables syslog rfc5424 format for logging. If enabled, prefixes the MSG part of the syslog message with APP-NAME (RFC5424). The format without the APP-NAME is deprecated in K, and will be - removed in L, along with this option. + removed in M, along with this option. --verbose, -v Print more verbose output (set logging level to INFO instead of default WARNING level). --version show program's version number and exit diff --git a/doc/source/tools/shaker-cleanup.txt b/doc/source/tools/shaker-cleanup.txt index 63dabff..03b60ba 100644 --- a/doc/source/tools/shaker-cleanup.txt +++ b/doc/source/tools/shaker-cleanup.txt @@ -76,14 +76,14 @@ optional arguments: --syslog-log-facility SYSLOG_LOG_FACILITY Syslog facility to receive log lines. --use-syslog Use syslog for logging. Existing syslog format is - DEPRECATED during I, and will change in J to honor + DEPRECATED during I, and changed in J to honor RFC5424. --use-syslog-rfc-format (Optional) Enables or disables syslog rfc5424 format for logging. If enabled, prefixes the MSG part of the syslog message with APP-NAME (RFC5424). The format without the APP-NAME is deprecated in K, and will be - removed in L, along with this option. + removed in M, along with this option. --verbose, -v Print more verbose output (set logging level to INFO instead of default WARNING level). --version show program's version number and exit diff --git a/doc/source/tools/shaker-image-builder.txt b/doc/source/tools/shaker-image-builder.txt index ab0e914..cf2ce2c 100644 --- a/doc/source/tools/shaker-image-builder.txt +++ b/doc/source/tools/shaker-image-builder.txt @@ -78,14 +78,14 @@ optional arguments: --syslog-log-facility SYSLOG_LOG_FACILITY Syslog facility to receive log lines. --use-syslog Use syslog for logging. Existing syslog format is - DEPRECATED during I, and will change in J to honor + DEPRECATED during I, and changed in J to honor RFC5424. --use-syslog-rfc-format (Optional) Enables or disables syslog rfc5424 format for logging. If enabled, prefixes the MSG part of the syslog message with APP-NAME (RFC5424). The format without the APP-NAME is deprecated in K, and will be - removed in L, along with this option. + removed in M, along with this option. --verbose, -v Print more verbose output (set logging level to INFO instead of default WARNING level). --version show program's version number and exit diff --git a/doc/source/tools/shaker-report.txt b/doc/source/tools/shaker-report.txt index 981b1d1..51f8a95 100644 --- a/doc/source/tools/shaker-report.txt +++ b/doc/source/tools/shaker-report.txt @@ -53,14 +53,14 @@ optional arguments: --syslog-log-facility SYSLOG_LOG_FACILITY Syslog facility to receive log lines. --use-syslog Use syslog for logging. Existing syslog format is - DEPRECATED during I, and will change in J to honor + DEPRECATED during I, and changed in J to honor RFC5424. --use-syslog-rfc-format (Optional) Enables or disables syslog rfc5424 format for logging. If enabled, prefixes the MSG part of the syslog message with APP-NAME (RFC5424). The format without the APP-NAME is deprecated in K, and will be - removed in L, along with this option. + removed in M, along with this option. --verbose, -v Print more verbose output (set logging level to INFO instead of default WARNING level). --version show program's version number and exit diff --git a/doc/source/tools/shaker.txt b/doc/source/tools/shaker.txt index 03e5f7c..76f865f 100644 --- a/doc/source/tools/shaker.txt +++ b/doc/source/tools/shaker.txt @@ -97,14 +97,14 @@ optional arguments: --syslog-log-facility SYSLOG_LOG_FACILITY Syslog facility to receive log lines. --use-syslog Use syslog for logging. Existing syslog format is - DEPRECATED during I, and will change in J to honor + DEPRECATED during I, and changed in J to honor RFC5424. --use-syslog-rfc-format (Optional) Enables or disables syslog rfc5424 format for logging. If enabled, prefixes the MSG part of the syslog message with APP-NAME (RFC5424). The format without the APP-NAME is deprecated in K, and will be - removed in L, along with this option. + removed in M, along with this option. --verbose, -v Print more verbose output (set logging level to INFO instead of default WARNING level). --version show program's version number and exit diff --git a/doc/source/usage.rst b/doc/source/usage.rst index e07f764..48801a0 100644 --- a/doc/source/usage.rst +++ b/doc/source/usage.rst @@ -31,7 +31,7 @@ are deployed at OpenStack instances a reference to Heat template is provided. accommodation: [pair, single_room] execution: - size: quadratic_progression + progression: quadratic tests: - title: Iperf TCP @@ -65,19 +65,49 @@ Execution ^^^^^^^^^ The execution part of scenario contains a list of tests that are executed one by one. By default Shaker runs the test -simultaneously on all available agents. The level of concurrency can be controlled by option ``size``. There are +simultaneously on all available agents. The level of concurrency can be controlled by option ``progression``. There are 3 values available: - * ``size`` is not specified - all agents are involved; - * ``size: linear_progression`` - the execution starts with 1 agent and increases by 1 until all agents are involved; - * ``size: quadratic_progression`` - the execution starts with 1 agent (or 1 pair) and doubles until all agents are involved. + * no value specified - all agents are involved; + * ``linear`` - the execution starts with 1 agent and increases by 1 until all agents are involved; + * ``quadratic`` - the execution starts with 1 agent (or 1 pair) and doubles until all agents are involved. Tests are executed in order of definition. The exact action is defined by option ``class``, additional attributes are provided by respective parameters. The following classes are available: * ``iperf_graph`` - runs ``iperf`` tool and shows chart and statistics - * ``netperf_wrapper`` - runs ``netperf-wrapper`` and shows chart and statistics + * ``flent`` - runs ``flent`` (http://flent.org) and shows chart and statistics * ``iperf`` - runs ``iperf`` tool and shows plain output * ``netperf`` - runs ``netpers`` tool and shows plain output * ``shell`` - runs any shell command or process and shows plain output +Test classes +^^^^^^^^^^^^ + +Tools are configured via key-value attributes in test definition. For all networking tools Shaker offers unified parameters, that are translated +automatically. + +iperf_graph, iperf: +~~~~~~~~~~~~~~~~~~~ + * ``time`` - time in seconds to transmit for, defaults to `60` + * ``udp`` - use UDP instead of TCP, defaults to `TCP` + * ``interval`` - seconds between periodic bandwidth reports, defaults to `1 s` + * ``bandwidth`` - for UDP, bandwidth to send at in bits/sec, defaults to `1 Mbit/s` + * ``threads`` - number of parallel client threads to run + +flent: +~~~~~~ + * ``time`` - time in seconds to transmit for, defaults to `60` + * ``interval`` - seconds between periodic bandwidth reports, defaults to `1` + * ``method`` - which flent scenario to use, see https://github.com/tohojo/flent/tree/master/flent/tests for the whole list, defaults to `tcp_download` + + +netperf: +~~~~~~~~ + * ``time`` - time in seconds to transmit for, defaults to `60` + * ``method`` - one of built-in test names, see http://linux.die.net/man/1/netperf for the whole list, defaults to `TCP_STREAM` + +shell: +~~~~~~ + * ``program`` - run single program + * ``script`` - run bash script diff --git a/etc/shaker.conf b/etc/shaker.conf index fb92861..fb023c8 100644 --- a/etc/shaker.conf +++ b/etc/shaker.conf @@ -39,13 +39,15 @@ #log_dir = # Use syslog for logging. Existing syslog format is DEPRECATED during I, and -# will change in J to honor RFC5424. (boolean value) +# changed in J to honor RFC5424. (boolean value) #use_syslog = false # (Optional) Enables or disables syslog rfc5424 format for logging. If enabled, # prefixes the MSG part of the syslog message with APP-NAME (RFC5424). The -# format without the APP-NAME is deprecated in K, and will be removed in L, +# format without the APP-NAME is deprecated in K, and will be removed in M, # along with this option. (boolean value) +# This option is deprecated for removal. +# Its value may be silently ignored in the future. #use_syslog_rfc_format = true # Syslog facility to receive log lines. (string value) @@ -64,7 +66,7 @@ #logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d # Prefix each line of exception output with this format. (string value) -#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s +#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s # List of logger=LEVEL pairs. (list value) #default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN @@ -83,6 +85,9 @@ # value) #instance_uuid_format = "[instance: %(uuid)s] " +# Enables or disables fatal status of deprecations. (boolean value) +#fatal_deprecations = false + # # From shaker.engine.config #