--- - name: install libvirt server packages become: true community.general.pacman: name: "{{ libvirt_server_packages }}" state: latest update_cache: true when: - ansible_os_family == 'Arch' - name: add user to libvirt group become: true ansible.builtin.user: name: "{{ ansible_user }}" groups: libvirt append: true - name: start and enable libvirt service become: true ansible.builtin.service: name: libvirtd.service state: started enabled: yes - name: set cluster network variables set_fact: libvirt_network_name: "{{ libvirt_cluster_network_name }}" libvirt_network_domain: "{{ libvirt_cluster_network_name }}" - name: define vm cluster network community.libvirt.virt_net: name: "{{ libvirt_cluster_network_name }}" command: define xml: '{{ lookup("template", "network.xml.j2") }}' - name: build vm cluster network community.libvirt.virt_net: name: "{{ libvirt_cluster_network_name }}" command: create - name: start vm cluster network community.libvirt.virt_net: name: "{{ libvirt_cluster_network_name }}" state: active autostart: true - name: remove default libvirt network community.libvirt.virt_net: name: default state: absent - name: create libvirt zfs dataset community.general.zfs: name: "{{ libvirt_zfs_pool_path }}" state: present extra_zfs_properties: canmount: off mountpoint: none compression: off primarycache: metadata secondarycache: none reservation: none refreservation: none dedup: off encryption: off volmode: dev devices: off atime: off - name: set zfs pool variables set_fact: libvirt_pool_type: zfs libvirt_pool_name: "{{ libvirt_zfs_pool_name }}" libvirt_pool_source: "{{ libvirt_zfs_pool_path }}" libvirt_pool_target: "" - name: define zfs storage pool community.libvirt.virt_pool: name: "{{ libvirt_zfs_pool_name }}" command: define xml: '{{ lookup("template", "pool.xml.j2") }}' # - name: build zfs storage pool # community.libvirt.virt_pool: # name: "{{ libvirt_zfs_pool_name }}" # command: build - name: start zfs storage pool community.libvirt.virt_pool: name: "{{ libvirt_zfs_pool_name }}" state: active autostart: true - name: set iso pool variables set_fact: libvirt_pool_type: dir libvirt_pool_name: "{{ libvirt_iso_pool_name }}" libvirt_pool_source: "" libvirt_pool_target: "{{ libvirt_iso_pool_path }}" - name: create iso storage dir become: true ansible.builtin.file: path: "{{ libvirt_iso_pool_path }}" state: directory owner: root group: libvirt mode: 0775 - name: define iso storage pool community.libvirt.virt_pool: name: "{{ libvirt_iso_pool_name }}" command: define xml: '{{ lookup("template", "pool.xml.j2") }}' - name: build iso storage pool community.libvirt.virt_pool: name: "{{ libvirt_iso_pool_name }}" command: build - name: start iso storage pool community.libvirt.virt_pool: name: "{{ libvirt_iso_pool_name }}" state: active autostart: true - name: set iso pool variables set_fact: libvirt_pool_type: dir libvirt_pool_name: "{{ libvirt_qcow_pool_name }}" libvirt_pool_source: "" libvirt_pool_target: "{{ libvirt_qcow_pool_path }}" - name: create qcow storage dir become: true ansible.builtin.file: path: "{{ libvirt_qcow_pool_path }}" state: directory owner: root group: libvirt mode: 0775 - name: define qcow storage pool community.libvirt.virt_pool: name: "{{ libvirt_qcow_pool_name }}" command: define xml: '{{ lookup("template", "pool.xml.j2") }}' - name: build qcow storage pool community.libvirt.virt_pool: name: "{{ libvirt_qcow_pool_name }}" command: build - name: start qcow storage pool community.libvirt.virt_pool: name: "{{ libvirt_qcow_pool_name }}" state: active autostart: true