diff --git a/qa/ganeti-qa.py b/qa/ganeti-qa.py index 87d5fddf715e3f4488c67b1c93b6f941887af7ee..5b46d98352ccb82fa562988c8b825346439c30f7 100755 --- a/qa/ganeti-qa.py +++ b/qa/ganeti-qa.py @@ -290,7 +290,7 @@ def RunCommonInstanceTests(instance): RunTestIf("rapi", qa_rapi.TestRapiInstanceRenameAndBack, rename_source, rename_target) finally: - qa_config.ReleaseInstance(tgt_instance) + tgt_instance.Release() RunTestIf(["instance-grow-disk"], qa_instance.TestInstanceGrowDisk, instance) @@ -375,7 +375,7 @@ def RunExportImportTests(instance, inodes): RunTest(qa_instance.TestInstanceStartup, newinst) RunTest(qa_instance.TestInstanceRemove, newinst) finally: - qa_config.ReleaseInstance(newinst) + newinst.Release() finally: qa_config.ReleaseNode(expnode) @@ -389,7 +389,7 @@ def RunExportImportTests(instance, inodes): finally: qa_config.ReleaseNode(tnode) finally: - qa_config.ReleaseInstance(newinst) + newinst.Release() def RunDaemonTests(instance): @@ -482,9 +482,9 @@ def RunExclusiveStorageTests(): qa_instance.TestInstanceRemove(instance2) qa_instance.TestInstanceRemove(instance1) finally: - qa_config.ReleaseInstance(instance2) + instance2.Release() finally: - qa_config.ReleaseInstance(instance1) + instance1.Release() if qa_config.TestEnabled("instance-add-drbd-disk"): snode = qa_config.AcquireNode() @@ -497,7 +497,7 @@ def RunExclusiveStorageTests(): qa_cluster.AssertClusterVerify(fail=True, errors=exp_err) qa_instance.TestInstanceRemove(instance) finally: - qa_config.ReleaseInstance(instance) + instance.Release() finally: qa_config.ReleaseNode(snode) qa_cluster.TestSetExclStorCluster(old_es) @@ -541,7 +541,7 @@ def RunInstanceTests(): RunRepairDiskSizes() RunTest(qa_instance.TestInstanceRemove, instance) finally: - qa_config.ReleaseInstance(instance) + instance.Release() del instance finally: @@ -601,7 +601,7 @@ def RunQa(): RunCommonInstanceTests(rapi_instance) RunTest(qa_rapi.TestRapiInstanceRemove, rapi_instance, use_client) finally: - qa_config.ReleaseInstance(rapi_instance) + rapi_instance.Release() del rapi_instance finally: @@ -635,7 +635,7 @@ def RunQa(): finally: qa_config.ReleaseNode(expnode) finally: - qa_config.ReleaseInstance(instance) + instance.Release() del expnode del instance qa_cluster.AssertClusterVerify() diff --git a/qa/qa_cluster.py b/qa/qa_cluster.py index 09434a70d80274d877e79414ef6389d61cbcd53b..729322c1c46880848208d7777b6b4d3ce0e65e3d 100644 --- a/qa/qa_cluster.py +++ b/qa/qa_cluster.py @@ -553,7 +553,7 @@ def TestClusterBurnin(): finally: for inst in instances: - qa_config.ReleaseInstance(inst) + inst.Release() def TestClusterMasterFailover(): diff --git a/qa/qa_config.py b/qa/qa_config.py index 879cff988a74f7ffcfb25c36951b2ab805a1d1e9..4fe6a92bab0d34bf109e8b9d92ce000fc2bad81b 100644 --- a/qa/qa_config.py +++ b/qa/qa_config.py @@ -88,6 +88,17 @@ class _QaInstance(object): except KeyError: return default + def Release(self): + """Releases instance and makes it available again. + + """ + assert self.used, \ + ("Instance '%s' was never acquired or released more than once" % + self.name) + + self.used = False + self.disk_template = None + def GetNicMacAddr(self, idx, default): """Returns MAC address for NIC. @@ -422,11 +433,6 @@ def AcquireInstance(_cfg=None): return inst -def ReleaseInstance(inst): - inst.used = False - inst.disk_template = None - - def GetInstanceTemplate(inst): """Return the disk template of an instance. diff --git a/qa/qa_instance.py b/qa/qa_instance.py index 349ef5cbce3dc5a23ad1debfa50523383e1e849e..693ce47df4ed1b282b81eebe1ef999668698bb15 100644 --- a/qa/qa_instance.py +++ b/qa/qa_instance.py @@ -80,7 +80,7 @@ def _DiskTest(node, disk_template): return instance except: - qa_config.ReleaseInstance(instance) + instance.Release() raise diff --git a/qa/qa_rapi.py b/qa/qa_rapi.py index c9af6cb52a2e13d33f6cd019bbbc91c159e7a9f2..996c69d188b2d2d3f98828d0540012f86ab2d5a1 100644 --- a/qa/qa_rapi.py +++ b/qa/qa_rapi.py @@ -598,7 +598,7 @@ def TestRapiInstanceAdd(node, use_client): return instance except: - qa_config.ReleaseInstance(instance) + instance.Release() raise diff --git a/test/py/qa.qa_config_unittest.py b/test/py/qa.qa_config_unittest.py index 0dcfc267fe5afaf2896e06d058fd08ec8296c4fa..c76cbce489b86fcdcf5a3e461529a0bf73f0a6cd 100755 --- a/test/py/qa.qa_config_unittest.py +++ b/test/py/qa.qa_config_unittest.py @@ -285,7 +285,7 @@ class TestQaConfig(unittest.TestCase): self.assertTrue(inst.used) self.assertTrue(inst.disk_template is None) - qa_config.ReleaseInstance(inst) + inst.Release() self.assertFalse(inst.used) self.assertTrue(inst.disk_template is None)