---
# 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: '192.168.99.61/24'
external_gw: '192.168.99.1'
external_iface: 'eno1'
management_network: 10.6.0.0/24

deploy_docker_registry: "192.168.99.61:5000"

headnode: cord@192.168.99.61

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

# Node topology
physical_node_list:
  - name: head1
    aliases:
      - head

# Extra network config
fabric_include_names: 'ens3f0'
management_include_names: 'eno2'
management_ignore_names: 'ens3f0,ens3f1,ens6f0,ens6f1'

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