From 51131cad91fec7f0e389c5b73b7546d71762e2cb Mon Sep 17 00:00:00 2001
From: Michael Hanselmann <hansmi@google.com>
Date: Mon, 14 May 2012 15:51:51 +0200
Subject: [PATCH] QA: Cleanup after commit 5fa0375e4a

Some tests had wrong assumptions on the instance status and some
needed explicit start or stop commands.

Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
---
 qa/ganeti-qa.py   |  6 ++----
 qa/qa_instance.py |  8 ++++----
 qa/qa_rapi.py     | 10 ++++++++--
 3 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/qa/ganeti-qa.py b/qa/ganeti-qa.py
index d10376be2..3440122aa 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 6ad89c9af..e6fd4f4cb 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 c316640f6..e26576459 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)
-- 
GitLab