---

  # 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-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:  radisys-olt.berlin-lab.lfbroadband.org
      sship:  radisys-olt.berlin-lab.lfbroadband.org
      user: root
      pass: onl
      fortygig: False
      aggPort: 1
      serial: 722033038194
      oltDebVersion: openolt_rlt-1600x-w-3.10.1-05bf9d424f4fae480cb0fe2c13ffbde5b6be27ee.deb
      board_technology: GPON

  hosts:
    src:
      -
        ip: node-3.berlin-lab.lfbroadband.org
        user: community
        pass: admin
        dp_iface_name: eth1.35
        container_type: LXC
        container_name: SCOM00001C82
        onu: SCOM00001c82
        olt: 722033038194
        c_tag: 801
        s_tag: 111
        power_switch_port: 4
        onu_type: 'scom'
        service_type: 'hsia'
        uni_id: 1
#      -
#        ip: 10.34.90.42
#        user: community
#        pass: admin
#        dp_iface_name: eth1.35
#        container_type: LXC
#        container_name: SCOM00001c89
#        onu: SCOM00001c89
#        olt: EC1912001823
#        c_tag: 802
#        s_tag: 222
#        power_switch_port: 2
#        onu_type: 'scom'
#        service_type: 'hsia'
#        uni_id: 1
      -
        ip: node-3.berlin-lab.lfbroadband.org
        user: community
        pass: admin
        dp_iface_name: eth1.65
        container_type: LXC
        container_name: SCOM00001C82
        onu: SCOM00001c82
        olt: 722033038194
        c_tag: 444
        s_tag: 333
        power_switch_port: 4
        onu_type: 'scom'
        service_type: 'voip'
        uni_id: 1
#      -
#        ip: 10.34.90.42
#        user: community
#        pass: admin
#        dp_iface_name: eth1.65
#        container_type: LXC
#        container_name: SCOM00001c89
#        onu: SCOM00001c89
#        olt: EC1912001823
#        c_tag: 444
#        s_tag: 333
#        power_switch_port: 2
#        onu_type: 'scom'
#        service_type: 'voip'
#        uni_id: 1
      -
        ip: node-3.berlin-lab.lfbroadband.org
        user: community
        pass: admin
        dp_iface_name: eth1.55
        container_type: LXC
        container_name: SCOM00001C82
        onu: SCOM00001c82
        olt: 722033038194
        c_tag: 55
        s_tag: 555
        power_switch_port: 4
        onu_type: 'scom'
        service_type: 'vod'
        uni_id: 1
#      -
#        ip: 10.34.90.42
#        user: community
#        pass: admin
#        dp_iface_name: eth1.55
#        container_type: LXC
#        container_name: SCOM00001c89
#        onu: SCOM00001c89
#        olt: EC1912001823
#        c_tag: 55
#        s_tag: 555
#        power_switch_port: 2
#        onu_type: 'scom'
#        service_type: 'vod'
#        uni_id: 1
      -
        ip: node-3.berlin-lab.lfbroadband.org
        user: community
        pass: admin
        dp_iface_name: eth1.55
        container_type: LXC
        container_name: SCOM00001C82
        onu: SCOM00001c82
        olt: 722033038194
        c_tag: 55
        s_tag: 550
        power_switch_port: 4
        onu_type: 'scom'
        mcast_rg: '10.11.6.3/24'
        mcast_grp_subnet_mask: '224.0.0.0/4'
        service_type: 'mcast'
        uni_id: 1
    dst:  
      -
        #HSI
        ip: null
        user: null
        pass: null
        dp_iface_name: enp7s0
        dp_iface_ip_qinq: '10.11.1.254'
        dp_iface_ip: null
        dp_iface_gateway: null
        container_type: null
        container_name: null
#      -
#        #HSI
#        ip: null
#        user: null
#        pass: null
#        dp_iface_name: ens1f0
#        dp_iface_ip_qinq: '10.11.2.254'
#        dp_iface_ip: null
#        dp_iface_gateway: null
#        container_type: null
#        container_name: null
      -
        #VOIP
        ip: null
        user: null
        pass: null
        noroot_ip: 'node-3.berlin-lab.lfbroadband.org'
        noroot_user: community
        noroot_pass: admin
        dp_iface_name: enp7s0
        dp_iface_ip_qinq: '10.11.4.254'
        dp_iface_ip: null
        dp_iface_gateway: null
        container_type: null
        container_name: null
#      -
#        #VOIP
#        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_qinq: '10.11.4.254'
#        dp_iface_ip: null
#        dp_iface_gateway: null
#        container_type: null
#        container_name: null
      -
        #VOD
        ip: null
        user: null
        pass: null
        noroot_ip: 'node-3.berlin-lab.lfbroadband.org'
        noroot_user: community
        noroot_pass: admin
        dp_iface_name: enp7s0
        dp_iface_ip_qinq: '10.11.5.254'
        dp_iface_ip: null
        dp_iface_gateway: null
        container_type: null
        container_name: null
#      -
#        #VOD
#        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_qinq: '10.11.5.254'
#        dp_iface_ip: null
#        dp_iface_gateway: null
#        container_type: null
#        container_name: null
      -
        #MCAST
        ip: null
        user: null
        pass: null
        bng_ip: 'node-3.berlin-lab.lfbroadband.org'
        bng_user: community
        bng_pass: admin
        dp_iface_name: null
        dp_iface_ip_qinq: '225.22.0.2'
        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'
