---
# 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 global
cord_scenario: single
cord_profile: ecord-global

# Variables
# shared between podconfigs, for root/intermediate CA setup
pki_dir: "{{ ( playbook_dir ~ '/../../../onf_ecord_pki' ) | realpath }}"

# different, as passwords/SSH keys/cord_profile should be different
credentials_dir: "{{ ( playbook_dir ~ '/../../../onf_ecord_global_credentials' ) | realpath }}"
ssh_pki_dir: "{{ ( playbook_dir ~ '/../../../onf_ecord_global_ssh_pki' ) | realpath }}"
config_cord_profile_dir: "{{ ( playbook_dir ~ '/../../../onf_ecord_global_profile' ) | realpath }}"

start_xos_prereqs:
  - deploy-onos

vagrant_vms: []

cord_config_prereqs:
  - config-ssh-key

copy_cord_prereqs:
  - config-ssh-key

prep_buildnode_prereqs:
  - copy-cord
  - copy-config

headnode: cord@10.90.1.10
buildnode: cord@10.90.1.10

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