---
# Play: set up head node
# Assumes basic /etc/ansible/hosts file
- hosts: head
  sudo: yes
  vars:
    # Each OpenCloud cluster needs a unique mgmt_net_prefix
    mgmt_net_prefix: 192.168.100
  tasks:

  - apt: name={{ item }} update_cache=yes
    with_items:
    - python-pycurl
    - software-properties-common

  - name: Add Juju repository
    apt_repository: repo="ppa:juju/stable"

  - name: Add Ansible repository
    apt_repository: repo="ppa:ansible/ansible"

  - name: Update Ansible cache
    apt: update_cache=yes

  - name: Install packages
    apt: name={{ item }} state=latest
    with_items:
    - ansible
    - uvtool
    - git
    - bzr
    - juju-core
    - python-novaclient
    - python-neutronclient
    - python-keystoneclient
    - python-glanceclient

  - name: Get juju-ansible git repo
    git: repo=https://github.com/cmars/juju-ansible.git
      dest=/usr/local/src/juju-ansible

  - name: Set up juju-ansible symlink
    file: dest=/usr/local/bin/juju-ansible
      src=/usr/local/src/juju-ansible/juju-ansible
      state=link

  - name: Set up juju-ansible-playbook symlink
    file: dest=/usr/local/bin/juju-ansible-playbook
      src=/usr/local/src/juju-ansible/juju-ansible
      state=link

  - name: Generate key to use in VMs
    user: name={{ ansible_env['SUDO_USER'] }} generate_ssh_key=yes

  - name: (CloudLab) Set up extra disk space
    shell: /usr/testbed/bin/mkextrafs /var/lib/uvtool/libvirt/images
      creates=/var/lib/uvtool/libvirt/images/lost+found

  - name: Add myself to libvirtd group
    user: name={{ ansible_env['SUDO_USER'] }}
      groups=libvirtd
      append=yes

  - name: Get trusty image for uvtool
    shell: uvt-simplestreams-libvirt sync --source http://cloud-images.ubuntu.com/daily release=trusty arch=amd64

  - name: Change the virbr0 subnet to {{ mgmt_net_prefix }}.0/24
    template: src=templates/etc/libvirt/qemu/networks/default.xml.j2
      dest=/etc/libvirt/qemu/networks/default.xml
    notify:
    - recreate default net

  handlers:
  - name: recreate default net
    shell: virsh net-destroy default; virsh net-create /etc/libvirt/qemu/networks/default.xml

# Play: create VMs to host OpenStack services
- hosts: head
  sudo: yes
  tasks:
  - name: Create VMs to host OpenCloud services
    sudo: no
    script: scripts/create-vms.sh

  - include: tasks/vm-ips.yml

  - name: Add VMs to /etc/hosts
    template: src=templates/etc/hosts.j2
      dest=/etc/hosts
    notify:
    - Reload dnsmasq

  - name: Set up /etc/ansible/hosts
    template: src=templates/etc/ansible/hosts.j2
      dest=/etc/ansible/hosts

  - name: Copy ansible.cfg to disable host key checking
    sudo: no
    copy: src=files/ansible.cfg
      dest={{ ansible_env['PWD'] }}/.ansible.cfg

  - name: Touch ~/.ssh/config
    sudo: no
    file: path={{ ansible_env['PWD'] }}/.ssh/config state=touch

  - name: Disable host key checking in SSH
    sudo: no
    lineinfile: dest={{ ansible_env['PWD'] }}/.ssh/config
      line="StrictHostKeyChecking no"

  - name: Test that we can log into every VM
    sudo: no
    shell: ansible services -m ping -u ubuntu

  handlers:
  - name: Reload dnsmasq
    shell: killall -HUP dnsmasq

# Play: Install services using Juju
- hosts: head
  vars:
    charm_src: /usr/local/src/charms/trusty
  tasks:
  - name: Initialize Juju
    sudo: no
    shell: juju generate-config
      creates={{ ansible_env['PWD'] }}/.juju/environments.yaml

  - shell: uvt-kvm ip juju
    register: juju_ip

  - name: Juju config file
    sudo: no
    template: src=templates/environments.yaml.j2
      dest={{ ansible_env['PWD'] }}/.juju/environments.yaml

  - name: Bootstrap Juju
    sudo: no
    shell: juju bootstrap
      creates={{ ansible_env['PWD'] }}/.juju/environments/manual.jenv

  - name: Copy openstack.cfg for Juju
    sudo: yes
    copy: src=files/openstack.cfg
      dest=/usr/local/src/openstack.cfg

  - name: Check for /usr/local/src/charms/trusty
    sudo: yes
    file: path={{ charm_src }}
       state=directory
       mode=0755

  - name: Deploy OpenStack services with Juju
    script: scripts/juju-setup.py

  - name: Add all Juju relations between services
    script: scripts/juju-relations.py

  - name: Wait for relations to be fully added
    script: scripts/wait-for-services.sh

# Play: Use libvirt hooks to set up iptables
- hosts: head
  sudo: yes
  tasks:
  - name: Enable port forwarding for services
    copy: src=files/{{ item }}
      dest={{ item }}
      mode=0755
    notify:
    - reload libvirt config
    - run qemu hook
    with_items:
    - /etc/libvirt/hooks/daemon
    - /etc/libvirt/hooks/qemu

  handlers:
  - name: reload libvirt config
    shell: killall -HUP libvirtd

  - name: run qemu hook
    shell: /etc/libvirt/hooks/qemu start start

# Play: Create credentials, set up some basic OpenStack
- hosts: head
  sudo: no
  tasks:

  - name: Get keystone admin password
    shell: juju run --unit=keystone/0 "sudo cat /var/lib/keystone/keystone.passwd"
    register: keystone_password

  - shell: uvt-kvm ip keystone
    register: keystone_ip

  - name: Create credentials
    template: src=templates/admin-openrc.sh.j2
     dest={{ ansible_env['PWD'] }}/admin-openrc.sh

  - name: (CloudLab) Make sure that /root/setup exists
    file: path=/root/setup state=directory
    sudo: yes

  - name: (CloudLab) Copy credentials to /root/setup
    shell: scp admin-openrc.sh /root/setup
    sudo: yes

  - name: Copy credentials to nova-cloud-controller
    shell: "scp admin-openrc.sh ubuntu@nova-cloud-controller:"

  - name: Copy network setup script
    sudo: yes
    copy: src=scripts/network-setup.sh
      dest=/usr/local/src/network-setup.sh
      mode=0644

  - name: Run network setup script
    shell: ansible nova-cloud-controller -m script -u ubuntu -a "/usr/local/src/network-setup.sh"

  - name: Get public key
    shell: cat {{ ansible_env['PWD'] }}/.ssh/id_rsa.pub
    register: sshkey

  - name: Copy CA certificate
    shell: sudo juju scp nova-cloud-controller/0:/usr/local/share/ca-certificates/keystone_juju_ca_cert.crt /usr/local/share/ca-certificates
      creates=/usr/local/share/ca-certificates/keystone_juju_ca_cert.crt

  - name: Update CA ca-certificates
    shell: update-ca-certificates
    sudo: yes

- hosts: compute
  sudo: yes
  vars:
    control_net: "{{ hostvars['head']['ansible_virbr0']['ipv4']['network'] }}/24"
    gateway: "{{ hostvars['head']['ansible_default_ipv4']['address'] }}"
  tasks:
  - name: Install package needed by Juju
    apt: name=python-yaml state=present

  - name: Add key
    authorized_key: user="{{ ansible_env['SUDO_USER'] }}"
      key="{{ hostvars['head']['sshkey']['stdout'] }}"

  - name: Add route via /etc/rc.local
    template: src=templates/etc/rc.local.cloudlab
      dest=/etc/rc.local
      mode=0755
    notify:
    - run /etc/rc.local

  - name: Touch ~/.ssh/config
    file: path=/var/lib/nova state=directory

  - name: (CloudLab) Set up extra disk space
    shell: /usr/testbed/bin/mkextrafs /var/lib/nova
      creates=/var/lib/nova/lost+found

  handlers:
  - name: run /etc/rc.local
    shell: /etc/rc.local
