---

  # 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.34.90.44'
      user: 'community'
      pass: 'admin'
    -
      ip: '10.34.90.45'
      user: 'community'
      pass: 'admin'
    -
      ip: '10.34.90.46'
      user: 'community'
      pass: 'admin'
  
  fabric_switches: []
  # The switch is shared across 2 PODs, thus is externally controlled
  #  -
  #    mac: '8c:ea:1b:a7:29:72'
  #    ip: 10.34.90.55
  #    user: root
  #    pass: onl
  #    bngPort: 157
  #    device_id: 'of:0000000000000001'
  
  olts:
  # Gpon OLT
    -
      ip:  10.34.90.53
      sship:  10.34.90.53
      fortygig: False
      aggPort: 6
      user: root
      pass: onl
      serial: S210Z14009247
      oltDebVersion: openolt_sda3016ss-3.7.2-dev-gpon.deb
      board_technology: GPON
 
  hosts:
    src:
      #GPON ONU
      -
        ip: 10.34.90.45
        user: community
        pass: admin
        dp_iface_name: eth1.7
        container_type: LXC
        container_name: SCOM00001C90
        onu: SCOM00001c90
        olt: S210Z14009247
        c_tag: 7
        s_tag: 42
        power_switch_port: 2
        uni_id: 1
      -
        ip: 10.34.90.45
        user: community
        pass: admin
        dp_iface_name: eth1.7
        container_type: LXC
        container_name: SCOMA030600F
        onu: SCOMa030600f
        olt: S210Z14009247
        c_tag: 7
        s_tag: 43
        power_switch_port: 4
        uni_id: 1

    dst:
      -
        dp_iface_ip_qinq: 10.42.7.254
        ip: null
        user: null
        pass: null
        noroot_ip: 10.34.90.43
        noroot_user: community
        noroot_pass: admin
        dp_iface_name: ens1f0
        dp_iface_ip: null
        dp_iface_gateway: null
        container_type: null
        container_name: null
      -
        dp_iface_ip_qinq: 10.43.7.254
        ip: null
        user: null
        pass: null
        noroot_ip: 10.34.90.43
        noroot_user: community
        noroot_pass: admin
        dp_iface_name: ens1f0
        dp_iface_ip: null
        dp_iface_gateway: null
        container_type: null
        container_name: null

  web_power_switch:
    ip: '10.34.90.61'
    user: 'admin'
    password: 'secret'
    type: 'EPC'
