OpenStack:Rally

From Define Wiki
Revision as of 12:02, 2 April 2020 by Mariusz (talk | contribs) (→‎Visualising test results: No need to install junit-xml - just make sure junit-xml plugin is available. Also changes output paths to avoid permission issues when writing to the cwd.)
Jump to navigation Jump to search

Using containerised Rally client

Rally needs OpenStack admin credentials, so from a machine storing the admin openrc file, run the following commands:

# docker run --rm -it -h rally-testing --entrypoint /bin/bash -v <your-admin-openrc-file>:/openrc:ro registry.vscaler.com:5000/rally-openstack:latest
$ source /openrc
$ rally deployment create --fromenv --name=<arbitrary-name-for-deployment>

Then, look into /home/rally/source/samples/tasks/scenarios/ for sample scenarios or write your own scenario. For example:

$ cat ~/test_boot_and_delete_instance.json
{
    "NovaServers.boot_and_delete_server": [
        {
            "args": {
                "flavor": {
                    "name": "m1.small"
                },
                "image": {
                    "name": "centos7-1907"
                },
                "force_delete": false
            },
            "runner": {
                "type": "constant",
                "times": 10,
                "concurrency": 2
            },
            "context": {
                "users": {
                    "tenants": 3,
                    "users_per_tenant": 2
                }
            }
        }
    ]
}

List available plugins and scenarios:

$ rally plugin list --platform openstack

Finally, run the test:

$ rally task start /path/to/your/scenario.json


Visualising test results

First off, you'll need the UUID of the task you want to export results from:

$ rally task list --deployment <your-deployment-name>

Export to a HTML file:

$ rally task report <task-uuid> --out ~/output.html

Export to a JUnit XML (this file can then be used by Jenkins):

$ rally plugin list --platform openstack | grep junit
...
| TaskExporter         | junit-xml                                                      | default   | Generates task report in JUnit-XML format.                               |
...
$ rally task export <task-uuid> --type junit-xml --to ~/output.xml

References

  1. https://rally.readthedocs.io/en/latest/quick_start/tutorial.html
  2. https://rally.readthedocs.io/en/latest/quick_start/tutorial/step_1_setting_up_env_and_running_benchmark_from_samples.html
  3. https://github.com/openstack/rally/tree/stable/0.12/samples/tasks/scenarios