---

  # 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.40'
      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: EC1912001814
      oltDebVersion: openolt_asgvolt64-3.0.0-07ac2cb46d74b83b707fa654ee2e8d4d4de2372a.deb
      oltDebVersion23: openolt_asgvolt64-2.4.9-dev-d4aeca5a2094f7dc7c519913ab1558348c546dab.deb

  # 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.0.0-07ac2cb46d74b83b707fa654ee2e8d4d4de2372a.deb
      oltDebVersion23: openolt_asfvolt16-2.4.9-dev-d4aeca5a2094f7dc7c519913ab1558348c546dab.deb

  hosts:
    src:
      #GPON ONU
      -
        ip: 127.0.0.1
        user: community
        pass: admin
        dp_iface_name: eth1.7
        container_type: LXC
        container_name: voltha-client-gpon-1
        onu: SCOM00001c82
        olt: EC1912001814
        c_tag: 7
        s_tag: 31
        power_switch_port: 1
      -
        ip: 10.34.90.42
        user: community
        pass: admin
        dp_iface_name: eth1.7
        container_type: LXC
        container_name: voltha-client-gpon-2
        onu: SCOM00001c89
        olt: EC1912001814
        c_tag: 7
        s_tag: 32
        power_switch_port: 2
      -
        ip: 10.34.90.42
        user: community
        pass: admin
        dp_iface_name: eth1.7
        container_type: LXC
        container_name: voltha-client-gpon-3
        onu: SCOM00001c96
        olt: EC1912001814
        c_tag: 7
        s_tag: 33
        power_switch_port: 4
      -
        ip: 10.34.90.42
        user: community
        pass: admin
        dp_iface_name: eth1.7
        container_type: LXC
        container_name: voltha-client-gpon-4
        onu: SCOM00001c0b
        olt: EC1912001814
        c_tag: 7
        s_tag: 34
        power_switch_port: 7

        #XGSPON ONU
      -
        ip: 127.0.0.1
        user: community
        pass: admin
        dp_iface_name: eth1
        container_type: LXC
        container_name: voltha-client
        onu: ALPHe3d1cf5c
        olt: EC1729003539
        c_tag: 11
        s_tag: 11
        power_switch_port: 6
      -
        ip: 127.0.0.1
        user: community
        pass: admin
        dp_iface_name: eth1
        container_type: LXC
        container_name: voltha-client-dt
        onu: ALPHe3a69d03
        olt: EC1729003539
        c_tag: 7
        s_tag: 11
        power_switch_port: 8

    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.32.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.33.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.34.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.2.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'
