From f2826af1aeea5a2f8abf361b91854778c1b6f00b Mon Sep 17 00:00:00 2001 From: frank Date: Tue, 21 Feb 2012 14:36:55 -0800 Subject: [PATCH] Bug 13895 - OVM zone z1 hosts went to Alert state, VMs in stopped state and stopping state return VM in Error if it is no longer on primary storage reviewed-by: edison --- ovm/scripts/vm/hypervisor/ovm/OvmHostModule.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/ovm/scripts/vm/hypervisor/ovm/OvmHostModule.py b/ovm/scripts/vm/hypervisor/ovm/OvmHostModule.py index 910eff24e4d..10ae9760918 100755 --- a/ovm/scripts/vm/hypervisor/ovm/OvmHostModule.py +++ b/ovm/scripts/vm/hypervisor/ovm/OvmHostModule.py @@ -205,10 +205,14 @@ class OvmHost(OvmObject): dct = {} host = OvmHost() for name, id in l: - vmPath = host._getVmPathFromPrimaryStorage(name) - vmStatus = db_get_vm(vmPath) - dct[name] = vmStatus['status'] - + try: + vmPath = host._getVmPathFromPrimaryStorage(name) + vmStatus = db_get_vm(vmPath) + dct[name] = vmStatus['status'] + except Exception, e: + logger.debug(OvmHost.getAllVms, "Cannot find link for %s on primary storage, treat it as Error"%name) + dct[name] = 'ERROR' + scanStoppedVmOnPrimaryStorage(dct) rs = toGson(dct) logger.info(OvmHost.getAllVms, rs)