---

  # 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: 'node-4.berlin-lab.lfbroadband.org'
      user: 'community'
      pass: 'admin'
    -
      ip: 'node-5.berlin-lab.lfbroadband.org'
      user: 'community'
      pass: 'admin'
    -
      ip: 'node-6.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: zyxel-olt.berlin-lab.lfbroadband.org
      sship: zyxel-olt.berlin-lab.lfbroadband.org
      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: node-5.berlin-lab.lfbroadband.org
        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: node-5.berlin-lab.lfbroadband.org
#        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: 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.43.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: 'pdu02.berlin-lab.lfbroadband.org'
    user: 'admin'
    password: 'secret'
    type: 'EPC'
