Unify vFW testcases TG and VNF names
[yardstick.git] / samples / vnf_samples / nsut / vfw / tc_sriov_vfw_udp_ixia_scale_out_template.yaml
1 # Copyright (c) 2016-2019 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
15 ---
16 schema: yardstick:task:0.1
17 scenarios:
18   - type: NSPerf
19     traffic_profile: ../../traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml
20     topology: vfw-tg-topology-ixia-scale-out-{{ num_vnfs }}.yaml
21     nodes:
22       tg__0: trafficgen_0.yardstick
23 {% for vnf_num in range(num_vnfs|int) %}
24       vnf__{{ vnf_num }}: vnf_{{ vnf_num }}.yardstick
25 {% endfor %}
26     options:
27       framesize:
28         uplink: {{ flow.pkt_size.uplink }}
29         downlink: {{ flow.pkt_size.downlink }}
30       flow:
31         src_ip:
32 {% for vnf_num in range(num_vnfs|int) %}
33           - {'tg__0': 'xe{{ (vnf_num * 2)}}'}
34 {% endfor %}
35         dst_ip:
36 {% for vnf_num in range(num_vnfs|int) %}
37           - {'tg__0': 'xe{{ (vnf_num * 2) + 1}}'}
38 {% endfor %}
39         count: {{ flow.count }}
40       traffic_type: {{ flow.traffic_type }}
41       rfc2544:
42         allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }}
43 {% for vnf_num in range(num_vnfs|int) %}
44       vnf__{{ vnf_num }}:
45         rules: acl_1rule.yaml
46         vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}}
47 {% endfor %}
48
49     runner:
50       type: Iteration
51       iterations: 10
52       interval: 35
53 contexts:
54    - name: yardstick
55      type: Node
56      file: /etc/yardstick/nodes/ixia_{{num_vnfs}}.yaml
57    - type: StandaloneSriov
58      file: /etc/yardstick/nodes/sriov_host.yaml
59      name: yardstick
60      vm_deploy: True
61      flavor:
62        images: {{ flavor.image }}
63        ram: {{ flavor.ram }}
64        extra_specs:
65          hw:cpu_sockets: {{ flavor.extra_specs.cpu_sockets }}
66          hw:cpu_cores: {{ flavor.extra_specs.cpu_cores }}
67          hw:cpu_threads: {{ flavor.extra_specs.cpu_threads }}
68        user: {{ vnf.user }}
69        password: {{ vnf.password }}
70      servers:
71 {% for vnf_num in range(num_vnfs|int) %}
72        vnf_{{ vnf_num }}:
73          network_ports:
74            mgmt:
75              cidr: '{{vnf.ip.mgmt[vnf_num]}}'
76            xe0:
77              - uplink_{{ vnf_num }}
78            xe1:
79              - downlink_{{ vnf_num }}
80 {% endfor %}
81      networks:
82 {% for vnf_num in range(num_vnfs|int) %}
83        uplink_{{ vnf_num }}:
84          port_num: {{ vnf_num * 2 }}
85          phy_port: "{{vnf.pcis.uplink[vnf_num]}}"
86          vpci: "0000:00:{{10 + (89 | random)}}.0"
87          cidr: '{{vnf.ip.uplink[vnf_num]}}'
88          gateway_ip: '{{gen.ip.uplink[vnf_num]}}'
89        downlink_{{ vnf_num }}:
90          port_num: {{ (vnf_num * 2) + 1}}
91          phy_port: "{{vnf.pcis.downlink[vnf_num]}}"
92          vpci: "0000:00:{{10 + (89 | random)}}.0"
93          cidr: '{{vnf.ip.downlink[vnf_num]}}'
94          gateway_ip: '{{gen.ip.downlink[vnf_num]}}'
95 {% endfor %}