--- - name: Format and mount the libvirt disk if it is not root when: - hypervisor.device not in (ansible_mounts | json_query('[?mount == `/`].device')) - hypervisor.device not in (ansible_mounts | json_query('[?mount == `/var/lib/libvirt`].device')) ansible.builtin.include_tasks: file: libvirt_mount.yaml - name: Create the libvirt storage directories ansible.builtin.file: path: "{{ item }}" state: directory owner: libvirt-qemu group: libvirt-qemu mode: '0775' loop: - /var/lib/libvirt/vhds/ - /var/lib/libvirt/isos/ - /var/lib/libvirt/nvram/ - name: Remove the default libvirt storage pool community.libvirt.virt_pool: name: default state: deleted - name: Get libvirt storage pool facts community.libvirt.virt_pool: command: facts - name: Define the libvirt storage pools community.libvirt.virt_pool: name: "{{ item.name }}" command: define xml: "{{ lookup('template', 'dir_pool.xml.j2') }}" loop: - name: vhds path: /var/lib/libvirt/vhds/ - name: isos path: /var/lib/libvirt/isos/ - name: nvram path: /var/lib/libvirt/nvram/ - name: Create the libvirt storage pools community.libvirt.virt_pool: name: "{{ item }}" command: build loop: - vhds - isos - nvram - name: Start the libvirt storage pools community.libvirt.virt_pool: name: "{{ item }}" state: active autostart: true loop: - vhds - isos - nvram