
Kaitlin Rupert wrote:
+def create_diskpool(server, virt='KVM', dpool=default_pool_name, + useExisting=False): status = PASS dpoolname = None try: - dpool_list = diskpool_list(server, virt='KVM') - if len(dpool_list) > 0: - dpoolname=dpool_list[0] - else: - diskxml = PoolXML(server, virt=virt) + if useExisting == True: + dpool_list = diskpool_list(server, virt='KVM') + if len(dpool_list) > 0: + dpoolname=dpool_list[0] + + if dpoolname == None: + cmd = "virsh -c %s pool-list --all | grep %s" % \ + (utils.virt2uri(virt), dpool) + ret, out = utils.run_remote(server, cmd) + if out != "": + logger.error("Disk pool with name '%s' already exists", dpool) + return FAIL, "Unknown"
If the diskpool cinmtest-diskpool already exist on the machine then the tc execution wont proceed unless we delete manually and then re-run the tc. I think we should not pass FAIL as status value, instead supply PASS as the status value. The same comment applies for network pool also.
I'm not sure I understand why we should return PASS if the diskpool already exists?
The purpose of this function is to create a diskpool with a specific XML. If a diskpool with the same name already exists on the system, we cannot guarantee that it was created with the same XML. That is, the pool might have the same name, but it might be entirely different from the pool we want to create. Ok this is a valid point which I did not consider.
If the caller wants to use an existing pool, the caller can use the useExisting param to do so.
Is there a scenario you were thinking of where returning PASS if the pool already exists would be useful?
I wanted to return a PASS value, in case the pool with the same name already existed . But since you gave a valid scenario, the above comment from me does not hold valid. Thanks and Regards, Deepti.