# Copyright (c) 2019 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. {% set image = image or "yardstick-samplevnfs" %} {% set mem = mem or 20480 %} {% set vcpus = vcpus or 10 %} {% set vports = vports or 2 %} {% set public_ip = public_ip or {0: "10.0.3.50", 1: "10.0.5.50"} %} {% set phynet_map = phynet_map or {'uplink_0': 'prov6', 'downlink_0': 'prov7', 'uplink_1': 'prov4', 'downlink_1': 'prov5'} %} --- schema: yardstick:task:0.1 scenarios: - type: NSPerf-RFC2544 traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt-scale-up.yaml topology: cgnapt-tg-topology-scale-up.yaml extra_args: vports: {{ vports }} nodes: tg__0: trafficgen_0.barametal vnf__0: vnf_0.yardstick options: framesize: flow: src_ip: [ {% for vport in range(0,vports,2|int) %} {'tg__0': 'xe{{vport}}'}, {% endfor %} ] dst_ip: [ {% for vport in range(1,vports,2|int) %} {'tg__0': 'xe{{vport}}'}, {% endfor %} ] public_ip: {% for port_num in range((vports/2)|int) %} - {{ public_ip[port_num] }} {% endfor %} count: 1 traffic_type: 4 rfc2544: resolution: 0.01 allowed_drop_rate: 0.005 - 0.01 vnf__0: vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} runner: type: Sequence scenario_option_name: framesize sequence: - uplink: {64B: 100} downlink: {64B: 100} - uplink: {128B: 100} downlink: {128B: 100} - uplink: {256B: 100} downlink: {256B: 100} - uplink: {512B: 100} downlink: {512B: 100} - uplink: {1024B: 100} downlink: {1024B: 100} - uplink: {1518B: 100} downlink: {1518B: 100} - uplink: {64B: 25, 128B: 25, 512B: 25, 1024B: 25} downlink: {64B: 25, 128B: 25, 512B: 25, 1024B: 25} contexts: - name: barametal type: Node file: /etc/yardstick/nodes/pod_trex.yaml - name: yardstick image: {{ image }} flavor: vcpus: {{ vcpus }} ram: {{ mem }} disk: 6 extra_specs: hw:cpu_sockets: 1 hw:cpu_cores: {{ vcpus }} hw:cpu_threads: 1 user: ubuntu placement_groups: pgrp1: policy: "availability" servers: vnf_0: floating_ip: true placement: "pgrp1" network_ports: mgmt: - mgmt {% for vport in range(0,vports,2|int) %} uplink_{{loop.index0}}: - xe{{vport}} downlink_{{loop.index0}}: - xe{{vport + 1}} {% endfor %} networks: mgmt: cidr: '10.0.1.0/24' {% for vport in range(1,vports,2|int) %} uplink_{{loop.index0}}: cidr: '10.0.{{vport + 1}}.0/24' gateway_ip: 'null' provider: true physical_network: {{phynet_map['uplink_' + loop.index0|string] }} port_security_enabled: False enable_dhcp: 'false' downlink_{{loop.index0}}: cidr: '10.0.{{vport + 2}}.0/24' gateway_ip: 'null' provider: true physical_network: {{phynet_map['downlink_' + loop.index0|string] }} port_security_enabled: False enable_dhcp: 'false' {% endfor %}