--- - name: install libvirt packages apt: name: - libvirt-daemon-system - qemu-kvm - qemu-utils - qemu-block-extra - vhostmd - ceph-common - libguestfs-tools state: latest - name: add libvirt user to ceph group user: name: libvirt-qemu groups: ceph append: yes - name: install libvirt configuration template: src: libvirt/{{ item }}.j2 dest: /etc/libvirt/{{ item }} with_items: - libvirtd.conf - ceph-secret.xml notify: restart libvirtd - include: libvirt/bootstrap.yml when: bootstrap is defined and bootstrap run_once: yes - name: get ceph libvirt secret key command: ceph auth get-key client.libvirt register: libvirt_key - name: define ceph secret command: virsh secret-define /etc/libvirt/ceph-secret.xml ignore_errors: true - name: set ceph libvirt secret value command: virsh secret-set-value --secret {{ pvc_ceph_storage_secret_uuid }} --base64 {{ libvirt_key.stdout }} ignore_errors: true - name: configure libvirt for listening replace: dest: /etc/default/libvirtd regexp: '#libvirtd_opts=""' replace: 'libvirtd_opts="--listen"' notify: restart libvirtd - name: install systemd unit file (override default on Bullseye) template: src: libvirt/libvirtd.service.j2 dest: /etc/systemd/system/libvirtd.service register: systemd notify: restart libvirtd - name: reload systemd to apply changes command: systemctl daemon-reload when: systemd.changed - name: start and enable services (not managed by PVC) service: name: "{{ item }}" state: started enabled: yes with_items: - vhostmd - name: start but disable services (managed by PVC) service: name: "{{ item }}" state: started enabled: no with_items: - libvirtd - meta: flush_handlers