This commit adds a systemd unit to enable the Kernel Same-page Merging daemon on VM hosts. This allows much greater virtual machine density, especially when many VMs are running the same guest OS.
87 lines
1.9 KiB
YAML
87 lines
1.9 KiB
YAML
- 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 }}'
|
|
|
|
- name: ensure libvirtd migration port is allowed in the firewall
|
|
firewalld:
|
|
port=49152/tcp
|
|
permanent=no
|
|
immediate=yes
|
|
state=enabled
|
|
notify: save firewalld configuration
|
|
|
|
- name: ensure systemd ksm unit is installed
|
|
copy:
|
|
src=ksm.service
|
|
dest=/etc/systemd/system/ksm.service
|
|
mode=0644
|
|
notify: reload systemd
|
|
- name: ensure systemd ksm unit starts at boot
|
|
service:
|
|
name=ksm
|
|
enabled=yes
|
|
- name: ensure systemd ksm unit is running
|
|
service:
|
|
name=ksm
|
|
state=started
|