---

  # 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.43'
      user: 'community'
      pass: 'admin'
    -
      ip: '10.34.90.41'
      user: 'community'
      pass: 'admin'
    -
      ip: '10.34.90.42'
      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.50
      sship:  10.34.90.50
      user: root
      pass: onl
      fortygig: False
      aggPort: 2
      serial: EC1912001823
      oltDebVersion: openolt_asgvolt64-3.7.4-3b190f027136e845c5850a5b1a97897ce2b74ebf-100G-NNI.deb
      board_technology: GPON

  hosts:
    src:
      -
        ip: 10.34.90.43
        user: community
        pass: admin
        dp_iface_name: eth1.35
        container_type: LXC
        container_name: SCOM00001c82
        onu: SCOM00001c82
        olt: EC1912001823
        c_tag: 801
        s_tag: 111
        power_switch_port: 1
        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: 10.34.90.43
        user: community
        pass: admin
        dp_iface_name: eth1.65
        container_type: LXC
        container_name: SCOM00001c82
        onu: SCOM00001c82
        olt: EC1912001823
        c_tag: 444
        s_tag: 333
        power_switch_port: 1
        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: 10.34.90.43
        user: community
        pass: admin
        dp_iface_name: eth1.55
        container_type: LXC
        container_name: SCOM00001c82
        onu: SCOM00001c82
        olt: EC1912001823
        c_tag: 55
        s_tag: 555
        power_switch_port: 1
        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: '10.34.90.43'
        user: 'community'
        pass: 'admin'
        dp_iface_name: 'eth1.55'
        container_type: LXC
        container_name: SCOM00001c82
        onu: 'SCOM00001c82'
        olt: 'EC1912001823'
        c_tag: '55'
        s_tag: '550'
        power_switch_port: 1
        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: ens1f0
        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: '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
#      -
#        #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: '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
#      -
#        #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: '10.34.90.43'
        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: '10.34.90.48'
    user: 'admin'
    password: 'secret'
    type: 'EPC'
