1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
##############################################################################
# Copyright (c) 2017 Ericsson AB and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
---
schema: "yardstick:task:0.1"
description: >
Yardstick TC008 config file;
Measure network throughput and packet loss using Pktgen;
Different amount of flows, from 2 up to 1001000, in combination
with different packet sizes are run in each test.
Each combination of packet size and flow amount is run 10 times.
First 10 times with the smallest packet size, starting with the
least amount of ports/flows, then next amount of ports with same
packet size, and so on. The test sequence continues with the next
packet size, with same ports/flows sequence as before.
{% set provider = provider or none %}
{% set physical_network = physical_network or 'physnet1' %}
{% set segmentation_id = segmentation_id or none %}
scenarios:
{% for pkt_size in [64, 128, 256, 512, 1024, 1280, 1518] %}
{% for num_ports in [1, 10, 50, 100, 500, 1000] %}
-
type: Pktgen
options:
packetsize: {{pkt_size}}
number_of_ports: {{num_ports}}
duration: 20
# choose vnic name: default to eth0
# vnic_name: 'ens3'
# turn on multiqueue inside VM
# multiqueue: True
# choose starting pps: default 1M;
# works with binary search runner Dynamictp to find max throughput per sla
# pps: 3000000
host: demeter.yardstick-TC008
target: poseidon.yardstick-TC008
runner:
type: Iteration
# binary search runner
# type: Dynamictp
iterations: 10
interval: 1
sla:
max_ppm: 1000
action: monitor
{% endfor %}
{% endfor %}
context:
name: yardstick-TC008
image: yardstick-image
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'
{% if provider == "vlan" %}
provider: {{provider}}
physical_network: {{physical_network}}
{% if segmentation_id %}
segmentation_id: {{segmentation_id}}
{% endif %}
{% endif %}
#test-sriov:
#cidr: '10.0.1.0/24'
#provider: "sriov"
|