Skip to content

Commit 4643a8d

Browse files
committed
Move undefining libvirt object to QubesVM class
It's more logical to do that in the QubesVM class. Moving this also avoids protected-access pylint complain (which is very much valid complain).
1 parent 3691338 commit 4643a8d

File tree

3 files changed

+16
-9
lines changed

3 files changed

+16
-9
lines changed

qubes/app.py

+1-9
Original file line numberDiff line numberDiff line change
@@ -531,15 +531,7 @@ def __delitem__(self, key):
531531
if not vm.is_halted():
532532
raise qubes.exc.QubesVMNotHaltedError(vm)
533533
self.app.fire_event('domain-pre-delete', pre_event=True, vm=vm)
534-
try:
535-
if vm.libvirt_domain:
536-
vm.libvirt_domain.undefine()
537-
# pylint: disable=protected-access
538-
vm._libvirt_domain = None
539-
except libvirt.libvirtError as e:
540-
if e.get_error_code() == libvirt.VIR_ERR_NO_DOMAIN:
541-
# already undefined
542-
pass
534+
vm.libvirt_undefine()
543535
del self._dict[vm.qid]
544536
self.app.fire_event('domain-delete', vm=vm)
545537
if getattr(vm, 'dispid', None):

qubes/tests/init.py

+3
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,9 @@ def is_halted(self):
351351
def get_power_state(self):
352352
return "Halted"
353353

354+
def libvirt_undefine(self):
355+
pass
356+
354357

355358
class TestApp(qubes.tests.TestEmitter):
356359
pass

qubes/vm/qubesvm.py

+12
Original file line numberDiff line numberDiff line change
@@ -1930,6 +1930,18 @@ async def clone_disk_files(self, src, pool=None, pools=None, ):
19301930
# fire hooks
19311931
await self.fire_event_async('domain-clone-files', src=src)
19321932

1933+
def libvirt_undefine(self):
1934+
"""Undefine domain object in libvirt"""
1935+
try:
1936+
if self.libvirt_domain:
1937+
self.libvirt_domain.undefine()
1938+
except libvirt.libvirtError as e:
1939+
if e.get_error_code() == libvirt.VIR_ERR_NO_DOMAIN:
1940+
# already undefined
1941+
pass
1942+
if self._libvirt_domain is not None:
1943+
self._libvirt_domain = None
1944+
19331945
#
19341946
# methods for querying domain state
19351947
#

0 commit comments

Comments
 (0)