# Copyright (c) 2018 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 num_vnfs = num_vnfs or 1 %} {% set availability_zone = availability_zone or {} %} --- schema: "yardstick:task:0.1" scenarios: - type: NSPerf traffic_profile: ../../traffic_profiles/prox_binsearch.yaml topology: prox-tg-topology-scale-out.yaml extra_args: num_vnfs: {{ num_vnfs }} nodes: {% for vnf_num in range(num_vnfs|int) %} tg__{{ vnf_num }}: tg_{{ vnf_num }}.yardstick vnf__{{ vnf_num }}: vnf_{{ vnf_num }}.yardstick {% endfor %} options: {% for vnf_num in range(num_vnfs|int) %} vnf__{{ vnf_num }}: prox_path: /opt/nsb_bin/prox prox_config: "configs/handle_l2fwd_multiflow-2.cfg" prox_args: "-t": "" tg__{{ vnf_num }}: prox_path: /opt/nsb_bin/prox prox_config: "configs/gen_l2fwd_multiflow-2.cfg" prox_args: "-e": "" "-t": "" {% endfor %} runner: type: Duration # we kill after duration, independent of test duration, so set this high duration: 300 context: name: yardstick image: yardstick-samplevnfs user: ubuntu flavor: vcpus: 8 ram: 20480 disk: 10 extra_specs: hw:cpu_sockets: 1 hw:cpu_cores: 8 hw:cpu_threads: 1 placement_groups: pgrp1: policy: "availability" servers: {% for vnf_num in range(num_vnfs|int) %} vnf_{{ vnf_num }}: floating_ip: true placement: "pgrp1" {% if 'vnf_%s'|format(vnf_num) in availability_zone %} availability_zone: "{{ availability_zone['vnf_%s'|format(vnf_num)] }}" {% endif %} network_ports: mgmt: - mgmt uplink_{{ vnf_num }}: - xe0 downlink_{{ vnf_num }}: - xe1 tg_{{ vnf_num }}: floating_ip: true placement: "pgrp1" {% if 'tg_%s'|format(vnf_num) in availability_zone %} availability_zone: "{{ availability_zone['tg_%s'|format(vnf_num)] }}" {% endif %} network_ports: mgmt: - mgmt uplink_{{ vnf_num }}: - xe0 downlink_{{ vnf_num }}: - xe1 {% endfor %} networks: mgmt: cidr: '10.0.1.0/24' {% for vnf_num in range(num_vnfs|int) %} uplink_{{ vnf_num }}: cidr: '10.0.{{ (vnf_num * 2) + 2 }}.0/24' gateway_ip: 'null' port_security_enabled: False enable_dhcp: 'false' downlink_{{ vnf_num }}: cidr: '10.0.{{ (vnf_num * 2) + 3 }}.0/24' gateway_ip: 'null' port_security_enabled: False enable_dhcp: 'false' {% endfor %}