aboutsummaryrefslogtreecommitdiffstats
path: root/docs/testing/user/userguide/opnfv_yardstick_tc028.rst
blob: 24206f33f5be0ef1ea8a3f11636f7fa9b6e6450b (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
.. 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 TC028
*************************************

.. _Cyclictest: https://rt.wiki.kernel.org/index.php/Cyclictest

+-----------------------------------------------------------------------------+
|KVM Latency measurements                                                     |
|                                                                             |
+--------------+--------------------------------------------------------------+
|test case id  | OPNFV_YARDSTICK_TC028_KVM Latency measurements               |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|metric        | min, avg and max latency                                     |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|test purpose  | To evaluate the IaaS KVM virtualization capability with      |
|              | regards to min, avg and max latency.                         |
|              | The purpose is also to be able to spot trends. Test results, |
|              | graphs and similar shall be stored for comparison reasons    |
|              | and product evolution understanding between different OPNFV  |
|              | versions and/or configurations.                              |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|configuration | file: samples/cyclictest-node-context.yaml                   |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|test tool     | Cyclictest                                                   |
|              |                                                              |
|              | (Cyclictest is not always part of a Linux distribution,      |
|              | hence it needs to be installed. As an example see the        |
|              | /yardstick/tools/ directory for how to generate a Linux      |
|              | image with cyclictest included.)                             |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|references    | Cyclictest_                                                  |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|applicability | This test case is mainly for kvm4nfv project CI verify.      |
|              | Upgrade host linux kernel, boot a gust vm update it's linux  |
|              | kernel, and then run the cyclictest to test the new kernel   |
|              | is work well.                                                |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|pre-test      | The test kernel rpm, test sequence scripts and test guest    |
|conditions    | image need put the right folders as specified in the test    |
|              | case yaml file.                                              |
|              | The test guest image needs with cyclictest included in it.   |
|              |                                                              |
|              | No POD specific requirements have been identified.           |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|test sequence | description and expected result                              |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|step 1        | The host and guest os kernel is upgraded. Cyclictest is      |
|              | invoked and logs are produced and stored.                    |
|              |                                                              |
|              | Result: Logs are stored.                                     |
|              |                                                              |
+--------------+--------------------------------------------------------------+
|test verdict  | Fails only if SLA is not passed, or if there is a test case  |
|              | execution problem.                                           |
|              |                                                              |
+--------------+--------------------------------------------------------------+
ECT_NAME >> ~/storperf_admin-rc echo "OS_PROJECT_ID="$PROJECT_ID >> ~/storperf_admin-rc echo "OS_USER_DOMAIN_ID="$USER_DOMAIN_ID >> ~/storperf_admin-rc The generated "storperf_admin-rc" file will be stored in the root directory. If you installed *Yardstick* using Docker, this file will be located in the container. You may need to copy it to the root directory of the Storperf deployed host. Step 1: Plug-in configuration file preparation >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> To install a plug-in, first you need to prepare a plug-in configuration file in YAML format and store it in the "plugin" directory. The plugin configration file work as the input of yardstick "plugin" command. Below is the Storperf plug-in configuration file sample: :: --- # StorPerf plugin configuration file # Used for integration StorPerf into Yardstick as a plugin schema: "yardstick:plugin:0.1" plugins: name: storperf deployment: ip: 192.168.23.2 user: root password: root In the plug-in configuration file, you need to specify the plug-in name and the plug-in deployment info, including node ip, node login username and password. Here the Storperf will be installed on IP 192.168.23.2 which is the Jump Host in my local environment. Step 2: Plug-in install/remove scripts preparation >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> In "yardstick/resource/scripts" directory, there are two folders: a "install" folder and a "remove" folder. You need to store the plug-in install/remove scripts in these two folders respectively. The detailed installation or remove operation should de defined in these two scripts. The name of both install and remove scripts should match the plugin-in name that you specified in the plug-in configuration file. For example, the install and remove scripts for Storperf are both named to "storperf.bash". Step 3: Install and remove Storperf >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> To install Storperf, simply execute the following command:: # Install Storperf yardstick plugin install plugin/storperf.yaml removing Storperf from yardstick ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To remove Storperf, simply execute the following command:: # Remove Storperf yardstick plugin remove plugin/storperf.yaml What yardstick plugin command does is using the username and password to log into the deployment target and then execute the corresponding install or remove script.