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:
63
roles/vmhost/tasks/main.yml
Normal file
63
roles/vmhost/tasks/main.yml
Normal 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 }}'
|
||||
Reference in New Issue
Block a user