---

# 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'
  -
    ip: '10.34.90.43'
    user: 'community'
    pass: 'admin'

fabric_switches: []
#  -
#    mac: '??'
#    ip: 10.34.90.55
#    user: root
#    pass: onl
#    bngPort: 32
#    #XGSPON
#    oltPort: 1
#    #GPON
#    #oltPort: 2
#    device_id: 'of:0000000000000001'

olts:
# XGS-PON OLT
  -
    ip: 10.34.90.51
    user: root
    pass: onl
    fortygig: True
    serial: '??' # mandatory --> connect it to voltha and check it 
# Gpon OLT
  # -
  #   ip:  10.34.90.50
  #   user: root
  #   pass: onl
  #   fortygig: True
  #   serial: ??

hosts:
  src:
    #XGSPON ONU
    -
      ip: 10.34.90.43
      user: community
      pass: admin
      dp_iface_name: eno3
      container_type: lxc
      container_name: ALPHe3a69d03
      onu: ALPHe3d1cf5c
      c_tag: 11
      s_tag: 11
      uni_id: 1
    #GPON ONU
    # -
    #   ip: 127.0.0.1
    #   user: cord
    #   pass: cord
    #   dp_iface_name: eno2
    #   container_type: null
    #   container_name: null
    #   onu: SCOM00001c82
    #   c_tag: 12
    #   s_tag: 11

  dst:
    -
      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.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
