roles/vmhost: Configure libvirtd+QEMU

The *vmhost* role installs and configures the libvirt daemon to host
QEMU/KVM virtual machines.
This commit is contained in:
2018-07-23 17:24:14 -05:00
parent 82e8f7f9e7
commit abd05f8443
4 changed files with 555 additions and 0 deletions

View File

@@ -0,0 +1,63 @@
- name: ensure required packages are installed
package:
name={{ vmhost_required_packages|join(',') }}
state=present
tags:
- install
- name: ensure libvirtd is configured
template:
src=libvirtd.conf.j2
dest=/etc/libvirt/libvirtd.conf
mode=0644
- name: ensure libvirt can use nfs
seboolean:
name=virt_use_nfs
state=yes
persistent=yes
- name: ensure libvirt runtime configuration directories exists
file:
path=/var/lib/libvirt/config/{{ item }}
mode=0700
state=directory
with_items:
- qemu
- storage
- name: ensure libvirt runtime directory bind mounts are set
mount:
path: /etc/libvirt/{{ item }}
src: /var/lib/libvirt/config/{{ item }}
fstype: none
opts: bind
state: mounted
with_items:
- qemu
- storage
- name: ensure libvirtd starts at boot
service:
name=libvirtd
enabled=yes
- name: ensure libvirtd is running
service:
name=libvirtd
state=started
- name: ensure libvirt networks are defined
virt_net:
command: define
name: '{{ item.name }}'
xml: '{{ lookup("template", "net-" + item.type + ".xml.j2") }}'
with_items: '{{ libvirt_networks }}'
- name: ensure libvirt networks are active
virt_net:
name: '{{ item.name }}'
state: active
with_items: '{{ libvirt_networks }}'
- name: ensure libvirt networks start at boot
virt_net:
name: '{{ item.name }}'
autostart: true
with_items: '{{ libvirt_networks }}'