Add test case description and task file for TC070 79/17279/3
authorJingLu5 <lvjing5@huawei.com>
Thu, 21 Jul 2016 00:35:14 +0000 (08:35 +0800)
committerJingLu5 <lvjing5@huawei.com>
Thu, 21 Jul 2016 05:55:22 +0000 (13:55 +0800)
Change-Id: Ia2108b1d53c3c2a5bb5a752da69252f6b9833487
Signed-off-by: JingLu5 <lvjing5@huawei.com>
docs/userguide/opnfv_yardstick_tc070.rst [new file with mode: 0644]
tests/opnfv/test_cases/opnfv_yardstick_tc070.yaml [new file with mode: 0644]

diff --git a/docs/userguide/opnfv_yardstick_tc070.rst b/docs/userguide/opnfv_yardstick_tc070.rst
new file mode 100644 (file)
index 0000000..64fcc0c
--- /dev/null
@@ -0,0 +1,110 @@
+.. 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 TC070
+*************************************
+
+.. _cirros: https://download.cirros-cloud.net
+.. _pktgen: https://www.kernel.org/doc/Documentation/networking/pktgen.txt
+.. _free: http://manpages.ubuntu.com/manpages/trusty/en/man1/free.1.html
+
++-----------------------------------------------------------------------------+
+|Latency, Memory Utilization, Throughput, Packet Loss                         |
+|                                                                             |
++--------------+--------------------------------------------------------------+
+|test case id  | OPNFV_YARDSTICK_TC070_Latency, Memory Utilization,           |
+|              | Throughput,Packet Loss                                       |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|metric        | Number of flows, latency, throughput, Memory Utilization,    |
+|              | packet loss                                                  |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test purpose  | To evaluate the IaaS network performance with regards to     |
+|              | flows and throughput, such as if and how different amounts   |
+|              | of flows matter for the throughput between hosts on different|
+|              | compute blades. Typically e.g. the performance of a vSwitch  |
+|              | depends on the number of flows running through it. Also      |
+|              | performance of other equipment or entities can depend        |
+|              | on the number of flows or the packet sizes used.             |
+|              | 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: opnfv_yardstick_tc070.yaml                             |
+|              |                                                              |
+|              | Packet size: 64 bytes                                        |
+|              | Number of ports: 1, 10, 50, 100, 300, 500, 750 and 1000.     |
+|              | The amount configured ports map from 2 up to 1001000 flows,  |
+|              | respectively. Each port amount is run two times, for 20      |
+|              | seconds each. Then the next port_amount is run, and so on.   |
+|              | During the test Memory Utilization on both client and server,|
+|              | and the network latency between the client and server are    |
+|              | measured.                                                    |
+|              | The client and server are distributed on different HW.       |
+|              | For SLA max_ppm is set to 1000.                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test tool     | pktgen                                                       |
+|              |                                                              |
+|              | Pktgen is not always part of a Linux distribution, hence it  |
+|              | needs to be installed. It is part of the Yardstick Glance    |
+|              | image.                                                       |
+|              | (As an example see the /yardstick/tools/ directory for how   |
+|              | to generate a Linux image with pktgen included.)             |
+|              |                                                              |
+|              | ping                                                         |
+|              |                                                              |
+|              | Ping is normally part of any Linux distribution, hence it    |
+|              | doesn't need to be installed. It is also part of the         |
+|              | Yardstick Glance image.                                      |
+|              | (For example also a cirros_ image can be downloaded, it      |
+|              | includes ping)                                               |
+|              |                                                              |
+|              | free                                                         |
+|              |                                                              |
+|              | free provides information about unused and used memory and   |
+|              | swap space on any computer running Linux or another Unix-like|
+|              | operating system.                                            |
+|              | free is normally part of a Linux distribution, hence it      |
+|              | doesn't needs to be installed.                               |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|references    | Ping and free man pages                                      |
+|              |                                                              |
+|              | pktgen_                                                      |
+|              |                                                              |
+|              | ETSI-NFV-TST001                                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|applicability | Test can be configured with different packet sizes, amount   |
+|              | of flows and test duration. Default values exist.            |
+|              |                                                              |
+|              | SLA (optional): max_ppm: The number of packets per million   |
+|              | packets sent that are acceptable to lose, not received.      |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|pre-test      | The test case image needs to be installed into Glance        |
+|conditions    | with pktgen included in it.                                  |
+|              |                                                              |
+|              | No POD specific requirements have been identified.           |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test sequence | description and expected result                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 1        | The hosts are installed, as server and client. pktgen 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.                                           |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc070.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc070.yaml
new file mode 100644 (file)
index 0000000..28b28b9
--- /dev/null
@@ -0,0 +1,87 @@
+---
+# Yardstick TC070 config file
+# Measure network throughput and packet loss using pktgen.
+# Different amounts of flows are tested with, from 2 up to 1001000.
+# All tests are run 2 times each. First 2 times with the least
+# amount of ports, then 2 times with the next amount of ports,
+# and so on until all packet sizes have been run with.
+#
+# During the measurements memory usage statistics and network latency are
+# recorded/measured using free and ping, respectively.
+
+schema: "yardstick:task:0.1"
+
+scenarios:
+-
+  type: MEMORYload
+  run_in_background: true
+
+  options:
+    interval: 1
+    count: 10
+
+  host: demeter.yardstick-TC070
+-
+  type: MEMORYload
+  run_in_background: true
+
+  options:
+    interval: 1
+    count: 10
+
+  host: poseidon.yardstick-TC070
+-
+  type: Ping
+  run_in_background: true
+
+  options:
+    packetsize: 100
+
+  host: demeter.yardstick-TC070
+  target: poseidon.yardstick-TC070
+
+  sla:
+    max_rtt: 10
+    action: monitor
+{% for num_ports in [1, 10, 50, 100, 300, 500, 750, 1000] %}
+-
+  type: Pktgen
+  options:
+    packetsize: 64
+    number_of_ports: {{num_ports}}
+    duration: 20
+
+  host: demeter.yardstick-TC070
+  target: poseidon.yardstick-TC070
+
+  runner:
+    type: Iteration
+    iterations: 2
+    interval: 1
+
+  sla:
+    max_ppm: 1000
+    action: monitor
+{% endfor %}
+
+context:
+  name: yardstick-TC070
+  image: yardstick-trusty-server
+  flavor: yardstick-flavor
+  user: ubuntu
+
+  placement_groups:
+    pgrp1:
+      policy: "availability"
+
+  servers:
+    demeter:
+      floating_ip: true
+      placement: "pgrp1"
+    poseidon:
+      floating_ip: true
+      placement: "pgrp1"
+
+  networks:
+    test:
+      cidr: '10.0.1.0/24'