Add test case description and task file for TC012 71/3971/5
authorKristian Hunt <kristian.hunt@gmail.com>
Mon, 9 Nov 2015 15:24:03 +0000 (16:24 +0100)
committerJörgen Karlsson <jorgen.w.karlsson@ericsson.com>
Tue, 15 Dec 2015 16:13:42 +0000 (16:13 +0000)
Add test case description for Memory Bandwidth (TC012) and test case
.yaml task file.

JIRA: YARDSTICK-113

Change-Id: I6f2b0bb8c920f3ece3a41bac744cc1ec1fd35cbc
Signed-off-by: Kristian Hunt <kristian.hunt@gmail.com>
docs/yardstick/opnfv_yardstick_tc012.rst [new file with mode: 0644]
tests/opnfv/test_cases/opnfv_yardstick_tc012.yaml [new file with mode: 0644]

diff --git a/docs/yardstick/opnfv_yardstick_tc012.rst b/docs/yardstick/opnfv_yardstick_tc012.rst
new file mode 100644 (file)
index 0000000..0c8e9c0
--- /dev/null
@@ -0,0 +1,68 @@
+
+*************************************
+Yardstick Test Case Description TC012
+*************************************
+
++-----------------------------------------------------------------------------+
+|Memory Bandwidth                                                             |
++==============+==============================================================+
+|test case id  | OPNFV_YARDSTICK_TC012_Memory Bandwidth                       |
++--------------+--------------------------------------------------------------+
+|metric        | Megabyte per second (MBps)                                   |
++--------------+--------------------------------------------------------------+
+|test purpose  | Measure the rate at which data can be read from and written  |
+|              | to the memory (this includes all levels of memory).          |
++--------------+--------------------------------------------------------------+
+|configuration | File: opnfv_yardstick_tc012.yaml                             |
+|              |                                                              |
+|              | * SLA (optional): 15000 (MBps)                                |
+|              |     min_bw: The minimum amount of memory bandwidth that is   |
+|              |     accepted.                                                |
+|              | * Size: 10 240 kB - test allocates twice that size (20 480kB)|
+|              |   zeros it and then measures the time it takes to copy from  |
+|              |   one side to another.                                       |
+|              | * Benchmark: rdwr - measures the time to read data into      |
+|              |   memory and then write data to the same location.           |
+|              | * Warmup: 0 - the number of iterations to perform before     |
+|              |   taking actual measurements.                                |
+|              | * Iterations: 10 - test is run 10 times iteratively.         |
+|              | * Interval: 1 - there is 1 second delay between each         |
+|              |   iteration.                                                 |
++--------------+--------------------------------------------------------------+
+|test tool     | Lmbench                                                      |
+|              |                                                              |
+|              | Lmbench is a suite of operating system microbenchmarks. This |
+|              | test uses bw_mem tool from that suite.                       |
+|              | Lmbench is not always part of a Linux distribution, hence it |
+|              | needs to be installed in the test image                      |
+|              | (See :ref:`guest-image` for how to generate a Linux image    |
+|              | for Glance with Lmbench included).                           |
++--------------+--------------------------------------------------------------+
+|references    | * http://manpages.ubuntu.com/manpages/trusty/bw_mem.8.html   |
+|              |                                                              |
+|              | * McVoy, Larry W., and Carl Staelin. "lmbench: Portable Tools|
+|              |   for Performance Analysis." *USENIX annual technical        |
+|              |   conference*. 1996.                                         |
++--------------+--------------------------------------------------------------+
+|applicability | Test can be configured with different                        |
+|              |   * memory sizes;                                            |
+|              |   * memory operations (such as rd, wr, rdwr, cp, frd, fwr,   |
+|              |     fcp, bzero, bcopy);                                      |
+|              |   * number of warmup iterations;                             |
+|              |   * iterations and intervals.                                |
+|              | There are default values for each above-mentioned option.    |
++--------------+--------------------------------------------------------------+
+|pre-test      | The test case image needs to be installed into Glance        |
+|conditions    | with Lmbench included in the image.                          |
+|              |                                                              |
+|              | No POD specific requirements have been identified.           |
++--------------+------+----------------------------------+--------------------+
+|test sequence | step | description                      | result             |
+|              +------+----------------------------------+--------------------+
+|              |  1   | The host is installed as client. | Logs are stored    |
+|              |      | Lmbench's bw_mem tool is invoked |                    |
+|              |      | and logs are produced and stored.|                    |
++--------------+------+----------------------------------+--------------------+
+|test verdict  | Test fails if the measured memory bandwidth is below the SLA |
+|              | value or if there is a test case execution problem.          |
++--------------+--------------------------------------------------------------+
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc012.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc012.yaml
new file mode 100644 (file)
index 0000000..0c54d0c
--- /dev/null
@@ -0,0 +1,41 @@
+---
+# Yardstick TC012 config file
+# Measure memory read and write bandwidth using lmbench
+
+schema: "yardstick:task:0.1"
+
+scenarios:
+-
+  type: Lmbench
+  options:
+    test_type: "bandwidth"
+    size: 10240
+    benchmark: "rdwr"
+    warmup: 0
+
+  host: demeter.demo
+
+  runner:
+    type: Iteration
+    iterations: 10
+    interval: 1
+
+  sla:
+    min_bandwidth: 15000
+    action: monitor
+
+context:
+  name: demo
+  image: yardstick-trusty-server
+  flavor: m1.small
+  user: ec2-user
+
+  servers:
+    demeter:
+      floating_ip: true
+
+  networks:
+    test:
+      cidr: '10.0.1.0/24'
+
+