---
# 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.

# POD config for ONF E-CORD POD, E-CORD local POD 2
cord_scenario: cord
cord_profile: ecord

# Variables
config_cord_profile_dir: "{{ ( playbook_dir ~ '/../../../onf_ecord_local_pod2_profile' ) | realpath }}"

# path created on local system, mounted into corddev by Vagrant
host_cord_profile_dir: "/var/jenkins_home/workspace/onf_ecord_local_pod2_profile"

fabric_ip: '10.6.1.1/24'
management_ip: '10.6.0.1/24'
external_ip: '10.90.1.50/16'
external_gw: '10.90.0.1'
external_iface: 'eth0'
management_network: 10.6.0.0/24

deploy_docker_registry: "10.90.1.50:5000"

vagrant_vms:
  - 'corddev'

build_targets:
  - 'setup-automation'

copy_cord_prereqs:
  - 'config-ssh-key'

skipTags:
  - 'set_compute_node_password'

# Wait until headnode prepped before building containers, for consistent DNS
docker_images_prereqs:
  - 'prep-headnode'

# headnode to ssh to for some make tasks
headnode: cord@10.90.1.50

# Inventory for ansible, used to generate inventory.ini
inventory_groups:
  config:
    localhost:
      ansible_connection: local
  build:
    corddev:
  head:
    head1:
      ansible_host: 10.90.1.50
      ansible_port: 22
      ansible_user: cord
      ansible_ssh_pass: cord
  compute:

#Prefix for the domainId
carrierethernet_domainid_prefix: 10.90.1.50
