---

  # Copyright 2020-present Open Networking Foundation
  #
  # 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.

  # Automated deployment configuration for Tucson pod

  # Change default values in tests
  ONOS_REST_PORT: 30120
  ONOS_SSH_PORT: 30115
  OLT_PORT: 9191
  KUBERNETES_CONF: $HOME/.kube/kind-config-voltha-minimal

# This tells the control node how to reach the Kubernetes nodes.
  nodes:
    -
      ip: '10.35.90.18'
      user: 'cord'
      pass: 'cord'

  fabric_switches: []
  # The switch is shared across 3 PODs, thus is externally controlled
  #   -
  #     mac: '8c:ea:1b:a7:29:72'
  #     ip: 10.35.90.17
  #     user: root
  #     pass: onl
  #     bngPort: 31
  #     device_id: 'of:0000000000000001'

  olts:
    -
      ip:  10.35.90.19
      sship:  10.35.90.19
      user: root
      pass: onl
      fortygig: True
      aggPort: 3
      serial: 722033738988
      oltDebVersion: openolt_rlt-1600g-w-40g-3.6.2-cdd5e5f29842b7b51a277958031de720d0dc9407.deb
      board_technology: GPON

  hosts:
    src:
      # 1600G OLT
      -
        ip: 10.35.90.18
        user: cord
        pass: cord
        dp_iface_name: eth1.222
        container_type: LXC
        container_name: SCOM00001c8d
        onu: SCOM00001c8d
        olt: 722033738988
        c_tag: 222
        s_tag: 22
        power_switch_port: 6
        uni_id: 1
      -
        ip: 10.35.90.18
        user: cord
        pass: cord
        dp_iface_name: eth1.333
        container_type: LXC
        container_name: SCOM00019ab7
        onu: SCOM00019ab7
        olt: 722033738988
        c_tag: 333
        s_tag: 33
        power_switch_port: 5
        uni_id: 1
      -
        ip: 10.35.90.23
        user: cord
        pass: cord
        dp_iface_name: eth1.444
        container_type: LXC
        container_name: SCOMa0301e8d
        onu: SCOMa0301e8d
        olt: 722033738988
        c_tag: 444
        s_tag: 44
        power_switch_port: 3
        uni_id: 1

    dst:

      #1600G OLT
      -
        dp_iface_ip_qinq: 10.22.22.254
        ip: null
        user: null
        pass: null
        noroot_ip: 10.35.90.20
        noroot_user: cord
        noroot_pass: cord
        dp_iface_name: enp3s0d1
        dp_iface_ip: null
        dp_iface_gateway: null
        container_type: null
        container_name: null
      -
        dp_iface_ip_qinq: 10.33.33.254
        ip: null
        user: null
        pass: null
        noroot_ip: 10.35.90.20
        noroot_user: cord
        noroot_pass: cord
        dp_iface_name: enp3s0d1
        dp_iface_ip: null
        dp_iface_gateway: null
        container_type: null
        container_name: null
      -
        dp_iface_ip_qinq: 10.44.44.254
        ip: null
        user: null
        pass: null
        noroot_ip: 10.35.90.20
        noroot_user: cord
        noroot_pass: cord
        dp_iface_name: enp3s0d1
        dp_iface_ip: null
        dp_iface_gateway: null
        container_type: null
        container_name: null

  web_power_switch:
    ip: '10.35.90.25'
    user: 'cord'
    password: 'cord'
    type: 'DLI'
