# Copyright (c) 2018-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 tp = tp or "../../../samples/vnf_samples/traffic_profiles/prox_binsearch.yaml" %}
{% set topology = topology or "../../../samples/vnf_samples/nsut/prox/prox-tg-topology-2.yaml" %}
{% set vnf_config = vnf_config or "../../../samples/vnf_samples/nsut/prox/configs/handle_l2fwd-2.cfg" %}
{% set tg_config = tg_config or "../../../samples/vnf_samples/nsut/prox/configs/gen_l2fwd-2.cfg" %}
---
schema: "yardstick:task:0.1"
description: >
    Yardstick NSB TC094 config file;
    Measures network metrics such as Throughput and Latency of the DPDK
    SampleVNF PROX application running on SUT based on RFC2544.
scenarios:
-
  type: NSPerf
  traffic_profile: {{ tp }}
  topology: {{ topology }}

  nodes:
    tg__0: trafficgen_1.yardstick
    vnf__0: vnf_0.yardstick

  options:
    vnf__0:
      collectd:
        interval: 1
      prox_path: /opt/nsb_bin/prox
      prox_config: {{ vnf_config }}
      prox_args:
        "-t": ""

    tg__0:
      collectd:
        interval: 1
      prox_path: /opt/nsb_bin/prox
      prox_config: {{ tg_config }}
      prox_args:
        "-e": ""
        "-t": ""

  runner:
    type: Duration
    duration: 300

context:
  name: yardstick
  image: yardstick-samplevnfs
  user: ubuntu
  flavor:
    vcpus: 10
    ram: 20480
    disk: 6
    extra_specs:
      hw:cpu_sockets: 1
      hw:cpu_cores: 10
      hw:cpu_threads: 1
  placement_groups:
    pgrp1:
      policy: "availability"

  servers:
    vnf_0:
      floating_ip: true
      placement: "pgrp1"
    trafficgen_1:
      floating_ip: true
      placement: "pgrp1"

  networks:
    mgmt:
      cidr: '10.0.1.0/24'
    uplink_0:
      cidr: '10.0.2.0/24'
      gateway_ip: 'null'
      port_security_enabled: False
      enable_dhcp: 'false'
    downlink_0:
      cidr: '10.0.3.0/24'
      gateway_ip: 'null'
      port_security_enabled: False
      enable_dhcp: 'false'