Puppet Class: libvirt::ksm
- Defined in:
- manifests/ksm.pp
Overview
A class to configure Kernel Shared Memory components.
This isn’t strictly tied to “libvirt“, but it’s included in the qemu-kvm package so it made sense to include it here.
Since there are no useful man pages at this time, the comments were lifted from the configuration files.
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'manifests/ksm.pp', line 67
class libvirt::ksm (
Array[String] $package_list,
String $package_ensure = simplib::lookup('simp_options::package_ensure', { 'default_value' => 'installed' }),
Boolean $enable = true,
Optional[Integer] $ksm_max_kernel_pages = undef,
Integer $ksm_monitor_interval = 60,
Integer $ksm_sleep_msec = 100,
Integer $ksm_npages_boost = 3000,
Integer[default,0] $ksm_npages_decay = -50,
Variant[Enum['shmall'],Integer] $ksm_npages_min = 'shmall',
Variant[Enum['shmall'],Integer] $ksm_npages_max = 'shmall',
Integer $ksm_thres_coef = 10,
Optional[Integer] $ksm_thres_const = undef
) {
ensure_packages( $package_list, { 'ensure' => $package_ensure, } )
$package_list.each |String $pkg| { Package[$pkg] ~> [ Service['ksmtuned'], Service['ksm'] ] }
file { '/etc/ksmtuned.conf':
owner => 'root',
group => 'root',
mode => '0644',
content => template('libvirt/ksmtuned.erb'),
notify => Service['ksmtuned']
}
$_ensure = $enable ? { true => 'running', false => undef }
service { 'ksmtuned':
ensure => $_ensure,
enable => $enable
}
file { '/etc/sysconfig/ksm':
owner => 'root',
group => 'root',
mode => '0644',
content => template('libvirt/ksm.erb'),
notify => Service['ksm']
}
service { 'ksm':
enable => $enable
}
}
|