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
마지막 수정일자