---

  # Copyright 2020-2023 Open Networking Foundation (ONF) and the ONF Contributors
  #
  # 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.23'
      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:
  # Gpon OLT
    -
      ip:  10.35.90.24
      sship:  10.35.90.24
      user: root
      pass: onl
      fortygig: True
      aggPort: 1
      serial: 722033538840
      oltDebVersion: openolt_rlt-3200g-w-3.7.4-3b190f0-nni40g.deb
      board_technology: GPON

  hosts:
    src:
      # 3200G ONU
      -
        ip: 10.35.90.20
        user: cord
        pass: cord
        dp_iface_name: eth1.111
        container_type: LXC
        container_name: SCOM00001c7f
        onu: SCOM00001c7f
        olt: 722033538840
        c_tag: 111
        s_tag: 11
        power_switch_port: 2
        uni_id: 1

#      - ip: 10.35.90.18
#        user: cord
#        pass: cord
#        dp_iface_name: eth1.42
#        container_type: LXC
#        container_name: SCOMa0108af9
#        onu: SCOMa0108af9
#        olt: 722033538840
#        c_tag: 42
#        s_tag: 54
#        power_switch_port: 6
#        uni_id: 1

#      - ip: 10.35.90.18
#        user: cord
#        pass: cord
#        dp_iface_name: eth1.41
#        container_type: LXC
#        container_name: SCOMa0108aea
#        onu: SCOMa0108aea
#        olt: 722033538840
#        c_tag: 41
#        s_tag: 55
#        power_switch_port: 5
#        uni_id: 1

    dst:
      # 3200G OLT
      -
        dp_iface_ip_qinq: 10.11.11.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.54.42.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.55.41.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.22'
    user: 'cord'
    password: 'cord'
    type: 'DLI'
