
+ try: + for items in pool: + cname = items.classname + if cname.find("MemoryPool") >=0 and items['InstanceID'] == "MemoryPool/0": + status = PASS + elif cname.find("ProcessorPool") >=0 and items['InstanceID'] == "ProcessorPool/0": + status = PASS + elif cname.find("NetworkPool") >=0 and \ + items['InstanceID'] == "NetworkPool/%s" %default_network_name: + status = PASS + elif cname.find("DiskPool") >=0 and \ + items['InstanceID'] == "DiskPool/%s" % default_pool_name: + status = PASS + except Exception, details: + logger.error(details) + return FAIL
If one of the if conditions fail, you'll want to return from the test instead of checking the next condition. So you can change this to 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 Rupert IBM Linux Technology Center kaitlin@linux.vnet.ibm.com