Merge pull request 'Exclude specified VMs from image backups' (#509) from feature/kvm_backup_exceptions into master
Reviewed-on: #509
This commit is contained in:
commit
507a812f33
@ -34,6 +34,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"kosmos_kvm": {
|
||||||
|
"backup": {
|
||||||
|
"nodes_excluded": [
|
||||||
|
"garage-2", "garage-3", "garage-4",
|
||||||
|
"postgres-5",
|
||||||
|
"rsk-mainnet-2", "rsk-testnet-3"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
"kosmos-mastodon": {
|
"kosmos-mastodon": {
|
||||||
"domain": "kosmos.social",
|
"domain": "kosmos.social",
|
||||||
"s3_endpoint": "http://localhost:3900",
|
"s3_endpoint": "http://localhost:3900",
|
||||||
|
@ -83,10 +83,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"run_list": [
|
"run_list": [
|
||||||
"recipe[kosmos-base]",
|
"role[base]",
|
||||||
|
"role[kvm_host]",
|
||||||
"recipe[kosmos_encfs]",
|
"recipe[kosmos_encfs]",
|
||||||
"recipe[kosmos_kvm::host]",
|
|
||||||
"recipe[kosmos_kvm::backup]",
|
|
||||||
"recipe[kosmos-ejabberd::firewall]",
|
"recipe[kosmos-ejabberd::firewall]",
|
||||||
"recipe[kosmos-ipfs::firewall_swarm]",
|
"recipe[kosmos-ipfs::firewall_swarm]",
|
||||||
"recipe[kosmos-bitcoin::firewall]",
|
"recipe[kosmos-bitcoin::firewall]",
|
||||||
@ -94,4 +93,4 @@
|
|||||||
"role[openresty_proxy]",
|
"role[openresty_proxy]",
|
||||||
"recipe[sockethub::firewall]"
|
"recipe[sockethub::firewall]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -99,10 +99,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"run_list": [
|
"run_list": [
|
||||||
"recipe[kosmos-base]",
|
"role[base]",
|
||||||
"recipe[kosmos_kvm::host]",
|
"role[kvm_host]",
|
||||||
"recipe[kosmos_kvm::backup]",
|
|
||||||
"role[nginx_proxy]",
|
"role[nginx_proxy]",
|
||||||
"role[zerotier_controller]"
|
"role[zerotier_controller]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
6
roles/kvm_host.rb
Normal file
6
roles/kvm_host.rb
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
name "kvm_host"
|
||||||
|
|
||||||
|
run_list %w(
|
||||||
|
kosmos_kvm::host
|
||||||
|
kosmos_kvm::backup
|
||||||
|
)
|
@ -8,3 +8,5 @@ node.default["kosmos_kvm"]["host"]["qemu_base_image"] = {
|
|||||||
|
|
||||||
# A systemd.timer OnCalendar config value
|
# A systemd.timer OnCalendar config value
|
||||||
node.default["kosmos_kvm"]["backup"]["schedule"] = "daily"
|
node.default["kosmos_kvm"]["backup"]["schedule"] = "daily"
|
||||||
|
# Node/VM names excluded from backups
|
||||||
|
node.default["kosmos_kvm"]["backup"]["nodes_excluded"] = []
|
||||||
|
@ -54,6 +54,8 @@ end
|
|||||||
vm_domains = search(:node, "role:kvm_guest").map{|n| n["hostname"] } \
|
vm_domains = search(:node, "role:kvm_guest").map{|n| n["hostname"] } \
|
||||||
& `virsh list --name`.strip.chomp.split("\n")
|
& `virsh list --name`.strip.chomp.split("\n")
|
||||||
|
|
||||||
|
vm_domains.reject! { |d| node["kosmos_kvm"]["backup"]["nodes_excluded"].include?(d) }
|
||||||
|
|
||||||
template "/root/backups/backup_all_vms.sh" do
|
template "/root/backups/backup_all_vms.sh" do
|
||||||
source "backup_all_vms.sh.erb"
|
source "backup_all_vms.sh.erb"
|
||||||
mode '0750'
|
mode '0750'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user