CentOS 7
Sponsored Link

OpenStack Train : OpenStack Rally2019/10/29

 
OpenStack ベンチマークツール Rally をインストールします。
当例では以下のような環境を例に Rally をインストールします。
------------+---------------------------+---------------------------+------------
            |                           |                           |
        eth0|10.0.0.30              eth0|10.0.0.50              eth0|10.0.0.51
+-----------+-----------+   +-----------+-----------+   +-----------+-----------+
|    [ Control Node ]   |   |    [ Storage Node ]   |   |    [ Compute Node ]   |
|                       |   |                       |   |                       |
|  MariaDB    RabbitMQ  |   |      Open_vSwitch     |   |        Libvirt        |
|  Memcached  httpd     |   |        L2_Agent       |   |     Nova_Compute      |
|  Keystone   Glance    |   |        L3_Agent       |   |      Open_vSwitch     |
|  Nova_API  Cinder_API |   |     Metadata_Agent    |   |        L2_Agent       |
|  Neutron_Server       |   |     Cinder_Volume     |   |                       |
|  Metadata_Agent       |   |        Heat_API       |   |                       |
|  Rally                |   |      Heat Engine      |   |                       |
+-----------------------+   +-----------------------+   +-----------------------+

[1] Rally 用のユーザーとデータベースを MariaDB に登録しておきます。
[root@dlp ~(keystone)]#
mysql -u root -p

Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 263
Server version: 10.3.10-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 をインストールします。
# Train, EPEL からインストール

[root@dlp ~(keystone)]#
yum --enablerepo=centos-openstack-train,epel -y install openstack-rally openstack-rally-plugins python-fixtures
[3] Rally の基本設定です。
[root@dlp ~(keystone)]#
vi /etc/rally/rally.conf
# 32行目:コメント解除して変更

log_file =
rally.log
# 37行目:コメント解除して変更

log_dir =
/var/log/rally
# 189行目:MariaDB 接続情報を追記

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] Rally がベンチマークタスクを実行できるよう認証情報を登録しておきます。
URL や ユーザー情報等は自身の環境に置き換えてください。
[root@dlp ~(keystone)]#
rally deployment create --fromenv --name=my_cloud

+--------------------------------------+---------------------+----------+------------------+--------+
| uuid                                 | created_at          | name     | status           | active |
+--------------------------------------+---------------------+----------+------------------+--------+
| 9320b988-ad3b-4318-b683-80a28326a718 | 2019-10-29T01:13:25 | my_cloud | deploy->finished |        |
+--------------------------------------+---------------------+----------+------------------+--------+
Using deployment: 9320b988-ad3b-4318-b683-80a28326a718
~/.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 |
| cinder      | volumev3       | Available |
| cloud       | cloudformation | Available |
| designate   | dns            | Available |
| glance      | image          | Available |
| heat        | orchestration  | Available |
| keystone    | identity       | Available |
| neutron     | network        | Available |
| nova        | compute        | Available |
+-------------+----------------+-----------+
[5] Rally の利用方法です。
なお、下例で定義しているベンチマークシナリオのその他サンプルは下記サイトを参照ください。
⇒ https://github.com/openstack/rally/blob/master/samples/tasks/scenarios/
# ベンチマークのシナリオを定義する

# 例として インスタンスの作成/起動~削除までを行うシンプルなシナリオを定義

# [flavor] は登録済みの flavor 名を指定

# [image] は登録済みの image 名を指定

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

# ベンチマークタスクを開始

[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": "CentOS7"
                },
                "force_delete": false
            },
            "runner": {
                "type": "constant",
                "times": 10,
                "concurrency": 2
            },
            "context": {}
        }
    ]
}

Task syntax is correct :)
Running Rally version 2.0.0
--------------------------------------------------------------------------------
Task  e5b40e84-c553-4351-b252-e95eac2f9ab4: started
--------------------------------------------------------------------------------

Running Task... This can take a while...

To track task status use:

        rally task status
        or
        rally task detailed

.....
.....

--------------------------------------------------------------------------------
Task e5b40e84-c553-4351-b252-e95eac2f9ab4 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   | 4.226     | 5.179        | 6.134        | 6.717        | 7.3       | 5.206     | 100.0%  | 10    |
| nova.delete_server | 2.251     | 2.273        | 2.305        | 2.358        | 2.412     | 2.285     | 100.0%  | 10    |
| total              | 6.519     | 7.446        | 8.405        | 8.985        | 9.565     | 7.49      | 100.0%  | 10    |
|  -> duration       | 5.519     | 6.446        | 7.405        | 7.985        | 8.565     | 6.49      | 100.0%  | 10    |
|  -> idle_duration  | 1.0       | 1.0          | 1.0          | 1.0          | 1.0       | 1.0       | 100.0%  | 10    |
+--------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+

Load duration: 37.5457
Full duration: 50.4424

HINTS:
* To plot HTML graphics with this data, run:
        rally task report e5b40e84-c553-4351-b252-e95eac2f9ab4 --out output.html

* To generate a JUnit report, run:
        rally task export e5b40e84-c553-4351-b252-e95eac2f9ab4 --type junit --to output.xml

* To get raw JSON output of task results, run:
        rally task report e5b40e84-c553-4351-b252-e95eac2f9ab4 --json --out output.json
[6] タスク完了時に表示された HTML 出力コマンドを実行すると HTML ファイルが生成され、以下のようにベンチマーク結果がグラフで確認可能です。
関連コンテンツ