tests: reload qubes.xml after save
This is to make sure that QubesVmCollection state is consistent with qubes.xml - unfortunately some changes are applied to Qubes*Vm object only at load time (for example connected_vms collections).
This commit is contained in:
parent
f7a06ae29b
commit
091d02b9a3
@ -217,6 +217,11 @@ class SystemTestsMixin(object):
|
|||||||
def make_vm_name(self, name):
|
def make_vm_name(self, name):
|
||||||
return VMPREFIX + name
|
return VMPREFIX + name
|
||||||
|
|
||||||
|
def save_and_reload_db(self):
|
||||||
|
self.qc.save()
|
||||||
|
self.qc.unlock_db()
|
||||||
|
self.qc.lock_db_for_writing()
|
||||||
|
self.qc.load()
|
||||||
|
|
||||||
def _remove_vm_qubes(self, vm):
|
def _remove_vm_qubes(self, vm):
|
||||||
vmname = vm.name
|
vmname = vm.name
|
||||||
@ -234,7 +239,6 @@ class SystemTestsMixin(object):
|
|||||||
except libvirt.libvirtError: pass
|
except libvirt.libvirtError: pass
|
||||||
|
|
||||||
self.qc.pop(vm.qid)
|
self.qc.pop(vm.qid)
|
||||||
self.qc.save()
|
|
||||||
del vm
|
del vm
|
||||||
|
|
||||||
# Now ensure it really went away. This may not have happened,
|
# Now ensure it really went away. This may not have happened,
|
||||||
@ -272,6 +276,7 @@ class SystemTestsMixin(object):
|
|||||||
|
|
||||||
def remove_vms(self, vms):
|
def remove_vms(self, vms):
|
||||||
for vm in vms: self._remove_vm_qubes(vm)
|
for vm in vms: self._remove_vm_qubes(vm)
|
||||||
|
self.save_and_reload_db()
|
||||||
|
|
||||||
|
|
||||||
def remove_test_vms(self):
|
def remove_test_vms(self):
|
||||||
@ -285,9 +290,13 @@ class SystemTestsMixin(object):
|
|||||||
'''
|
'''
|
||||||
|
|
||||||
# first, remove them Qubes-way
|
# first, remove them Qubes-way
|
||||||
|
something_removed = False
|
||||||
for vm in self.qc.values():
|
for vm in self.qc.values():
|
||||||
if vm.name.startswith(VMPREFIX):
|
if vm.name.startswith(VMPREFIX):
|
||||||
self._remove_vm_qubes(vm)
|
self._remove_vm_qubes(vm)
|
||||||
|
something_removed = True
|
||||||
|
if something_removed:
|
||||||
|
self.save_and_reload_db()
|
||||||
|
|
||||||
# now remove what was only in libvirt
|
# now remove what was only in libvirt
|
||||||
for dom in self.conn.listAllDomains():
|
for dom in self.conn.listAllDomains():
|
||||||
@ -392,6 +401,8 @@ class BackupTestsMixin(SystemTestsMixin):
|
|||||||
self.fill_image(testvm2.root_img, 1024*1024*1024, True)
|
self.fill_image(testvm2.root_img, 1024*1024*1024, True)
|
||||||
vms.append(testvm2)
|
vms.append(testvm2)
|
||||||
|
|
||||||
|
self.save_and_reload_db()
|
||||||
|
|
||||||
return vms
|
return vms
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user