summaryrefslogtreecommitdiffstats
path: root/docs/testing/user/userguide/opnfv_yardstick_tc079.rst
blob: 2c1091770584cd969cd8df7f8c6ba1dd899b136e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
.. This work is licensed under a Creative Commons Attribution 4.0 International
.. License.
.. http://creativecommons.org/licenses/by/4.0
.. (c) OPNFV, Huawei Technologies Co.,Ltd and others.

*************************************
Yardstick Test Case Description TC079
*************************************

.. _bonnie++: http://www.coker.com.au/bonnie++/

+-----------------------------------------------------------------------------+
|Storage Performance                                                          |
|                                                                             |
+--------------+--------------------------------------------------------------+
|test case id  | OPNFV_YARDSTICK_TC079_Bonnie++                               |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|metric        | Sequential Input/Output and Sequential/Random Create speed   |
|              | and CPU useage.                                              |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|test purpose  | The purpose of TC078 is to evaluate the IaaS storage         |
|              | performance with regards to Sequential Input/Output and      |
|              | Sequential/Random Create speed and CPU useage statistics.    |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|test tool     | Bonnie++                                                     |
|              |                                                              |
|              | Bonnie++ is a disk and file system benchmarking tool for     |
|              | measuring I/O performance. With Bonnie++ you can quickly and |
|              | easily produce a meaningful value to represent your current  |
|              | file system performance.                                     |
|              |                                                              |
|              | Bonnie++ is not always part of a Linux distribution, hence   |
|              | it needs to be installed in the test image.                  |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|test          | This test case uses Bonnie++ to perform the tests below:     |
|description   |  * Create files in sequential order                          |
|              |  * Stat files in sequential order                            |
|              |  * Delete files in sequential order                          |
|              |  * Create files in random order                              |
|              |  * Stat files in random order                                |
|              |  * Delete files in random order                              |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|configuration | file: bonnie++.yaml (in the 'samples' directory)             |
|              |                                                              |
|              | file_size is set to 1024; ram_size is set to 512;            |
|              | test_dir is set to '/tmp'; concurrency is set to 1.          |
|              |                                                              |
|              | SLA is not available in this test case.                      |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|applicability | Test can be configured with different:                       |
|              |                                                              |
|              |  * file_size - size fo the test file in MB. File size should |
|              |    be double RAM for good results;                           |
|              |  * ram_size - specify RAM size in MB to use, this is used to |
|              |    reduce testing time;                                      |
|              |  * test_dir - this directory is where bonnie++ will create   |
|              |    the benchmark operations;                                 |
|              |  * test_user - the user who should perform the test. This is |
|              |    not required if you are not running as root;              |
|              |  * concurrency - number of thread to perform test;           |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|usability     | This test case is used for executing Bonnie++ benchmark in   |
|              | VMs.                                                         |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|references    | bonnie++_                                                    |
|              |                                                              |
|              | ETSI-NFV-TST001                                              |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|pre-test      | The Bonnie++ distribution includes a 'bon_csv2html' Perl     |
|conditions    | script, which takes the comma-separated values reported by   |
|              | Bonnie++ and generates an HTML page displaying them.         |
|              | To use this feature, bonnie++ is required to be install with |
|              | yardstick (e.g. in yardstick docker).                        |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|test sequence | description and expected result                              |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|step 1        | A host VM with fio installed is booted.                      |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|step 2        | Yardstick is connected with the host VM by using ssh.        |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|step 3        | Bonnie++ benchmark is invoked. Simulated IO operations are   |
|              | started. Logs are produced and stored.                       |
|              |                                                              |
|              | Result: Logs are stored.                                     |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|step 4        | An HTML report is generated using bonnie++ benchmark results |
|              | and stored under /tmp/bonnie.html.                           |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|step 5        | The host VM is deleted.                                      |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|test verdict  | None. Bonnie++ html report is generated.                     |
|              |                                                              |
+--------------+--------------------------------------------------------------+
pan> username: tacker password: {get_param: TackerPassword} host: {get_param: [EndpointMap, MysqlInternal, host]} path: /tacker query: read_default_file: /etc/my.cnf.d/tripleo.cnf read_default_group: tripleo tacker::debug: if: - service_debug_unset - {get_param: Debug } - {get_param: TackerDebug } tacker::rpc_backend: rabbit tacker::notification_driver: {get_param: NotificationDriver} tacker::rabbit_userid: {get_param: RabbitUserName} tacker::rabbit_password: {get_param: RabbitPassword} tacker::rabbit_use_ssl: {get_param: RabbitClientUseSSL} tacker::rabbit_port: {get_param: RabbitClientPort} tacker::server::bind_host: {get_param: [ServiceNetMap, TackerApiNetwork]} tacker::keystone::authtoken::project_name: 'service' tacker::keystone::authtoken::user_domain_name: 'Default' tacker::keystone::authtoken::project_domain_name: 'Default' tacker::keystone::authtoken::password: {get_param: TackerPassword} tacker::keystone::authtoken::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]} tacker::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]} tacker::db::mysql::password: {get_param: TackerPassword} tacker::db::mysql::user: tacker tacker::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]} tacker::db::mysql::dbname: tacker tacker::db::mysql::allowed_hosts: - '%' - {get_param: [EndpointMap, MysqlInternal, host_nobrackets]} tacker::policy::policies: {get_param: TackerPolicies} service_config_settings: keystone: tacker::keystone::auth::tenant: 'service' tacker::keystone::auth::region: {get_param: KeystoneRegion} tacker::keystone::auth::password: {get_param: TackerPassword} tacker::keystone::auth::public_url: {get_param: [EndpointMap, TackerPublic, uri]} tacker::keystone::auth::internal_url: {get_param: [EndpointMap, TackerInternal, uri]} tacker::keystone::auth::admin_url: {get_param: [EndpointMap, TackerAdmin, uri]} step_config: | include ::tripleo::profile::base::tacker upgrade_tasks: - name: Check if tacker is deployed command: systemctl is-enabled openstack-tacker-server tags: common ignore_errors: True register: tacker_enabled - name: "PreUpgrade step0,validation: Check service openstack-tacker-server is running" shell: /usr/bin/systemctl show 'openstack-tacker-server' --property ActiveState | grep '\bactive\b' when: tacker_enabled.rc == 0 tags: step0,validation - name: Stop tacker service tags: step1 when: tacker_enabled.rc == 0 service: name=openstack-tacker-server state=stopped - name: Install openstack-tacker package if it was disabled tags: step3 yum: name=openstack-tacker state=latest when: tacker_enabled.rc != 0