# Copyright 2017-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 BBWF POD

---

kube_config: '/var/k8.conf'

nodes:
  -
    ip: '10.35.90.46'
    user: 'cord'
    pass: 'cord'
  -
    ip: '10.35.90.47'
    user: 'cord'
    pass: 'cord'
  -
    ip: '10.35.90.48'
    user: 'cord'
    pass: 'cord'

fabric_switches:
  -
    mac: 'cc:37:ab:61:80:ca'
    ip: '10.35.90.44'
    user: 'root'
    pass: 'onl'
    bngPort: '31'
    device_id: 'of:0000000000000001'

olts:
  -
    name: 'edgecore'
    ip: '10.35.90.45'
    sship: '10.35.90.45'
    user: 'root'
    pass: 'onl'
    fortygig: 'true'
    aggPort: '1'
    serial: 'EC1721000216'
    oltDebVersion: openolt_asfvolt16-3.7.4-3b190f027136e845c5850a5b1a97897ce2b74ebf-40G-NNI.deb
    board_technology: XGS-PON
    power_switch_port: 2

onus:
#  -
#    serial: 'ISKT71e80080'
  -
    serial: 'ALPHe3d1cf9d'

hosts:
  src:
#    -
#      ip: '10.35.90.48'
#      user: 'cord'
#      pass: 'cord'
#      dp_iface_name: 'eth1'
#      container_type: LXC
#      container_name: ISKT71e80080
#      onu: 'ISKT71e80080'
#      olt: 'EC1721000216'
#      c_tag: '11'
#      s_tag: '99'
#      power_switch_port: 6
#      onu_type: 'iskratel'
#      uni_id: '1'
    -
      ip: '10.35.90.47'
      user: 'cord'
      pass: 'cord'
      dp_iface_name: 'eth1'
      container_type: LXC
      container_name: ALPHe3d1cf9d
      onu: 'ALPHe3d1cf9d'
      olt: 'EC1721000216'
      c_tag: '22'
      s_tag: '99'
      power_switch_port: 1
      onu_type: 'alpha'
      uni_id: '1'
  dst:
#    -
#      ip: null
#      user: null
#      pass: null
#      noroot_ip: '10.35.90.46'
#      noroot_user: cord
#      noroot_pass: cord
#      dp_iface_name: ens6f0
#      dp_iface_ip_qinq: '10.99.11.254'
#      dp_iface_ip: null
#      dp_iface_gateway: null
#      container_type: null
#      container_name: null
    -
      ip: null
      user: null
      pass: null
      noroot_ip: '10.35.90.46'
      noroot_user: cord
      noroot_pass: cord
      dp_iface_name: ens6f0
      dp_iface_ip_qinq: '10.99.22.254'
      dp_iface_ip: null
      dp_iface_gateway: null
      container_type: null
      container_name: null

web_power_switch:
  ip: '10.35.90.49'
  user: 'cord'
  password: 'cord'
  type: 'DLI'
