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


---
# opencloud Scenario
# For a virtual install, physical does not use VMs

# opencloud profile config
frontend_only: False

# create a cord_profile dir next to the cord checkout
config_cord_dir: "{{ ( playbook_dir ~ '/../..' ) | realpath }}"
config_cord_profile_dir: "{{ ( playbook_dir ~ '/../../../cord_profile' ) | realpath }}"

build_cord_dir: /opt/cord

buildnode: head1
headnode: head1

# Make build config
build_targets:
 - onos-debug
 - onboard-openstack

vagrant_up_prereqs:
  - prereqs-check

# Copy cord and config to physical/virtual nodes
cord_config_prereqs:
  - copy-cord

copy_config_prereqs:
  - cord-config

prep_buildnode_prereqs:
  - copy-cord
  - copy-config

# Run build prep before head prep, when build == head
prep_headnode_prereqs:
  - prep-buildnode

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

# Start elasticstack before XOS/ONOS, which log to it
start_xos_prereqs:
  - deploy-elasticstack

deploy_onos_prereqs:
  - deploy-elasticstack

# node topology, used to bring up management interfaces
physical_node_list:
  - name: head1
    ipv4_last_octet: 1
    aliases:
      - head
  - name: compute1
    ipv4_last_octet: 250
  - name: compute2
    ipv4_last_octet: 251

# Vagrant VM configuration
vagrant_vms:
  - head1
  - compute1
  - compute2

head_vm_mem: 16384
head_vm_cpu: 8

compute_vm_mem: 16384
compute_vm_cpu: 8

vm_management_network_name: cordmgmt
vm_public_network_name: cordpub
vm_public_network_cidr: "10.230.100.0/24"

# images for imagebuilder to build/pull (tagged elsewhere)
docker_image_whitelist:
  - "xosproject/xos-base"
  - "xosproject/xos"
  - "xosproject/xos-client"
  - "xosproject/xos-corebuilder"
  - "xosproject/xos-gui"
  - "xosproject/xos-gui-extension-builder"
  - "xosproject/xos-libraries"
  - "xosproject/xos-postgres"
  - "xosproject/xos-tosca"
  - "xosproject/xos-ws"
  - "xosproject/chameleon"
  - "xosproject/gui-extension-rcord"
  - "xosproject/gui-extension-sample"
  - "xosproject/gui-extension-vtr"
  - "xosproject/xos-synchronizer-base"
  - "xosproject/exampleservice-synchronizer"
  - "xosproject/onos-synchronizer"
  - "xosproject/openstack-synchronizer"
  - "xosproject/vrouter-synchronizer"
  - "xosproject/vtn-synchronizer"
  - "gliderlabs/consul-server"
  - "gliderlabs/registrator"
  - "nginx"
  - "onosproject/onos"
  - "redis"
  - "node"



# Ansible Inventory
inventory_groups:

  config:
    localhost:
      ansible_connection: local

  build:
    head1:

  head:
    head1:

  compute:
    compute1:
    compute2:

