rally-openstack/samples/tasks
Winnie Tsang f0786c82e9 [Magnum] Context and scenario for Kubernetes
Context and scenario to create pods and RCs

In this scenario, a Kubernetes cluster is created and
pods and replication controllers are launched.  These
will in turn launch docker instances.  The manifest
for the pods and replication controllers specifies
the docker image to be downloaded and used in the
containers.

The sample files will create nginx containers.

This scenario is intended to test the performance
of the Kubernetes as provisioned and configured by
Magnum.  There are many ways to configure the
cluster, therefore it would be helpful to detect
if any configuration can be tuned for better
performance.

Partially-Implements: blueprint benchmark-scenarios-for-magnum
Co-Authored-By: Ton Ngo <ton@us.ibm.com>
Change-Id: I3284f44ecce1f6b30087ad380b72da9ac41f21ce
2017-05-19 17:36:19 +02:00
..
contexts [Magnum] Context and scenario for Kubernetes 2017-05-19 17:36:19 +02:00
runners [Core] Add support for default platform and rally self job 2017-03-27 20:04:14 +03:00
scenarios [Magnum] Context and scenario for Kubernetes 2017-05-19 17:36:19 +02:00
sla Implement new random name generator for keystone scenarios 2015-10-16 08:00:21 -05:00
support [Plugins] Replace instance_dd_test.sh with instance_test.sh 2016-10-06 16:55:48 +03:00
README.rst Update stackforge to openstack 2015-04-20 14:02:43 +05:30

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": { ... }

}

]

}

ScanarioClass should be a subclass of the base Scenario class and scenario_method specifies what benchmark task should be run. 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 benchmark scenarios, contexts & runners.