Merge "Add testsuite "os-odl-ovs-noha""
[yardstick.git] / samples / vnf_samples / nsut / prox / tc_prox_heat_context_l2fwd_multiflow-2-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 -
20   type: NSPerf
21   traffic_profile: ../../traffic_profiles/prox_binsearch.yaml
22   topology: prox-tg-topology-scale-out.yaml
23   extra_args:
24     num_vnfs: {{ num_vnfs }}
25
26   nodes:
27 {% for vnf_num in range(num_vnfs|int) %}
28     tg__{{ vnf_num }}: tg_{{ vnf_num }}.yardstick
29     vnf__{{ vnf_num }}: vnf_{{ vnf_num }}.yardstick
30 {% endfor %}
31
32   options:
33 {% for vnf_num in range(num_vnfs|int) %}
34     vnf__{{ vnf_num }}:
35       prox_path: /opt/nsb_bin/prox
36       prox_config: "configs/handle_l2fwd_multiflow-2.cfg"
37       prox_args:
38         "-t": ""
39
40     tg__{{ vnf_num }}:
41       prox_path: /opt/nsb_bin/prox
42       prox_config: "configs/gen_l2fwd_multiflow-2.cfg"
43       prox_args:
44         "-e": ""
45         "-t": ""
46 {% endfor %}
47
48   runner:
49     type: Duration
50     # we kill after duration, independent of test duration, so set this high
51     duration: 300
52
53 context:
54   name: yardstick
55   image: yardstick-samplevnfs
56   user: ubuntu
57   flavor:
58     vcpus: 8
59     ram: 20480
60     disk: 10
61     extra_specs:
62       hw:cpu_sockets: 1
63       hw:cpu_cores: 8
64       hw:cpu_threads: 1
65   placement_groups:
66     pgrp1:
67       policy: "availability"
68
69   servers:
70 {% for vnf_num in range(num_vnfs|int) %}
71     vnf_{{ vnf_num }}:
72       floating_ip: true
73       placement: "pgrp1"
74       {% if 'vnf_%s'|format(vnf_num) in availability_zone %}
75       availability_zone: "{{ availability_zone['vnf_%s'|format(vnf_num)] }}"
76       {% endif %}
77       network_ports:
78         mgmt:
79           - mgmt
80         uplink_{{ vnf_num }}:
81           - xe0
82         downlink_{{ vnf_num }}:
83           - xe1
84     tg_{{ vnf_num }}:
85       floating_ip: true
86       placement: "pgrp1"
87       {% if 'tg_%s'|format(vnf_num) in availability_zone %}
88       availability_zone: "{{ availability_zone['tg_%s'|format(vnf_num)] }}"
89       {% endif %}
90       network_ports:
91         mgmt:
92           - mgmt
93         uplink_{{ vnf_num }}:
94           - xe0
95         downlink_{{ vnf_num }}:
96           - xe1
97 {% endfor %}
98
99   networks:
100     mgmt:
101       cidr: '10.0.1.0/24'
102 {% for vnf_num in range(num_vnfs|int) %}
103     uplink_{{ vnf_num }}:
104       cidr: '10.0.{{ (vnf_num * 2) + 2 }}.0/24'
105       gateway_ip: 'null'
106       port_security_enabled: False
107       enable_dhcp: 'false'
108     downlink_{{ vnf_num }}:
109       cidr: '10.0.{{ (vnf_num * 2) + 3 }}.0/24'
110       gateway_ip: 'null'
111       port_security_enabled: False
112       enable_dhcp: 'false'
113 {% endfor %}