bundles/apt: support spreading unattended-upgrades in a group

This commit is contained in:
Franzi 2023-05-20 07:46:23 +02:00
parent 92cca7f396
commit 048fb83ee7
Signed by: kunsi
GPG key ID: 12E3D2136B818350
5 changed files with 81 additions and 24 deletions

View file

@ -24,13 +24,18 @@ def patchday(metadata):
day = metadata.get('apt/unattended-upgrades/day')
hour = metadata.get('apt/unattended-upgrades/hour')
spread = metadata.get('apt/unattended-upgrades/spread_in_group', None)
if spread is not None:
spread_nodes = sorted(repo.nodes_in_group(spread))
day += spread_nodes.index(node)
return {
'cron': {
'jobs': {
'upgrade-and-reboot': '{minute} {hour} * * {day} root /usr/local/sbin/upgrade-and-reboot'.format(
minute=node.magic_number % 30,
hour=hour,
day=day,
day=day%7,
),
},
},