Merge pull request 'Auto-configure swap' (#664) from feature/swap into master
Reviewed-on: #664 Reviewed-by: Greg <greg@kosmos.org>
This commit was merged in pull request #664.
This commit is contained in:
@@ -11,3 +11,10 @@ node.default["kosmos_kvm"]["host"]["qemu_base_image"] = {
|
|||||||
node.default["kosmos_kvm"]["backup"]["schedule"] = "0/3:00"
|
node.default["kosmos_kvm"]["backup"]["schedule"] = "0/3:00"
|
||||||
# Node/VM names excluded from backups
|
# Node/VM names excluded from backups
|
||||||
node.default["kosmos_kvm"]["backup"]["nodes_excluded"] = []
|
node.default["kosmos_kvm"]["backup"]["nodes_excluded"] = []
|
||||||
|
|
||||||
|
node.default["kosmos_kvm"]["guest"]["swap"] = {
|
||||||
|
"enabled" => true, # set to false to disable swap on a guest
|
||||||
|
"size_mb" => nil, # nil => auto (half of RAM); integer => fixed MB; 0 => disabled
|
||||||
|
"path" => "/swapfile",
|
||||||
|
"swappiness" => nil # nil => leave kernel default; e.g. 10 to tune
|
||||||
|
}
|
||||||
|
|||||||
@@ -8,3 +8,20 @@ package %w(qemu-guest-agent)
|
|||||||
service "qemu-guest-agent" do
|
service "qemu-guest-agent" do
|
||||||
action [:enable, :start]
|
action [:enable, :start]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
swap_cfg = node["kosmos_kvm"]["guest"]["swap"]
|
||||||
|
|
||||||
|
if swap_cfg["enabled"] && swap_cfg["size_mb"] != 0
|
||||||
|
size = swap_cfg["size_mb"] ||
|
||||||
|
(node["memory"]["total"].to_i / 2 / 1024) # kB -> MB, half RAM
|
||||||
|
|
||||||
|
# The resource only creates/activates the swapfile if it is not already
|
||||||
|
# active; an existing active swapfile is left untouched (size is NOT
|
||||||
|
# reconciled to current RAM).
|
||||||
|
swap_file swap_cfg["path"] do
|
||||||
|
size size
|
||||||
|
persist true
|
||||||
|
swappiness swap_cfg["swappiness"] if swap_cfg["swappiness"]
|
||||||
|
action :create
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user