---
# Installs the single node cord-pod XOS configuration, using Juju to provision
# the OpenStack installation inside of VM's on the head node.
#
# This is used by `scripts/single-node-pod.sh` for E2E testing.

- name: Include vars
  hosts: all
  tasks:
    - name: Include variables
      include_vars: "{{ item }}"
      with_items:
        - vars/cord_defaults.yml
        - vars/cord.yml
        - vars/example_keystone.yml

- name: DNS Server and apt-cacher-ng Setup
  hosts: head
  become: yes
  roles:
    - { role: dns-nsd, when: not on_maas }
    - { role: dns-unbound, when: not on_maas }
    - apt-cacher-ng

- name: Configure all hosts to use DNS server
  hosts: all
  become: yes
  roles:
    - { role: dns-configure, when: not on_maas }

- name: Prep systems
  hosts: all
  become: yes
  roles:
    - common-prep
    - { role: cloudlab-prep, when: on_cloudlab }

- name: Configure head node, create VM's
  hosts: head
  roles:
    - { role: head-prep, become: yes }
    - { role: config-virt, become: yes }
    - create-vms

- name: Create docker images
  hosts: head
  roles:
    - xos-build

- name: Set up VMs and juju
  hosts: head
  roles:
    - xos-install
    - onos-vm-install
    - juju-setup

- name: Start ONOS and XOS
  hosts: head
  roles:
    - docker-compose
    - xos-head-start

- name: Set up Automated Compute Node Provisioning
  hosts: head
  roles:
    - { role: automation-integration, when: on_maas }

- name: Prologue
  hosts: head
  roles:
    - head-prologue
