# 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 E-CORD local node deployment configuration for ONF local POD 1

---

pod_config:
  repo_url: 'https://gerrit.opencord.org/pod-configs'
  file_name: 'onlab-ecord-local-pod1.yml'

make_release: 'false'

maas:
  ip: '10.90.0.2'
  api_key: 'gFH8GA9FLp3bWpesZX:rVyJz3ThB93FrrNyPw:Fu9KZEwBenXRLUu9TMXVkMjLJsuXNXDb'
  head_system_id: '4y3h87'

dev_node:
  name: 'build'
  user: 'ubuntu'

head:
  ip: '10.90.1.30'
  user: 'cord'
  pass: 'cord'

compute_nodes:
  -
    ipmi:
      ip: '10.90.1.32'
      user: 'admin'
      pass: 'admin'
fabric_switches:
  -
    mac: 'cc:37:ab:7c:bd:64'
    ip: '10.6.0.101'
    user: 'root'
    pass: 'onl'
    breakout_ports:
        - 2
        - 10
