rally-openstack/samples/tasks
Peter Razumovsky 48f895b645 Add Grafana plugin for monitoring testing
Add testing monitoring system with push acceptor Pushgateway and metric
analyzer Grafana in conjunction with nova instance. This test case is to
check how nova instance could communicate with a monitoring system, not
only for testing monitoring availability. Suchwise Openstack platform
using is justified.

However, if the issue is to check availability of monitoring system,
push_metric_locally scenario allows to push random metric locally to
Pushgateway and just check it in Grafana.

Change-Id: I00e85189b5f54c3e6fd18fa52afe7db0eda88fed
2018-05-28 14:47:02 +04:00
..
contexts Ability to specify external gateway info for router while creating network context 2018-02-02 12:16:25 +08:00
runners [Core] Add support for default platform and rally self job 2017-03-27 20:04:14 +03:00
scenarios Add Grafana plugin for monitoring testing 2018-05-28 14:47:02 +04:00
sla Implement new random name generator for keystone scenarios 2015-10-16 08:00:21 -05:00
support Deprecate install_test.sh script 2017-10-09 17:31:51 +03:00
README.rst Reword samples and setup.cfg 2017-08-03 22:24:56 +00:00

Tasks Configuration Samples

To specify your tasks, use configuration files in json or yaml format.

JSON schema of input task format:

:

{
    "type": "object",
    "$schema": "http://json-schema.org/draft-04/schema",
    "patternProperties": {
        ".*": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "args": {
                        "type": "object"
                    },
                    "runner": {
                        "type": "object",
                        "properties": {
                            "type": {"type": "string"}
                        },
                        "required": ["type"]
                    },
                    "context": {
                        "type": "object"
                    },
                    "sla": {
                        "type": "object"
                    },
                },
                "additionalProperties": False
            }
        }
    }
}

For humans:

::
{
"ScenarioClass.scenario_method": [
{
"args": {

...

}, "runner": { ... }, "context": { ... }, "sla": { ... }

}

]

}

Scenario Plugin should be a subclass of the base Scenario class and implement run() method. Section "args" is also related to scenario. To learn more about scenarios configuration, see samples in samples/tasks/scenarios.

Section "runners" specifies the way, how task should be run. To learn more about runners configurations, see samples in samples/tasks/runners.

Section "context" defines different types of environments in which task can be launched. Look at samples/tasks/contexts for samples.

Section "sla" defines details for determining compliance with contracted values such as maximum error rate or minimum response time. Look at samples/tasks/sla for samples.

See a detailed description of scenarios, contexts & runners.