Zack Williams | 709f11b | 2016-03-17 14:29:51 -0700 | [diff] [blame] | 1 | --- |
Zack Williams | c3cde84 | 2016-05-20 12:02:33 -0700 | [diff] [blame] | 2 | # roles/config-virt/tasks/main.yml |
Zack Williams | 709f11b | 2016-03-17 14:29:51 -0700 | [diff] [blame] | 3 | |
Zack Williams | d31bbc9 | 2016-05-20 11:43:18 -0700 | [diff] [blame] | 4 | - 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 Williams | 81470de | 2016-04-11 12:44:38 -0700 | [diff] [blame] | 11 | - name: collect libvirt network facts |
| 12 | virt_net: |
| 13 | command=facts |
| 14 | |
| 15 | - name: Tear down libvirt's default network |
Andy Bavier | 0481a8a | 2016-07-14 13:01:45 +0200 | [diff] [blame] | 16 | when: not on_maas and ansible_libvirt_networks["default"] is defined |
Zack Williams | 81470de | 2016-04-11 12:44:38 -0700 | [diff] [blame] | 17 | 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 |
Zack Williams | 6f5a6e7 | 2016-08-10 17:45:27 -0700 | [diff] [blame] | 26 | when: not on_maas |
Zack Williams | 81470de | 2016-04-11 12:44:38 -0700 | [diff] [blame] | 27 | virt_net: |
| 28 | name=xos-{{ item.name }} |
| 29 | command=define |
| 30 | xml='{{ lookup("template", "virt_net.xml.j2") }}' |
| 31 | with_items: '{{ virt_nets }}' |
| 32 | |
Zack Williams | 351c668 | 2016-04-12 10:32:38 -0700 | [diff] [blame] | 33 | - name: collect libvirt network facts after defining new network |
Zack Williams | 6f5a6e7 | 2016-08-10 17:45:27 -0700 | [diff] [blame] | 34 | when: not on_maas |
Zack Williams | 351c668 | 2016-04-12 10:32:38 -0700 | [diff] [blame] | 35 | virt_net: |
| 36 | command=facts |
| 37 | |
Zack Williams | 81470de | 2016-04-11 12:44:38 -0700 | [diff] [blame] | 38 | - name: start libvirt networks |
Andy Bavier | 0481a8a | 2016-07-14 13:01:45 +0200 | [diff] [blame] | 39 | when: not on_maas and ansible_libvirt_networks["xos-{{ item.name }}"].state != "active" |
Zack Williams | 81470de | 2016-04-11 12:44:38 -0700 | [diff] [blame] | 40 | virt_net: |
| 41 | name=xos-{{ item.name }} |
| 42 | command=create |
| 43 | with_items: '{{ virt_nets }}' |
| 44 | |
| 45 | - name: have libvirt networks autostart |
Andy Bavier | 0481a8a | 2016-07-14 13:01:45 +0200 | [diff] [blame] | 46 | when: not on_maas and ansible_libvirt_networks["xos-{{ item.name }}"].autostart != "yes" |
Zack Williams | 81470de | 2016-04-11 12:44:38 -0700 | [diff] [blame] | 47 | virt_net: |
| 48 | name=xos-{{ item.name }} |
| 49 | autostart=yes |
| 50 | with_items: '{{ virt_nets }}' |
Zack Williams | 709f11b | 2016-03-17 14:29:51 -0700 | [diff] [blame] | 51 | |
Zack Williams | c3cde84 | 2016-05-20 12:02:33 -0700 | [diff] [blame] | 52 | - name: Wait for uvt-kvm image to be available |
| 53 | async_status: jid={{ uvt_sync.ansible_job_id }} |
| 54 | register: uvt_sync_result |
| 55 | until: uvt_sync_result.finished |
| 56 | delay: 10 |
| 57 | retries: 120 |