vm/adminvm: setup libvirt_domain property

Since libvirt do provide object for dom0 too, return it here.
It's much easier than special-casing AdminVM everywhere. And in fact
sometimes it is actually useful (for example attaching devices from/to
dom0, adjusting memory).
This commit is contained in:
Marek Marczykowski-Górecki 2017-07-03 23:13:23 +02:00
parent e5de8f4115
commit 3721ae3e8b
No known key found for this signature in database
GPG Key ID: 063938BA42CFA724

View File

@ -49,6 +49,11 @@ class AdminVM(qubes.vm.BaseVM):
default='00000000-0000-0000-0000-000000000000',
setter=qubes.property.forbidden)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self._libvirt_domain = None
def __str__(self):
return self.name
@ -71,12 +76,14 @@ class AdminVM(qubes.vm.BaseVM):
@property
def libvirt_domain(self):
'''Always :py:obj:`None`.
'''Libvirt object for dom0.
.. seealso:
:py:attr:`qubes.vm.qubesvm.QubesVM.libvirt_domain`
'''
return None
if self._libvirt_domain is None:
self._libvirt_domain = self.app.vmm.libvirt_conn.lookupByID(0)
return self._libvirt_domain
@staticmethod
def is_running():