| --- |
| # roles/config-virt/tasks/main.yml |
| |
| - name: collect libvirt network facts |
| virt_net: |
| command=facts |
| |
| - name: Tear down libvirt's default network |
| when: ansible_libvirt_networks["default"] is defined |
| virt_net: |
| command={{ item }} |
| name=default |
| with_items: |
| - destroy |
| - undefine |
| |
| # note, this isn't idempotent, so may need manual fixing if it changes |
| - name: define libvirt networks IP/DHCP/DNS settings |
| virt_net: |
| name=xos-{{ item.name }} |
| command=define |
| xml='{{ lookup("template", "virt_net.xml.j2") }}' |
| with_items: '{{ virt_nets }}' |
| |
| - name: start libvirt networks |
| when: ansible_libvirt_networks["xos-{{ item.name }}"].state != "active" |
| virt_net: |
| name=xos-{{ item.name }} |
| command=create |
| with_items: '{{ virt_nets }}' |
| |
| - name: have libvirt networks autostart |
| when: ansible_libvirt_networks["xos-{{ item.name }}"].autostart != "yes" |
| virt_net: |
| name=xos-{{ item.name }} |
| autostart=yes |
| with_items: '{{ virt_nets }}' |
| |
| - name: Have libvirt enable port forwarding to VM's |
| become: yes |
| template: |
| src={{ item }}.j2 |
| dest=/etc/libvirt/hooks/{{ item }} |
| mode=0755 owner=root |
| with_items: |
| - daemon |
| - qemu |
| notify: |
| - reload libvirt-bin |
| - run qemu hook |
| |
| |