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

cord_scenario: cord
cord_profile: rcord

vagrant_vms:
  - 'corddev'

# Variables
credentials_dir: '/opt/credentials'
pki_dir: '/opt/pki'
ssh_pki_dir: '/opt/ssh_pki'

fabric_ip: '10.6.1.1/24'
management_ip: '10.6.0.1/24'
external_ip: '10.201.101.21/24'
external_gw: '10.201.101.1'
external_iface: 'eth0'
management_network: 10.6.0.0/24

deploy_docker_registry: "10.201.101.21:5000"

headnode: cord@10.201.101.21

# NOTE: The `host_cord_profile_dir` variable below is the path to the cord_profile dir that
# gets mounted to corddev VM.This `cord_profile` dir typically lives in a directory
# one level up from the `cord` directory
host_cord_profile_dir: "/var/jenkins_home/workspace/cord_profile"

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'

# set which interfaces to use for fabric/mgmt network
fabric_include_names: 'eth2'
management_exclude_names: 'eth0,eth2'

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

