diff options
author | JingLu5 <lvjing5@huawei.com> | 2016-07-21 08:35:14 +0800 |
---|---|---|
committer | JingLu5 <lvjing5@huawei.com> | 2016-07-21 13:55:22 +0800 |
commit | 4c3fb1bcda2a8f71bce8988fb38808f0af8af639 (patch) | |
tree | 6421a9ac45d86276db3c7fdd85fe87494bfcd682 | |
parent | ebb9bc33134a90ea707f163950487056dc64e729 (diff) |
Add test case description and task file for TC070
Change-Id: Ia2108b1d53c3c2a5bb5a752da69252f6b9833487
Signed-off-by: JingLu5 <lvjing5@huawei.com>
-rw-r--r-- | docs/userguide/opnfv_yardstick_tc070.rst | 110 | ||||
-rw-r--r-- | tests/opnfv/test_cases/opnfv_yardstick_tc070.yaml | 87 |
2 files changed, 197 insertions, 0 deletions
diff --git a/docs/userguide/opnfv_yardstick_tc070.rst b/docs/userguide/opnfv_yardstick_tc070.rst new file mode 100644 index 000000000..64fcc0c91 --- /dev/null +++ b/docs/userguide/opnfv_yardstick_tc070.rst @@ -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 index 000000000..28b28b9ab --- /dev/null +++ b/tests/opnfv/test_cases/opnfv_yardstick_tc070.yaml @@ -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' |