144 lines
3.7 KiB
YAML
144 lines
3.7 KiB
YAML
---
|
|
- name: install libvirt server packages
|
|
become: true
|
|
community.general.pacman:
|
|
name: "{{ libvirt_server_packages }}"
|
|
state: latest
|
|
update_cache: true
|
|
reason: explicit
|
|
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: define vm cluster network
|
|
libvirt_network_name: "{{ libvirt_cluster_network_name }}"
|
|
libvirt_network_domain: "{{ libvirt_cluster_network_name }}"
|
|
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: build
|
|
|
|
- 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: define zfs storage pool
|
|
libvirt_pool_type: zfs
|
|
libvirt_pool_name: "{{ libvirt_zfs_pool_name }}"
|
|
libvirt_pool_path: "{{ libvirt_zfs_pool_path }}"
|
|
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: 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
|
|
libvirt_pool_type: dir
|
|
libvirt_pool_name: "{{ libvirt_iso_pool_name }}"
|
|
libvirt_pool_path: "{{ libvirt_iso_pool_path }}"
|
|
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: 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
|
|
libvirt_pool_type: dir
|
|
libvirt_pool_name: "{{ libvirt_qcow_pool_name }}"
|
|
libvirt_pool_path: "{{ libvirt_qcow_pool_path }}"
|
|
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 |