# 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 menlo-soak-pod

---

kube_config: '/home/cord/.kube/config'

nodes:
  -
    ip: '10.128.90.90'
    user: 'cord'
    pass: 'cord'

fabric_switches:
  -
    ip: '192.168.100.44'
    user: 'root'
    pass: 'onl'
    bngPort: '31'
    device_id: 'of:000000000000da7a'

olts:
  -
    name: 'edgecore'
    ip: '192.168.100.112'
    sship: '192.168.100.112'
    user: 'root'
    pass: 'onl'
    fortygig: 'true'
    aggPort: '1'
    serial: 'EC1721000208'
    oltDebVersion: openolt_asfvolt16-3.3.2-f7feb4b828467ccc99104b56b29dc7a19aa2008b-40G-NNI.deb
    oltDebVersion23: openolt_asfvolt16-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-40G-NNI.deb

onus:
  -
    serial: 'ALPHe3d1cf8e'
  -
    serial: 'ALPHe3d1cfe3'

hosts:
  src:
    -
      ip: '10.128.90.90'
      user: 'cord'
      pass: 'cord'
      # dp_iface_name: 'ens6f0'
      dp_iface_name: 'eth1'
      container_type: 'LXC'
      container_name: 'ALPHe3d1cf8e'
      onu: 'ALPHe3d1cf8e'
      olt: 'EC1721000208'
      c_tag: '11'
      s_tag: '222'
    -
      ip: '10.128.90.90'
      user: 'cord'
      pass: 'cord'
      # dp_iface_name: 'ens6f1'
      dp_iface_name: 'eth1'
      container_type: 'LXC'
      container_name: 'ALPHe3d1cfe3'
      onu: 'ALPHe3d1cfe3'
      olt: 'EC1721000208'
      c_tag: '12'
      s_tag: '111'
  dst:
    -
      ip: null
      user: null
      pass: null
      dp_iface_name: null
      dp_iface_ip_qinq: '10.11.1.254'
      dp_iface_ip: null
      dp_iface_gateway: null
      container_type: null
      container_name: null
    -
      ip: null
      user: null
      pass: null
      dp_iface_name: null
      dp_iface_ip_qinq: '10.11.2.254'
      dp_iface_ip: null
      dp_iface_gateway: null
      container_type: null
      container_name: null
