Implement QA tests for gnt-cluster rename
authorIustin Pop <iustin@google.com>
Fri, 29 Feb 2008 15:33:27 +0000 (15:33 +0000)
committerIustin Pop <iustin@google.com>
Fri, 29 Feb 2008 15:33:27 +0000 (15:33 +0000)
Reviewed-by: imsnah

qa/ganeti-qa.py
qa/qa-sample.yaml
qa/qa_cluster.py

index 42b95b8..5f6c104 100755 (executable)
@@ -91,6 +91,9 @@ def RunClusterTests():
   if qa_config.TestEnabled('cluster-verify'):
     RunTest(qa_cluster.TestClusterVerify)
 
+  if qa_config.TestEnabled('cluster-rename'):
+    RunTest(qa_cluster.TestClusterRename)
+
   if qa_config.TestEnabled('cluster-info'):
     RunTest(qa_cluster.TestClusterVersion)
     RunTest(qa_cluster.TestClusterInfo)
index 57fe764..cbb4828 100644 (file)
@@ -1,5 +1,6 @@
 # Cluster name
 name: xen-test
+rename: xen-test-rename
 hypervisor-type: xen-3.0
 
 # System to use
@@ -36,6 +37,7 @@ tests:
   cluster-copyfile: True
   cluster-master-failover: True
   cluster-destroy: True
+  cluster-rename: True
 
   node-info: True
   node-volumes: True
index 70d1c43..dfd6efe 100644 (file)
@@ -79,6 +79,37 @@ def TestClusterInit():
                        utils.ShellQuoteArgs(cmd)).wait(), 0)
 
 
+@qa_utils.DefineHook('cluster-rename')
+def TestClusterRename():
+  """gnt-cluster rename"""
+  master = qa_config.GetMasterNode()
+
+  cmd = ['gnt-cluster', 'rename', '-f']
+
+  original_name = qa_config.get('name')
+  rename_target = qa_config.get('rename', None)
+  if rename_target is None:
+    print qa_utils.FormatError('"rename" entry is missing')
+    return
+
+  cmd_1 = cmd + [rename_target]
+  cmd_2 = cmd + [original_name]
+
+  cmd_verify = ['gnt-cluster', 'verify']
+
+  AssertEqual(StartSSH(master['primary'],
+                       utils.ShellQuoteArgs(cmd_1)).wait(), 0)
+
+  AssertEqual(StartSSH(master['primary'],
+                       utils.ShellQuoteArgs(cmd_verify)).wait(), 0)
+
+  AssertEqual(StartSSH(master['primary'],
+                       utils.ShellQuoteArgs(cmd_2)).wait(), 0)
+
+  AssertEqual(StartSSH(master['primary'],
+                       utils.ShellQuoteArgs(cmd_verify)).wait(), 0)
+
+
 @qa_utils.DefineHook('cluster-verify')
 def TestClusterVerify():
   """gnt-cluster verify"""