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
..
2017-10-09 17:31:51 +03:00
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.