1 # Copyright (c) 2017 Intel Corporation
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
7 # http://www.apache.org/licenses/LICENSE-2.0
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.
16 schema: yardstick:task:0.1
19 traffic_profile: ../../traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml
20 topology: vfw-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml
22 tg__0: tg__0.yardstick
23 tg__1: tg__1.yardstick
24 {% for vnf_num in range(num_vnfs|int) %}
25 vnf__{{ vnf_num }}: vnf_{{ vnf_num }}.yardstick
29 uplink: {{ flow.pkt_size.uplink }}
30 downlink: {{ flow.pkt_size.downlink }}
33 {% for vnf_num in range(num_vnfs|int) %}
34 - {'tg__0': 'xe{{ vnf_num }}'}
37 {% for vnf_num in range(num_vnfs|int) %}
38 - {'tg__1': 'xe{{ vnf_num }}'}
40 count: {{ flow.count }}
41 traffic_type: {{ flow.traffic_type }}
43 allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }}
44 {% for vnf_num in range(num_vnfs|int) %}
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}}}
49 ixia_profile: ../../traffic_profiles/ixia_ipv4_profile_{{num_vnfs}}_port.ixncfg
57 file: /etc/yardstick/nodes/ixia_correlated_{{num_vnfs}}.yaml
58 - type: StandaloneOvsDpdk
60 file: /etc/yardstick/nodes/ovs_host.yaml
64 ovs: {{ ovs_properties.ovs }}
65 dpdk: {{ ovs_properties.dpdk }}
66 vpath: "{{ ovs_properties.vpath }}"
67 queues: {{ovs_properties.queues}}
68 pmd_threads: {{ovs_properties.pmd_threads}}
70 socket_0: {{ovs_properties.ram.socket_0}}
71 socket_1: {{ovs_properties.ram.socket_1}}
73 images: {{ flavor.image }}
76 hw:cpu_sockets: {{ flavor.extra_specs.cpu_sockets }}
77 hw:cpu_cores: {{ flavor.extra_specs.cpu_cores }}
78 hw:cpu_threads: {{ flavor.extra_specs.cpu_threads }}
80 password: {{ vnf.password }}
82 {% for vnf_num in range(num_vnfs|int) %}
86 cidr: '{{vnf.ip.mgmt[vnf_num]}}'
88 - uplink_{{ vnf_num }}
90 - downlink_{{ vnf_num }}
93 {% for vnf_num in range(num_vnfs|int) %}
95 port_num: {{ vnf_num * 2 }}
96 phy_port: "{{vnf.pcis.uplink[vnf_num]}}"
97 vpci: "0000:00:{{10 + (99 | random)}}.0"
98 cidr: '{{vnf.ip.uplink[vnf_num]}}'
99 gateway_ip: '{{gen.ip.uplink[vnf_num]}}'
100 downlink_{{ vnf_num }}:
101 port_num: {{ (vnf_num * 2) + 1}}
102 phy_port: "{{vnf.pcis.downlink[vnf_num]}}"
103 vpci: "0000:00:{{10 + (9 | random)}}.0"
104 cidr: '{{vnf.ip.downlink[vnf_num]}}'
105 gateway_ip: '{{gen.ip.downlink[vnf_num]}}'