blob: f3dc91d0b470dd96d7389084e1eb7753946a01c7 [file] [log] [blame]
Zack Williams709f11b2016-03-17 14:29:51 -07001---
Zack Williamsc3cde842016-05-20 12:02:33 -07002# roles/config-virt/tasks/main.yml
Zack Williams709f11b2016-03-17 14:29:51 -07003
Zack Williamsd31bbc92016-05-20 11:43:18 -07004- name: Get ubuntu image for uvtool
5 command: uvt-simplestreams-libvirt sync --source http://cloud-images.ubuntu.com/daily \
6 release={{ ansible_distribution_release }} arch=amd64
7 async: 1200
8 poll: 0
9 register: uvt_sync
10
Zack Williams81470de2016-04-11 12:44:38 -070011- name: collect libvirt network facts
12 virt_net:
13 command=facts
14
15- name: Tear down libvirt's default network
Andy Bavier3a1d0642016-07-01 14:11:39 -040016 when: not cord_provisioned and ansible_libvirt_networks["default"] is defined
Zack Williams81470de2016-04-11 12:44:38 -070017 virt_net:
18 command={{ item }}
19 name=default
20 with_items:
21 - destroy
22 - undefine
23
24# note, this isn't idempotent, so may need manual fixing if it changes
25- name: define libvirt networks IP/DHCP/DNS settings
26 virt_net:
27 name=xos-{{ item.name }}
28 command=define
29 xml='{{ lookup("template", "virt_net.xml.j2") }}'
30 with_items: '{{ virt_nets }}'
Andy Bavier3a1d0642016-07-01 14:11:39 -040031 when: not cord_provisioned
Zack Williams81470de2016-04-11 12:44:38 -070032
Zack Williams351c6682016-04-12 10:32:38 -070033- name: collect libvirt network facts after defining new network
34 virt_net:
35 command=facts
Andy Bavier3a1d0642016-07-01 14:11:39 -040036 when: not cord_provisioned
Zack Williams351c6682016-04-12 10:32:38 -070037
Zack Williams81470de2016-04-11 12:44:38 -070038- name: start libvirt networks
Andy Bavier3a1d0642016-07-01 14:11:39 -040039 when: not cord_provisioned and ansible_libvirt_networks["xos-{{ item.name }}"].state != "active"
Zack Williams81470de2016-04-11 12:44:38 -070040 virt_net:
41 name=xos-{{ item.name }}
42 command=create
43 with_items: '{{ virt_nets }}'
44
45- name: have libvirt networks autostart
Andy Bavier3a1d0642016-07-01 14:11:39 -040046 when: not cord_provisioned and ansible_libvirt_networks["xos-{{ item.name }}"].autostart != "yes"
Zack Williams81470de2016-04-11 12:44:38 -070047 virt_net:
48 name=xos-{{ item.name }}
49 autostart=yes
50 with_items: '{{ virt_nets }}'
Zack Williams709f11b2016-03-17 14:29:51 -070051
52- name: Have libvirt enable port forwarding to VM's
53 become: yes
54 template:
55 src={{ item }}.j2
56 dest=/etc/libvirt/hooks/{{ item }}
57 mode=0755 owner=root
58 with_items:
59 - daemon
60 - qemu
61 notify:
62 - reload libvirt-bin
63 - run qemu hook
Andy Bavier3a1d0642016-07-01 14:11:39 -040064 when: not cord_provisioned
Zack Williams709f11b2016-03-17 14:29:51 -070065
Zack Williamsc3cde842016-05-20 12:02:33 -070066- name: Wait for uvt-kvm image to be available
67 async_status: jid={{ uvt_sync.ansible_job_id }}
68 register: uvt_sync_result
69 until: uvt_sync_result.finished
70 delay: 10
71 retries: 120