bundles/icinga2: add automatic downtime for upgrade-and-reboot
All checks were successful
bundlewrap/pipeline/head This commit looks good
All checks were successful
bundlewrap/pipeline/head This commit looks good
This commit is contained in:
parent
3a56b0425c
commit
12ce8d8f6e
2 changed files with 43 additions and 0 deletions
18
bundles/icinga2/files/icinga2/downtimes.conf
Normal file
18
bundles/icinga2/files/icinga2/downtimes.conf
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
% for monitored_node in sorted(monitored_nodes):
|
||||||
|
% if not monitored_node.dummy:
|
||||||
|
object ScheduledDowntime "unattended_upgrades" {
|
||||||
|
host_name = "${monitored_node.name}"
|
||||||
|
|
||||||
|
author = "upgrade-and-reboot"
|
||||||
|
comment = "Downtime for upgrade-and-reboot"
|
||||||
|
|
||||||
|
fixed = true
|
||||||
|
|
||||||
|
ranges = {
|
||||||
|
"${days[monitored_node.metadata.get('apt', {}).get('unattended_upgrades', {}).get('day', 5)]}" = "01:${monitored_node.magic_number%30}-01:${(monitored_node.magic_number%30)+30}"
|
||||||
|
}
|
||||||
|
|
||||||
|
child_options = "DowntimeTriggeredChildren"
|
||||||
|
}
|
||||||
|
% endif
|
||||||
|
% endfor
|
|
@ -17,6 +17,17 @@ SLA_INFO = {
|
||||||
'never': 'never',
|
'never': 'never',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DAYS_TO_STRING = [
|
||||||
|
'sunday',
|
||||||
|
'monday',
|
||||||
|
'tuesday',
|
||||||
|
'wednesday',
|
||||||
|
'thursday',
|
||||||
|
'friday',
|
||||||
|
'saturday',
|
||||||
|
'sunday',
|
||||||
|
]
|
||||||
|
|
||||||
directories = {
|
directories = {
|
||||||
'/etc/icingaweb2': {
|
'/etc/icingaweb2': {
|
||||||
'group': 'icingaweb2',
|
'group': 'icingaweb2',
|
||||||
|
@ -316,3 +327,17 @@ files['/etc/icinga2/conf.d/groups.conf'] = {
|
||||||
'svc_systemd:icinga2:restart',
|
'svc_systemd:icinga2:restart',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
files['/etc/icinga2/conf.d/downtimes.conf'] = {
|
||||||
|
'source': 'icinga2/downtimes.conf',
|
||||||
|
'content_type': 'mako',
|
||||||
|
'context': {
|
||||||
|
'monitored_nodes': monitored_nodes,
|
||||||
|
'days': DAYS_TO_STRING,
|
||||||
|
},
|
||||||
|
'needs': {
|
||||||
|
'pkg_apt:icinga2',
|
||||||
|
},
|
||||||
|
'triggers': {
|
||||||
|
'svc_systemd:icinga2:restart',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue