Merge remote-tracking branch 'qubesos/pr/11'

* qubesos/pr/11:
  added helper function updates_vms_status
This commit is contained in:
Marek Marczykowski-Górecki 2017-07-15 22:01:04 +02:00
commit 66f2e9c889
No known key found for this signature in database
GPG Key ID: 063938BA42CFA724

View File

@ -23,6 +23,7 @@
# #
'''Various utility functions.''' '''Various utility functions.'''
import os
import pkg_resources import pkg_resources
@ -122,3 +123,21 @@ def get_entry_point_one(group, name):
', '.join('{}.{}'.format(ep.module_name, '.'.join(ep.attrs)) ', '.join('{}.{}'.format(ep.module_name, '.'.join(ep.attrs))
for ep in epoints))) for ep in epoints)))
return epoints[0].load() 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