Merge "Adding scale up test case for l3fwd SRIOV."
[yardstick.git] / samples / vnf_samples / nsut / vfw / tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_scale_out.yaml
1 # Copyright (c) 2018 Intel Corporation
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #      http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 {% set num_vnfs = num_vnfs or 1 %}
15 {% set availability_zone = availability_zone or {} %}
16 ---
17 schema: yardstick:task:0.1
18 scenarios:
19 - type: NSPerf
20   traffic_profile: ../../traffic_profiles/ipv4_throughput_scale_out.yaml
21   topology: vfw_tg_topology_scale_out.yaml
22   extra_args:
23     num_vnfs: {{ num_vnfs }}
24   nodes:
25 {% for vnf_num in range(num_vnfs|int) %}
26     tg__{{ vnf_num }}: tg_{{ vnf_num }}.yardstick
27     vnf__{{ vnf_num }}: vnf_{{ vnf_num }}.yardstick
28 {% endfor %}
29   options:
30     framesize:
31       uplink: {64B: 100}
32       downlink: {64B: 100}
33     flow:
34       src_ip:
35 {% for vnf_num in range(num_vnfs|int) %}
36         - {'tg__{{ vnf_num }}': 'xe0'}
37 {% endfor %}
38       dst_ip:
39 {% for vnf_num in range(num_vnfs|int) %}
40         - {'tg__{{ vnf_num }}': 'xe1'}
41 {% endfor %}
42       count: 1
43     traffic_type: 4
44     rfc2544:
45       allowed_drop_rate: 0.0001 - 0.0001
46 {% for vnf_num in range(num_vnfs|int) %}
47     vnf__{{ vnf_num }}:
48       rules: acl_1rule.yaml
49       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
50 {% endfor %}
51   runner:
52     type: Iteration
53     iterations: 10
54     interval: 35
55 context:
56   # put node context first, so we don't HEAT deploy if node has errors
57   name: yardstick
58   image: yardstick-samplevnfs
59   flavor:
60     vcpus: 10
61     ram: 20480
62     disk: 6
63     extra_specs:
64       hw:cpu_sockets: 1
65       hw:cpu_cores: 10
66       hw:cpu_threads: 1
67   user: ubuntu
68   placement_groups:
69     pgrp1:
70       policy: "availability"
71   servers:
72 {% for vnf_num in range(num_vnfs|int) %}
73     vnf_{{ vnf_num }}:
74       floating_ip: true
75       placement: "pgrp1"
76       {% if 'vnf_%s'|format(vnf_num) in availability_zone %}
77       availability_zone: "{{ availability_zone['vnf_%s'|format(vnf_num)] }}"
78       {% endif %}
79       network_ports:
80         mgmt:
81           - mgmt
82         uplink_{{ vnf_num }}:
83           - xe0
84         downlink_{{ vnf_num }}:
85           - xe1
86     tg_{{ vnf_num }}:
87       floating_ip: true
88       placement: "pgrp1"
89       {% if 'tg_%s'|format(vnf_num) in availability_zone %}
90       availability_zone: "{{ availability_zone['tg_%s'|format(vnf_num)] }}"
91       {% endif %}
92       network_ports:
93         mgmt:
94           - mgmt
95         uplink_{{ vnf_num }}:
96           - xe0
97         downlink_{{ vnf_num }}:
98           - xe1
99 {% endfor %}
100   networks:
101     mgmt:
102       cidr: '10.0.1.0/24'
103 {% for vnf_num in range(num_vnfs|int) %}
104     uplink_{{ vnf_num }}:
105       cidr: '10.0.{{ (vnf_num * 2) + 2 }}.0/24'
106       gateway_ip: 'null'
107       port_security_enabled: False
108       enable_dhcp: 'false'
109     downlink_{{ vnf_num }}:
110       cidr: '10.0.{{ (vnf_num * 2) + 3 }}.0/24'
111       gateway_ip: 'null'
112       port_security_enabled: False
113       enable_dhcp: 'false'
114 {% endfor %}