---

  # 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:
  # XGSPON 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-xgspon-20220520.deb
      board_technology: XGS-PON
 
  hosts:
    src:
      #xgspon ONU
      -
        ip: node-3.berlin-lab.lfbroadband.org
        user: community
        pass: admin
        dp_iface_name: eth1.7
        container_type: LXC
        container_name: ALPHE3A69D03
        onu: ALPHe3a69d03
        olt: S210Z14009247
        c_tag: 7
        s_tag: 11
        power_switch_port: 7
        uni_id: 1
      -
        ip: node-3.berlin-lab.lfbroadband.org
        user: community
        pass: admin
        dp_iface_name: eth1.7
        container_type: LXC
        container_name: ALPHE3D1CF5C
        onu: ALPHe3d1cf5c
        olt: S210Z14009247
        c_tag: 7
        s_tag: 12
        power_switch_port: 8
        uni_id: 1

    dst:
      -
        dp_iface_ip_qinq: 10.11.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.12.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: 'pdu01.berlin-lab.lfbroadband.org'
    user: 'admin'
    password: 'secret'
    type: 'EPC'
