OpenStack Ussuri : Rally

OpenStack Ussuri : Rally

OpenStack Ussuri : Rally

 -----------------------         -----------------------        -----------------------
|  [ Controller Node ]  |       |    [ Compute Node ]   |      |   [ Network Node ]    | 
|                       |       |        Libvirt        |      |     Open vSwitch      |
| MariaDB    RabbitMQ   |       |      Nova compute     |      |       L2 Agent        |
| Memcached  Keystone   |       |      Open vSwitch     |      |       L3 Agent        |
| httpd      Cinder API |       |       L2 Agent        |      |     metadata agent    |
| Nova-API   Compute    |       |      Cinder-LVM       |      |      Swift-proxy      |
| L2 agent   L3 agent   |       |          NFS          |      |       Heat API        |
| metadata agent        |        -----------------------       |        API-CFN        |
| Neutron Server        |                                      |      Heat Engine      |
| Gnocchi    Trove API  |                                      |   Designate Services  |
| Barbican API          |                                       -----------------------
| Rally                 |
 -----------------------

OpenStack Ussuri : Rally

  • Rally는 오픈스택 소스를 GUI 환경으로 보여주는 서비스입니다.
  • Rally의 자세한 설명은 Rally를 참조해주세요.

 

Rally 유저의 DB를 생성합니다.

$ controller> mysql -u root -p
$ MariaDB> create database rally;  
$ MariaDB> grant all privileges on Rally.* to rally@'localhost' identified by 'qwer1234'; 
$ MariaDB> grant all privileges on Rally.* to rally@'%' identified by 'qwer1234'; 
$ MariaDB> flush privileges; 
$ MariaDB> exit;

 

Rally 설치

$ controller ~(keystone)> dnf --enablerepo=centos-openstack-ussuri,powertools,epel -y install openstack-rally openstack-rally-plugins python3-fixtures
# Rally 서비스 및 관련 모듈을 설치합니다.

$ controller ~(keystone)> vi /etc/rally/rally.conf
[DEFAULT]
log_file = rally.log
log_dir = /var/log/rally
connection = mysql+pymysql://rally:qwer1234@controller/rally

$ controller ~(keystone)> mkdir /var/log/rally
$ controller ~(keystone)> rally db create
# log 파일을 저장할 폴더를 만들고 db를 임포트 시킵니다.

$ controller ~(keystone)> rally deployment create --fromenv --name=my_cloud
+--------------------------------------+----------------------------+----------+------------------+--------+
| uuid                                 | created_at                 | name     | status           | active |
+--------------------------------------+----------------------------+----------+------------------+--------+
| 35f9c79c-a47e-49d3-af88-b06b6020b92a | 2020-08-16T09:16:23.793238 | my_cloud | deploy->finished |        |
+--------------------------------------+----------------------------+----------+------------------+--------+

$ controller ~(keystone)> source ~/.rally/openrc
$ controller ~(keystone)> rally deployment show my_cloud
+---------------------------+----------+----------+-------------+-------------+---------------+
| auth_url                  | username | password | tenant_name | region_name | endpoint_type |
+---------------------------+----------+----------+-------------+-------------+---------------+
| http://controller:5000/v3 | admin    | ***      | admin       |             | None          |
+---------------------------+----------+----------+-------------+-------------+---------------+

$ controller ~(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 |
| gnocchi     | metric         | Available |
| heat        | orchestration  | Available |
| keystone    | identity       | Available |
| neutron     | network        | Available |
| nova        | compute        | Available |
| swift       | object-store   | Available |
| trove       | database       | Available |
+-------------+----------------+-----------+

$ controller ~(keystone)> vi ~/boot-and-delete.json     
{
    "NovaServers.boot_and_delete_server": [
        {
            "args": {
                "flavor": {
                    "name": "m1.small"
                },
                "image": {
                    "name": "Ubuntu1804"
                },
                "force_delete": false
            },
            "runner": {
                "type": "constant",
                "times": 10,
                "concurrency": 2
            },
            "context": {}
        }
    ]
}
$ controller ~(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": "Ubuntu1804"
                },
                "force_delete": false
            },
            "runner": {
                "type": "constant",
                "times": 10,
                "concurrency": 2
            },
            "context": {}
        }
    ]
}

Task syntax is correct :)
Running Rally version 3.0.0
--------------------------------------------------------------------------------
Task  887a0d20-37ad-4351-aeca-00f646634552: started
--------------------------------------------------------------------------------
....
....
--------------------------------------------------------------------------------
Task 887a0d20-37ad-4351-aeca-00f646634552 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.466     | 5.409        | 34.472       | 40.002       | 45.533    | 14.471    | 100.0%  | 10    |
| nova.delete_server | 2.412     | 2.736        | 13.708       | 15.417       | 17.127    | 6.352     | 100.0%  | 10    |
| total              | 6.922     | 12.091       | 40.809       | 44.416       | 48.023    | 20.823    | 100.0%  | 10    |
|  -> duration       | 5.922     | 11.091       | 39.809       | 43.416       | 47.023    | 19.823    | 100.0%  | 10    |
|  -> idle_duration  | 1.0       | 1.0          | 1.0          | 1.0          | 1.0       | 1.0       | 100.0%  | 10    |
+--------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+
Load duration: 108.251619
Full duration: 134.177109

HINTS:
* To plot HTML graphics with this data, run:
        rally task report 887a0d20-37ad-4351-aeca-00f646634552 --out output.html

* To generate a JUnit report, run:
        rally task export 887a0d20-37ad-4351-aeca-00f646634552 --type junit-xml --to output.xml

* To get raw JSON output of task results, run:
        rally task report 887a0d20-37ad-4351-aeca-00f646634552 --json --out output.json

 

RSS Feed
마지막 수정일자