Adds new Yardstick test case TC009, Network Performance, Packet Loss 45/4445/4
authorPer Holmgren <per.q.holmgren@ericsson.com>
Fri, 11 Dec 2015 12:49:55 +0000 (13:49 +0100)
committerJörgen Karlsson <jorgen.w.karlsson@ericsson.com>
Fri, 18 Dec 2015 13:32:03 +0000 (13:32 +0000)
Similar to Yardstick TC001. Main difference is that each packet size
is run 10 times before next packet size.

JIRA: YARDSTICK-87

Change-Id: If0f59590dff9c8e5b86760667f01a373afe8aff0

docs/yardstick/opnfv_yardstick_tc009.rst [new file with mode: 0644]
tests/opnfv/test_cases/opnfv_yardstick_tc009.yaml [new file with mode: 0644]

diff --git a/docs/yardstick/opnfv_yardstick_tc009.rst b/docs/yardstick/opnfv_yardstick_tc009.rst
new file mode 100644 (file)
index 0000000..07d7fbf
--- /dev/null
@@ -0,0 +1,70 @@
+*************************************
+Yardstick Test Case Description TC009
+*************************************
++-----------------------------------------------------------------------------+
+|Network Performance                                                          |
++==============+==============================================================+
+|test case id  | OPNFV_YARDSTICK_TC009_NW PERF, Packet loss                   |
++--------------+--------------------------------------------------------------+
+|metric        | Number of flows and throughput                               |
++--------------+--------------------------------------------------------------+
+|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 VMs 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 ans similar shall be stored for comparison reasons and|
+|              | product evolution understanding between different OPNFV      |
+|              | versions and/or configurations.                              |
++--------------+--------------------------------------------------------------+
+|configuration | file: opnfv_yardstick_tc009.yaml                             |
+|              |                                                              |
+|              | Packet size: 64 bytes                                        |
+|              |                                                              |
+|              | Number of ports: 1, 10, 50, 100, 500 and 1000. The amount of |
+|              | configured ports map from 2 up to 1001000 flows,             |
+|              | respectively. Each port amount is run ten times, for 20      |
+|              | seconds each. Then the next port_amount is run, and so on.   |
+|              |                                                              |
+|              | 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 Docker    |
+|              | image.                                                       |
+|              | As an example see the /yardstick/tools/ directory for how    |
+|              | to generate a Linux image with pktgen included.)             |
++--------------+--------------------------------------------------------------+
+|references    |https://www.kernel.org/doc/Documentation/networking/pktgen.txt|
+|              |                                                              |
+|              |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, i.e. 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 | step | description                      | result             |
+|              +------+----------------------------------+--------------------+
+|              |  1   | The hosts are installed, as      | Logs are stored    |
+|              |      | server and client. pktgen is     |                    |
+|              |      | invoked and logs are produced    |                    |
+|              |      | and 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_tc009.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc009.yaml
new file mode 100644 (file)
index 0000000..4d46c03
--- /dev/null
@@ -0,0 +1,53 @@
+---
+# Yardstick TC009 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 10 times each. First 10 times with the least
+# amount of ports, then 10 times with the next amount of ports,
+# and so on until all packet sizes have been run with.
+
+schema: "yardstick:task:0.1"
+
+scenarios:
+{% for num_ports in [1, 10, 50, 100, 500, 1000] %}
+-
+  type: Pktgen
+  options:
+    packetsize: 64
+    number_of_ports: {{num_ports}}
+    duration: 20
+
+  host: demeter.yardstick-TC009
+  target: poseidon.yardstick-TC009
+
+  runner:
+    type: Iteration
+    iterations: 10
+    interval: 1
+
+  sla:
+    max_ppm: 1000
+    action: monitor
+{% endfor %}
+
+context:
+  name: yardstick-TC009
+  image: yardstick-trusty-server
+  flavor: yardstick-flavor
+  user: ec2-user
+
+  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'