bundles/apt: support spreading unattended-upgrades in a group
This commit is contained in:
parent
92cca7f396
commit
048fb83ee7
5 changed files with 81 additions and 24 deletions
24
hooks/test_unattended_upgrades_spread.py
Normal file
24
hooks/test_unattended_upgrades_spread.py
Normal file
|
@ -0,0 +1,24 @@
|
|||
from bundlewrap.exceptions import BundleError
|
||||
from bundlewrap.utils.text import bold, green, yellow
|
||||
from bundlewrap.utils.ui import io
|
||||
|
||||
|
||||
def test(repo, **kwargs):
|
||||
for node in repo.nodes:
|
||||
if not node.has_bundle('apt'):
|
||||
continue
|
||||
|
||||
spread = node.metadata.get('apt/unattended-upgrades/spread_in_group', None)
|
||||
if spread is None:
|
||||
continue
|
||||
|
||||
for rnode in repo.nodes_in_group(spread):
|
||||
rspread = rnode.metadata.get('apt/unattended-upgrades/spread_in_group', None)
|
||||
|
||||
if spread != rspread:
|
||||
raise BundleError(f'{node.name} sets apt/unattended-upgrades/spread_in_group to "{spread}", but node {rnode.name} in that group does set "{rspread}"!')
|
||||
|
||||
io.stdout('{x} {node} apt/unattended-upgrades/spread_in_group matches'.format(
|
||||
x=green("✓"),
|
||||
node=bold(node.name),
|
||||
))
|
Loading…
Add table
Add a link
Reference in a new issue