Change in vdsm[master]: recovery: reimplement clean_vm_files
fromani at redhat.com
fromani at redhat.com
Thu Feb 11 12:24:22 UTC 2016
Francesco Romani has uploaded a new change for review.
Change subject: recovery: reimplement clean_vm_files
......................................................................
recovery: reimplement clean_vm_files
clean_vm_files() could be reimplemented leveraging recovery.File()
utilities, and avoiding code duplications.
There are no intended changes in externally observed behaviour.
Change-Id: Id3969637dce99889815fb2827ea1737d74807245
Signed-off-by: Francesco Romani <fromani at redhat.com>
---
M tests/vmRecoveryTests.py
M vdsm/virt/recovery.py
2 files changed, 17 insertions(+), 9 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/05/53405/1
diff --git a/tests/vmRecoveryTests.py b/tests/vmRecoveryTests.py
index 4c011e5..4b7571c 100644
--- a/tests/vmRecoveryTests.py
+++ b/tests/vmRecoveryTests.py
@@ -84,6 +84,12 @@
self.assertIn(testvm.id, state.name)
self.assertTrue(state.name.endswith(recovery.File.EXTENSION))
+ def test_vmid(self):
+ with fake.VM() as testvm, namedTemporaryDir() as tmpDir:
+ with MonkeyPatchScope([(constants, 'P_VDSM_RUN', tmpDir + '/')]):
+ state = recovery.File(testvm.id)
+ self.assertEqual(testvm.id, state.vmid)
+
@expandPermutations
class RecoveryFunctionsTests(TestCaseBase):
diff --git a/vdsm/virt/recovery.py b/vdsm/virt/recovery.py
index a0d3f77..e1da1d2 100644
--- a/vdsm/virt/recovery.py
+++ b/vdsm/virt/recovery.py
@@ -78,6 +78,10 @@
self._lock = threading.Lock()
@property
+ def vmid(self):
+ return self._vmid
+
+ @property
def name(self):
return self._name
@@ -193,16 +197,15 @@
' reported by libvirt. This should not happen!'
' Will try to recover them.', num_rec_vms)
- for idx, vm_id in enumerate(rec_vms):
- vm_state = File(vm_id)
+ for idx, vm_state in enumerate(rec_vms):
if vm_state.load(cif):
cif.log.info(
'recovery [2:%d/%d]: recovered domain %s'
- ' from data file', idx+1, num_rec_vms, vm_id)
+ ' from data file', idx+1, num_rec_vms, vm_state.vmid)
else:
cif.log.warning(
'recovery [2:%d/%d]: VM %s failed to recover from data'
- ' file, reported as Down', idx+1, num_rec_vms, vm_id)
+ ' file, reported as Down', idx+1, num_rec_vms, vm_state.vmid)
def _find_vdsm_vms_from_files(cif):
@@ -211,12 +214,11 @@
vm_id, fileType = os.path.splitext(f)
if fileType == File.EXTENSION:
if vm_id not in cif.vmContainer:
- vms.append(vm_id)
+ vms.append(File(vm_id))
return vms
def clean_vm_files(cif):
- for vm_id in _find_vdsm_vms_from_files(cif):
- cif.log.debug("cleaning old file for vm %s", vm_id)
- utils.rmFile(os.path.join(constants.P_VDSM_RUN,
- "%s%s", vm_id, File.EXTENSION))
+ for vm in _find_vdsm_vms_from_files(cif):
+ cif.log.debug("cleaning old file for vm: %s", vm.vmid)
+ vm.cleanup()
--
To view, visit https://gerrit.ovirt.org/53405
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id3969637dce99889815fb2827ea1737d74807245
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Francesco Romani <fromani at redhat.com>
More information about the vdsm-patches
mailing list