CentOS Stream 8
Sponsored Link

OpenStack Xena : OpenStack Rally
2021/11/25
 
Install OpenStack BenchiMarking Tool, Rally.
This example is based on the environment like follows.
------------+---------------------------+---------------------------+------------
            |                           |                           |
        eth0|10.0.0.30              eth0|10.0.0.50              eth0|10.0.0.51
+-----------+-----------+   +-----------+-----------+   +-----------+-----------+
|    [ Control Node ]   |   |    [ Network Node ]   |   |    [ Compute Node ]   |
|                       |   |                       |   |                       |
|  MariaDB    RabbitMQ  |   |      Open vSwitch     |   |        Libvirt        |
|  Memcached  httpd     |   |     Neutron Server    |   |     Nova Compute      |
|  Keystone   Glance    |   |       OVN-Northd      |   |      Open vSwitch     |
|  Nova API             |   |     Cinder Volume     |   |   OVN Metadata Agent  |
|  Cinder API           |   |      iSCSI Target     |   |     OVN-Controller    |
|  Rally                |   |     Heat API/Engine   |   |                       |
+-----------------------+   +-----------------------+   +-----------------------+

[1] Create user and Database for Rally in MariaDB.
[root@dlp ~(keystone)]#
mysql

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 234
Server version: 10.5.9-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database rally; 
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on rally.* to rally@'localhost' identified by 'password'; 
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> grant all privileges on rally.* to rally@'%' identified by 'password'; 
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges; 
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit 
Bye
[2] Rally.
# install from Xena, EPEL, PowerTools

[root@dlp ~(keystone)]#
dnf --enablerepo=centos-openstack-xena,powertools,epel -y install openstack-rally openstack-rally-plugins python3-fixtures
[3] Configure Rally.
[root@dlp ~(keystone)]#
vi /etc/rally/rally.conf
# line 33 : add the log file name

log_file = rally.log
# line 38 : add the log direcroty name

log_dir = /var/log/rally
# line 203 : add the MariaDB connection info

connection = mysql+pymysql://rally:password@10.0.0.30/rally
[root@dlp ~(keystone)]#
mkdir /var/log/rally

[root@dlp ~(keystone)]#
rally db create

Creating database: mysql+pymysql://rally:password@10.0.0.30/rally
Database created successfully
[4] Add environment variables for Openstack to Rally to run Rally BenchiMarking Tasks.
[root@dlp ~(keystone)]#
rally deployment create --fromenv --name=my-cloud

+--------------------------------------+---------------------+----------+------------------+--------+
| uuid                                 | created_at          | name     | status           | active |
+--------------------------------------+---------------------+----------+------------------+--------+
| c74454ab-e7a0-4a87-bd1e-960b7032546c | 2021-11-25T02:49:35 | my-cloud | deploy->finished |        |
+--------------------------------------+---------------------+----------+------------------+--------+
Using deployment: c74454ab-e7a0-4a87-bd1e-960b7032546c
~/.rally/openrc was updated

HINTS:

* To use standard OpenStack clients, set up your env by running:
        source ~/.rally/openrc
  OpenStack clients are now configured, e.g run:
        openstack image list

[root@dlp ~(keystone)]#
source ~/.rally/openrc

[root@dlp ~(keystone)]#
rally deployment show my-cloud

+--------------------------+----------+----------+-------------+-------------+---------------+
| auth_url                 | username | password | tenant_name | region_name | endpoint_type |
+--------------------------+----------+----------+-------------+-------------+---------------+
| http://10.0.0.30:5000/v3 | admin    | ***      | admin       |             | None          |
+--------------------------+----------+----------+-------------+-------------+---------------+

[root@dlp ~(keystone)]#
rally deployment check

--------------------------------------------------------------------------------
Platform openstack:
--------------------------------------------------------------------------------

Available services:
+-------------+----------------+-----------+
| Service     | Service Type   | Status    |
+-------------+----------------+-----------+
| __unknown__ | placement      | Available |
| barbican    | key-manager    | Available |
| cinder      | volumev3       | Available |
| cloud       | cloudformation | Available |
| glance      | image          | Available |
| heat        | orchestration  | Available |
| keystone    | identity       | Available |
| neutron     | network        | Available |
| nova        | compute        | Available |
| trove       | database       | Available |
+-------------+----------------+-----------+
[5] How to use Rally.
For a sample scenario in follwoing tutorial, there are many other samples on the site below, refer to them.
⇒ https://github.com/openstack/rally/blob/master/samples/tasks/scenarios/
# set Benchimarking scenario
# for example, set a simple scenario to create and delete a compute instance
# for [flavor], specify your own registered flavor name
# for [image], specify your own registered image name

[root@dlp ~(keystone)]#
vi boot-and-delete.json
{
  "NovaServers.boot_and_delete_server": [
    {
      "args": {
        "flavor": {
          "name": "m1.small"
        },
        "image": {
          "name": "CentOS-Stream-8"
        },
        "force_delete": false
      },
      "runner": {
        "type": "constant",
        "times": 10,
        "concurrency": 2
      },
      "context": {}
    }
  ]
}

# start BenchiMarking Tasks

[root@dlp ~(keystone)]#
rally task start boot-and-delete.json

--------------------------------------------------------------------------------
Preparing input task
--------------------------------------------------------------------------------

Task is:
{
  "NovaServers.boot_and_delete_server": [
    {
      "args": {
        "flavor": {
          "name": "m1.small"
        },
        "image": {
          "name": "CentOS-Stream-8"
        },
        "force_delete": false
      },
      "runner": {
        "type": "constant",
        "times": 10,
        "concurrency": 2
      },
      "context": {}
    }
  ]
}

Task syntax is correct :)
Running Rally version 3.3.0
--------------------------------------------------------------------------------
Task  b1e559d6-eec0-453d-8a82-41f6d8a1b763: started
--------------------------------------------------------------------------------

.....
.....

--------------------------------------------------------------------------------
Task b1e559d6-eec0-453d-8a82-41f6d8a1b763 has 0 error(s)
--------------------------------------------------------------------------------

+-----------------------------------------------------------------------------------------------------------------------+
|                                                 Response Times (sec)                                                  |
+--------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+
| Action             | Min (sec) | Median (sec) | 90%ile (sec) | 95%ile (sec) | Max (sec) | Avg (sec) | Success | Count |
+--------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+
| nova.boot_server   | 3.878     | 4.08         | 4.436        | 4.446        | 4.455     | 4.127     | 100.0%  | 10    |
| nova.delete_server | 2.15      | 2.16         | 2.254        | 2.278        | 2.301     | 2.187     | 100.0%  | 10    |
| total              | 6.033     | 6.234        | 6.708        | 6.722        | 6.736     | 6.315     | 100.0%  | 10    |
|  -> duration       | 5.033     | 5.234        | 5.708        | 5.722        | 5.736     | 5.315     | 100.0%  | 10    |
|  -> idle_duration  | 1.0       | 1.0          | 1.0          | 1.0          | 1.0       | 1.0       | 100.0%  | 10    |
+--------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+

Load duration: 30.8972
Full duration: 41.4086

HINTS:
* To plot HTML graphics with this data, run:
        rally task report b1e559d6-eec0-453d-8a82-41f6d8a1b763 --out output.html

* To generate a JUnit report, run:
        rally task export b1e559d6-eec0-453d-8a82-41f6d8a1b763 --type junit-xml --to output.xml

* To get raw JSON output of task results, run:
        rally task report b1e559d6-eec0-453d-8a82-41f6d8a1b763 --json --out output.json
[6] To run the commands that were shown when task had completed, it's possible to generate HTML file with Graph like follows.
Matched Content