# 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.128.100.70'
    user: 'cord'
    pass: 'cord'
  -
    ip: '10.128.100.71'
    user: 'cord'
    pass: 'cord'
  -
    ip: '10.128.100.72'
    user: 'cord'
    pass: 'cord'

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

olts:
  -
    name: 'edgecore'
    ip: '10.111.0.3'
    sship: '10.128.99.90'
    user: 'root'
    pass: 'onl'
    fortygig: 'true'
    aggPort: '1'
    serial: 'EC1904000654'
    oltDebVersion: openolt_asfvolt16-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-40G-NNI.deb
    oltDebVersion23: openolt_asfvolt16-2.4.9-dev-d4aeca5a2094f7dc7c519913ab1558348c546dab.deb

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

hosts:
  src:
    -
      ip: '10.128.100.72'
      user: 'cord'
      pass: 'cord'
      dp_iface_name: 'ens255f0'
      container_type: null
      container_name: null
      onu: 'ISKT71e80080'
      olt: 'EC1904000654'
      c_tag: '11'
      s_tag: '99'
      power_switch_port: 6
      onu_type: 'iskratel'
    -
      ip: '10.128.100.71'
      user: 'cord'
      pass: 'cord'
      dp_iface_name: 'ens255f0'
      container_type: null
      container_name: null
      onu: 'ALPHe3d1cf9d'
      olt: 'EC1904000654'
      c_tag: '22'
      s_tag: '99'
      power_switch_port: 1
      onu_type: 'alpha'
  dst:
    -
      ip: null
      user: null
      pass: null
      noroot_ip: '10.128.100.70'
      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.128.100.70'
      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.128.100.75'
  user: 'cord'
  password: 'cord'
  type: 'DLI'
