Add send socket commands function
[yardstick.git] / tests / opnfv / test_cases / opnfv_yardstick_tc038.yaml
1 ##############################################################################
2 # Copyright (c) 2017 Ericsson AB and others.
3 #
4 # All rights reserved. This program and the accompanying materials
5 # are made available under the terms of the Apache License, Version 2.0
6 # which accompanies this distribution, and is available at
7 # http://www.apache.org/licenses/LICENSE-2.0
8 ##############################################################################
9 ---
10
11 schema: "yardstick:task:0.1"
12 description: >
13     Yardstick TC038 config file;
14     Measure network throughput and packet loss using pktgen;
15     Different amounts of flows are tested with, from 2 up to 1001000;
16     All tests are run 10 times each. First 10 times with the least
17     amount of ports, then 10 times with the next amount of ports,
18     and so on until all packet sizes have been run with;
19     During the measurements system load and network latency are
20     recorded/measured using ping and mpstat, respectively;
21
22 {% set provider = provider or none %}
23 {% set physical_network = physical_network or 'physnet1' %}
24 {% set segmentation_id = segmentation_id or none %}
25
26 scenarios:
27 -
28   type: CPUload
29   run_in_background: true
30
31   options:
32     interval: 1
33
34   host: demeter.yardstick-TC038
35 -
36   type: CPUload
37   run_in_background: true
38
39   options:
40     interval: 1
41
42   host: poseidon.yardstick-TC038
43 -
44   type: Ping
45   run_in_background: true
46
47   options:
48     packetsize: 100
49
50   host: demeter.yardstick-TC038
51   target: poseidon.yardstick-TC038
52
53   sla:
54     max_rtt: 10
55     action: monitor
56 {% for num_ports in [1, 10, 50, 100, 300, 500, 750, 1000] %}
57 -
58   type: Pktgen
59   options:
60     packetsize: 64
61     number_of_ports: {{num_ports}}
62     duration: 20
63
64   host: demeter.yardstick-TC038
65   target: poseidon.yardstick-TC038
66
67   runner:
68     type: Iteration
69     iterations: 10
70     interval: 1
71
72   sla:
73     max_ppm: 1000
74     action: monitor
75 {% endfor %}
76
77 context:
78   name: yardstick-TC038
79   image: yardstick-image
80   flavor: yardstick-flavor
81   user: ubuntu
82
83   placement_groups:
84     pgrp1:
85       policy: "availability"
86
87   servers:
88     demeter:
89       floating_ip: true
90       placement: "pgrp1"
91     poseidon:
92       floating_ip: true
93       placement: "pgrp1"
94
95   networks:
96     test:
97       cidr: '10.0.1.0/24'
98       {% if provider == "vlan" %}
99       provider: {{provider}}
100       physical_network: {{physical_network}}
101         {% if segmentation_id %}
102       segmentation_id: {{segmentation_id}}
103         {% endif %}
104       {% endif %}