blob: 0f0ed05d3b7eb9be84a57f8d5e77b5ac9b40d338 [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 Bavierfc43e842016-07-14 13:01:45 +020016 when: not on_maas 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 Bavierfc43e842016-07-14 13:01:45 +020031 when: not on_maas
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 Bavierfc43e842016-07-14 13:01:45 +020036 when: not on_maas
Zack Williams351c6682016-04-12 10:32:38 -070037
Zack Williams81470de2016-04-11 12:44:38 -070038- name: start libvirt networks
Andy Bavierfc43e842016-07-14 13:01:45 +020039 when: not on_maas 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 Bavierfc43e842016-07-14 13:01:45 +020046 when: not on_maas 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
Andy Bavier9d7c09e2016-07-19 20:37:58 -040054 copy:
55 src={{ item }}
Zack Williams709f11b2016-03-17 14:29:51 -070056 dest=/etc/libvirt/hooks/{{ item }}
57 mode=0755 owner=root
58 with_items:
Zack Williams709f11b2016-03-17 14:29:51 -070059 - qemu
60 notify:
Zack Williams709f11b2016-03-17 14:29:51 -070061 - run qemu hook
62
Zack Williamsc3cde842016-05-20 12:02:33 -070063- name: Wait for uvt-kvm image to be available
64 async_status: jid={{ uvt_sync.ansible_job_id }}
65 register: uvt_sync_result
66 until: uvt_sync_result.finished
67 delay: 10
68 retries: 120