---

  # Copyright 2017-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: 830
  KUBERNETES_CONF: $HOME/.kube/kind-config-voltha-minimal

# This tells the control node how to reach the Kubernetes nodes.
  nodes:
    -
      ip: 'node-3.berlin-lab.lfbroadband.org'
      user: 'community'
      pass: 'admin'
    -
      ip: 'node-1.berlin-lab.lfbroadband.org'
      user: 'community'
      pass: 'admin'
    -
      ip: 'node-2.berlin-lab.lfbroadband.org'
      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:  adtran-olt.berlin-lab.lfbroadband.org
      sship:  adtran-olt.berlin-lab.lfbroadband.org
      fortygig: False
      aggPort: 3
      serial: LBADTN2038AD991
      type: adtranolt
      user: hsvroot
      pass: BOSCO
      board_technology: GPON
 
  hosts:
    src:
      #GPON ONU
      -
        ip: node-1.berlin-lab.lfbroadband.org
        user: community
        pass: admin
        dp_iface_name: eth1.7
        container_type: LXC
        container_name: SCOMA0302125
        onu: SCOMa0302125
        olt: LBADTN2038AD991
        c_tag: 7
        s_tag: 35
        power_switch_port: 4
        uni_id: 1
#      -
#        ip: node-1.berlin-lab.lfbroadband.org
#        user: community
#        pass: admin
#        dp_iface_name: eth1.7
#        container_type: LXC
#        container_name: SCOMA030210E
#        onu: SCOMa030210e
#        olt: LBADTN2038AD991
#        c_tag: 7
#        s_tag: 36
#        power_switch_port: 5
#        uni_id: 1
#      -
#        ip: node-1.berlin-lab.lfbroadband.org
#        user: community
#        pass: admin
#        dp_iface_name: eth1.7
#        container_type: LXC
#        container_name: SCOM00001C0F
#        onu: SCOM00001c0f
#        olt: LBADTN2038AD991
#        c_tag: 7
#        s_tag: 37
#        power_switch_port: 7
#        uni_id: 1
#      -
#        ip: node-4.berlin-lab.lfbroadband.org
#        user: community
#        pass: admin
#        dp_iface_name: eth1.7
#        container_type: LXC
#        container_name: SCOMA0305FC1
#        onu: SCOMa0305fc1
#        olt: LBADTN2038AD991
#        c_tag: 7
#        s_tag: 40
#        power_switch_port: 2
#        uni_id: 1

    dst:
      -
        dp_iface_ip_qinq: 10.35.7.254
        ip: null
        user: null
        pass: null
        noroot_ip: bng.berlin-lab.lfbroadband.org
        noroot_user: community
        noroot_pass: admin
        dp_iface_name: enp7s0
        dp_iface_ip: null
        dp_iface_gateway: null
        container_type: null
        container_name: null
#      -
#        dp_iface_ip_qinq: 10.36.7.254
#        ip: null
#        user: null
#        pass: null
#        noroot_ip: bng.berlin-lab.lfbroadband.org
#        noroot_user: community
#        noroot_pass: admin
#        dp_iface_name: enp7s0
#        dp_iface_ip: null
#        dp_iface_gateway: null
#        container_type: null
#        container_name: null
#      -
#        dp_iface_ip_qinq: 10.37.7.254
#        ip: null
#        user: null
#        pass: null
#        noroot_ip: bng.berlin-lab.lfbroadband.org
#        noroot_user: community
#        noroot_pass: admin
#        dp_iface_name: enp7s0
#        dp_iface_ip: null
#        dp_iface_gateway: null
#        container_type: null
#        container_name: null
#      -
#        dp_iface_ip_qinq: 10.40.7.254
#        ip: null
#        user: null
#        pass: null
#        noroot_ip: bng.berlin-lab.lfbroadband.org
#        noroot_user: community
#        noroot_pass: admin
#        dp_iface_name: enp7s0
#        dp_iface_ip: null
#        dp_iface_gateway: null
#        container_type: null
#        container_name: null

  web_power_switch:
    ip: 'pdu03.berlin-lab.lfbroadband.org'
    user: 'admin'
    password: 'secret'
    type: 'EPC'
