# Copyright (c) 2017 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.
---
- hosts: localhost
  connection: local
  vars:
    scale_out:
      - 1
      - 2
    ovs_properties:
      ovs: 2.6.0
      dpdk: 16.07.1
      vpath: "/usr/local"
      queues: 4
      pmd_threads: 2
      ram:
        socket_0: 2048
        socket_1: 2048
    flavor:
      user: root
      password: ""
      ram: 4096
      image: "/var/lib/libvirt/images/ubuntu.qcow2"
      extra_specs:
        cpu_sockets: 1
        cpu_cores: 6
        cpu_threads: 2
    flow:
      traffic_type: 4
      pkt_size:
         uplink: {64B: 100}
         downlink: {64B: 100}
      count: 10
      rfc2544:
        allowed_drop_rate: 0.0001 - 0.0001
      vnf_config:
        lb_config: 'SW'
        lb_count: 1
        worker_config: '1C/1T'
        worker_threads: 1

    # Environment variables
    gen:
      user: ""
      password: ""
      key_filename: ~
      tg_config:
        ixchassis: "1.1.1.127" #ixia chassis ip
        tcl_port: "8009" # tcl server port
        lib_path: "/opt/ixia/ixos-api/8.01.0.2/lib/ixTcl1.0"
        root_dir: "/opt/ixia/ixos-api/8.01.0.2/"
        py_bin_path: "/opt/ixia/ixload/8.01.106.3/bin/"
        dut_result_dir: "/mnt/results"
        version: "8.01.106.3"
      pcis:
        uplink:
          - "2:5" #Card:port
          - "2:3" #Card:port
        downlink:
          - "2:6" #Card:port
          - "2:5" #Card:port
      ip:
        mgmt:
          - '1.2.1.6/24'
        uplink:
          - '152.16.100.20/24'
          - '172.16.100.20/24'
        downlink:
          - '152.16.40.20/24'
          - '172.16.40.20/24'
      mac:
        uplink:
          - '00:98:10:64:14:00'
          - '00:ac:10:64:14:0'
        downlink:
          - '00:98:10:28:14:00'
          - '00:ac:10:28:14:00'

    host:
      ip: "192.168.100.101/24"
      user: ""
      password: ""
      key_filename: ~

    vnf:
      user: ""
      password: ""
      pcis:
        uplink:
          - "0000:05:00.0"
          - "0000:05:00.2"
        downlink:
          - "0000:05:00.1"
          - "0000:05:00.3"
      ip:
        mgmt:
          - '1.2.1.6/24'
          - '1.2.1.6/24'
        uplink:
          - '152.16.100.10/24'
          - '172.16.100.10/24'
        downlink:
          - '152.16.40.10/24'
          - '172.16.40.10/24'

  tasks:
    - include: ovs_scale_out_test_ixia_templates.yml
      with_items: "{{ scale_out }}"