From 9174d8c3782c2088db713900816b1433d83aef41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marta=20Marczykowska-G=C3=B3recka?= Date: Sun, 25 Jun 2017 19:33:14 +0200 Subject: [PATCH] added helper function updates_vms_status --- qubesadmin/utils.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/qubesadmin/utils.py b/qubesadmin/utils.py index 707b611..41440c9 100644 --- a/qubesadmin/utils.py +++ b/qubesadmin/utils.py @@ -23,6 +23,7 @@ # '''Various utility functions.''' +import os import pkg_resources @@ -122,3 +123,21 @@ def get_entry_point_one(group, name): ', '.join('{}.{}'.format(ep.module_name, '.'.join(ep.attrs)) for ep in epoints))) return epoints[0].load() + +UPDATES_DEFAULT_VM_DISABLE_FLAG = \ + '/var/lib/qubes/updates/vm-default-disable-updates' + +def updates_vms_status(qvm_collection): + '''Check whether all VMs have the same check-updates value; + if yes, return it; otherwise, return None + ''' + # default value: + status = not os.path.exists(UPDATES_DEFAULT_VM_DISABLE_FLAG) + # check if all the VMs uses the default value + for vm in qvm_collection.domains: + if vm.qid == 0: + continue + if vm.features.get('check-updates', True) != status: + # "mixed" + return None + return status