---

  # 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.90.0.240'
      user: 'cord'
      pass: 'cord'
    -
      ip: '10.90.0.241'
      user: 'cord'
      pass: 'cord'

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

  olts:
  # Gpon OLT
    -
      ip:  10.90.0.245
      sship:  10.90.0.245
      user: root
      pass: onl
      fortygig: True
      aggPort: 2
      serial: 722033038194
      oltDebVersion: openolt_rlt-1600x-w-40g-3.6.2-cdd5e5f29842b7b51a277958031de720d0dc9407.deb
      board_technology: GPON

  hosts:
    src:
      # 1600X OLT
      -
        ip: 10.90.0.240
        user: cord
        pass: cord
        dp_iface_name: eth1.88
        container_type: LXC
        container_name: SCOMa0108adf
        onu: SCOMa0108adf
        olt: 722033038194
        c_tag: 88
        s_tag: 89
        power_switch_port: 4
        uni_id: 1
      -
        ip: 10.90.0.241
        user: cord
        pass: cord
        dp_iface_name: eth1.89
        container_type: LXC
        container_name: SCOMa030230f
        onu: SCOMa030230f
        olt: 722033038194
        c_tag: 89
        s_tag: 90
        power_switch_port: 2
        uni_id: 1
      -
        ip: 10.90.0.241
        user: cord
        pass: cord
        dp_iface_name: eth1.90
        container_type: LXC
        container_name: SCOMa030216a
        onu: SCOMa030216a
        olt: 722033038194
        c_tag: 90
        s_tag: 91
        power_switch_port: 1
        uni_id: 1

    dst:
      # 1600X OLT
      -
        dp_iface_ip_qinq: 10.89.88.254
        ip: null
        user: null
        pass: null
        noroot_ip: 10.90.0.241
        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.190.89.254
        ip: null
        user: null
        pass: null
        noroot_ip: 10.90.0.241
        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.91.90.254
        ip: null
        user: null
        pass: null
        noroot_ip: 10.90.0.241
        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.90.0.251'
    user: 'cord'
    password: 'cord'
    type: 'DLI'
