summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPer Holmgren <per.q.holmgren@ericsson.com>2015-12-11 13:49:55 +0100
committerJörgen Karlsson <jorgen.w.karlsson@ericsson.com>2015-12-18 13:32:03 +0000
commitb8876c76394202d78eb76bc8a5a864cd633a4896 (patch)
treef4b7babcf86cb662f893313b37a8f7f7a57acd97
parentd70a4891900e5cf5017a718f4e9c8e3d9ea4fcb5 (diff)
Adds new Yardstick test case TC009, Network Performance, Packet Loss
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
-rw-r--r--docs/yardstick/opnfv_yardstick_tc009.rst70
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc009.yaml53
2 files changed, 123 insertions, 0 deletions
diff --git a/docs/yardstick/opnfv_yardstick_tc009.rst b/docs/yardstick/opnfv_yardstick_tc009.rst
new file mode 100644
index 000000000..07d7fbfea
--- /dev/null
+++ b/docs/yardstick/opnfv_yardstick_tc009.rst
@@ -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
index 000000000..4d46c0336
--- /dev/null
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc009.yaml
@@ -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'