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