---

  # Copyright 2020-present Open Networking Foundation
  #
  # 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:
    -
      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.6.2-51d1824e8c049909fd516c7ce3c5f834b9649152-100G-NNI.deb
      board_technology: GPON

  # XGS-PON OLT
    -
      ip: 10.34.90.51
      sship: 10.34.90.51
      user: root
      pass: onl
      fortygig: False
      aggPort: 1
      serial: EC1729003539
      oltDebVersion: openolt_asfvolt16-3.6.2-602bf0a2b75e27e241cb73d7daf1e2c883539102-100G-NNI.deb
      board_technology: XGS-PON

  hosts:
    src:
      #GPON ONU
      -
        ip: 10.34.90.43
        user: community
        pass: admin
        dp_iface_name: eth1.7
        container_type: LXC
        container_name: SCOM00001c82
        onu: SCOM00001c82
        olt: EC1912001823
        c_tag: 7
        s_tag: 31
        power_switch_port: 1
        uni_id: 1

      #XGSPON ONU
      -
        ip: 10.34.90.43
        user: community
        pass: admin
        dp_iface_name: eth1.7
        container_type: LXC
        container_name: ALPHe3d1cf5c
        onu: ALPHe3d1cf5c
        olt: EC1729003539
        c_tag: 7
        s_tag: 12
        power_switch_port: 6
        uni_id: 1
      -
        ip: 10.34.90.43
        user: community
        pass: admin
        dp_iface_name: eth1.7
        container_type: LXC
        container_name: ALPHe3a69d03
        onu: ALPHe3a69d03
        olt: EC1729003539
        c_tag: 7
        s_tag: 11
        power_switch_port: 8
        uni_id: 1

    dst:
      -
        dp_iface_ip_qinq: 10.31.7.254
        ip: null
        user: null
        pass: null
        dp_iface_name: null
        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
        dp_iface_name: null
        dp_iface_ip: null
        dp_iface_gateway: null
        container_type: null
        container_name: null
      -
        dp_iface_ip_qinq: 10.11.7.254
        ip: null
        user: null
        pass: null
        dp_iface_name: null
        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'
