diff --git a/qa/ganeti-qa.py b/qa/ganeti-qa.py index d10376be2a5a13e25adb70a878f2137d15ad0289..3440122aacd4e0e3f3bf0d66ab0ca2b1ce6b32bb 100755 --- a/qa/ganeti-qa.py +++ b/qa/ganeti-qa.py @@ -265,10 +265,6 @@ def RunCommonInstanceTests(instance): RunTestIf("instance-reinstall", qa_instance.TestInstanceReinstall, instance) RunTestIf(["instance-reinstall", "rapi"], qa_rapi.TestRapiInstanceReinstall, instance) - # RAPI reinstall will leave the instance up by default, so we have - # to stop it again - RunTestIf(["instance-reinstall", "rapi"], - qa_rapi.TestRapiInstanceShutdown, instance) if qa_config.TestEnabled("instance-rename"): rename_source = instance["name"] @@ -356,6 +352,8 @@ def RunExportImportTests(instance, pnode, snode): try: RunTest(qa_instance.TestInstanceImport, newinst, pnode, expnode, name) + # Check if starting the instance works + RunTest(qa_instance.TestInstanceStartup, newinst) RunTest(qa_instance.TestInstanceRemove, newinst) finally: qa_config.ReleaseInstance(newinst) diff --git a/qa/qa_instance.py b/qa/qa_instance.py index 6ad89c9af1637307dc907f9fb1c7962cb15ccfb7..e6fd4f4cb99da85657eea538640724e22c370624 100644 --- a/qa/qa_instance.py +++ b/qa/qa_instance.py @@ -156,7 +156,7 @@ def _CheckSsconfInstanceList(instance): _ReadSsconfInstanceList()) -@InstanceCheck(INST_UP, INST_UP, FIRST_ARG) +@InstanceCheck(INST_DOWN, INST_DOWN, FIRST_ARG) def TestInstanceRenameAndBack(rename_source, rename_target): """gnt-instance rename @@ -179,7 +179,7 @@ def TestInstanceRenameAndBack(rename_source, rename_target): AssertCommand(["gnt-instance", "rename", rename_source, rename_target]) _CheckSsconfInstanceList(rename_target) qa_utils.RunInstanceCheck(rename_source, False) - qa_utils.RunInstanceCheck(rename_target, True) + qa_utils.RunInstanceCheck(rename_target, False) # and back AssertCommand(["gnt-instance", "rename", rename_target, rename_source]) @@ -393,7 +393,7 @@ def TestInstanceExport(instance, node): return qa_utils.ResolveInstanceName(name) -@InstanceCheck(INST_UP, None, FIRST_ARG) +@InstanceCheck(None, INST_DOWN, FIRST_ARG) def TestInstanceExportWithRemove(instance, node): """gnt-backup export --remove-instance""" AssertCommand(["gnt-backup", "export", "-n", node["primary"], @@ -406,7 +406,7 @@ def TestInstanceExportNoTarget(instance): AssertCommand(["gnt-backup", "export", instance["name"]], fail=True) -@InstanceCheck(None, INST_UP, FIRST_ARG) +@InstanceCheck(None, INST_DOWN, FIRST_ARG) def TestInstanceImport(newinst, node, expnode, name): """gnt-backup import""" cmd = (["gnt-backup", "import", diff --git a/qa/qa_rapi.py b/qa/qa_rapi.py index c316640f6bb796aebfa4c39d16115740db6b1aba..e265764595c9f421f484835721c3c5a07d344b64 100644 --- a/qa/qa_rapi.py +++ b/qa/qa_rapi.py @@ -626,7 +626,7 @@ def TestRapiInstanceStartup(instance): _WaitForRapiJob(_rapi_client.StartupInstance(instance["name"])) -@InstanceCheck(INST_UP, INST_UP, FIRST_ARG) +@InstanceCheck(INST_DOWN, INST_DOWN, FIRST_ARG) def TestRapiInstanceRenameAndBack(rename_source, rename_target): """Test renaming instance via RAPI @@ -636,7 +636,7 @@ def TestRapiInstanceRenameAndBack(rename_source, rename_target): """ _WaitForRapiJob(_rapi_client.RenameInstance(rename_source, rename_target)) qa_utils.RunInstanceCheck(rename_source, False) - qa_utils.RunInstanceCheck(rename_target, True) + qa_utils.RunInstanceCheck(rename_target, False) _WaitForRapiJob(_rapi_client.RenameInstance(rename_target, rename_source)) qa_utils.RunInstanceCheck(rename_target, False) @@ -645,6 +645,12 @@ def TestRapiInstanceRenameAndBack(rename_source, rename_target): def TestRapiInstanceReinstall(instance): """Test reinstalling an instance via RAPI""" _WaitForRapiJob(_rapi_client.ReinstallInstance(instance["name"])) + # By default, the instance is started again + qa_utils.RunInstanceCheck(instance, True) + + # Reinstall again without starting + _WaitForRapiJob(_rapi_client.ReinstallInstance(instance["name"], + no_startup=True)) @InstanceCheck(INST_UP, INST_UP, FIRST_ARG)