libvirt-cim-bounces(a)redhat.com wrote on 2008-10-08 01:24:54:
> status = FAIL
> for items in pool:
> cname = items.classname
> if cname.find("MemoryPool") >=0 and items['InstanceID'] ==
"MemoryPool/0":
> status = PASS
> if cname.find("ProcessorPool") >=0 and items['InstanceID'] ==
> "ProcessorPool/0":
> status = PASS
> if cname.find("NetworkPool") >=0 and \
> items['InstanceID'] == "NetworkPool/%s" %default_network_name:
> status = PASS
> if cname.find("DiskPool") >=0 and \
> items['InstanceID'] == "DiskPool/%s" % default_pool_name:
> status = PASS
> if status != PASS:
> logger.error("HostedResourcePool information error")
> return status
>
If you hit an error condition, the test should return - no point in
checking the other conditions when we already know we've failed. Plus,
the error log message is really vague.
Instead, you could do something like:
try:
for items in pool:
cname = items.classname
if cname.find("MemoryPool") >=0 and items['InstanceID'] !=
"MemoryPool/0":
raise Exception("%s does not match MemoryPool/0",
items['InstanceID'])
elif cname.find("ProcessorPool") >=0 and items['InstanceID']
!=
"ProcessorPool/0":
raise Exception("%s does not match ProcessorPool/0",
items['InstanceID'])
elif cname.find("NetworkPool") >= 0 and \
items['InstanceID'] != "NetworkPool/%s"
%default_network_name:
raise Exception("%s does not match NetworkPool/%s",
items['InstanceID'], default_network_name)
elif cname.find("DiskPool") >= 0 and \
items['InstanceID'] != "DiskPool/%s" % default_pool_name:
raise Exception("%s does not match DiskPool/%s",
items['InstanceID'], default_pool_name)
except Exception, details:
logger.error(details)
return FAIL
return PASS
Kaitlin - That sounds good to me.
Thanks!
--
Kaitlin Rupert
IBM Linux Technology Center
kaitlin(a)linux.vnet.ibm.com
_______________________________________________
Libvirt-cim mailing list
Libvirt-cim(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvirt-cim