This patch extends the QA by assuring that the consistency check
between '--vg-name' and '--enabled-disk-templates' on 'gnt-cluster
modify' works correctly. Also fixes some bug regarding the option
name '--enabled-disk-templates'.

Signed-off-by: Helga Velroyen <[email protected]>
---
 qa/qa_cluster.py | 29 ++++++++++++++++++++++++-----
 1 file changed, 24 insertions(+), 5 deletions(-)

diff --git a/qa/qa_cluster.py b/qa/qa_cluster.py
index cd20b0c..33e90de 100644
--- a/qa/qa_cluster.py
+++ b/qa/qa_cluster.py
@@ -192,9 +192,10 @@ def TestClusterInit(rapi_user, rapi_secret):
   if master.secondary:
     cmd.append("--secondary-ip=%s" % master.secondary)
 
-  vgname = qa_config.get("vg-name", None)
-  if vgname:
-    cmd.append("--vg-name=%s" % vgname)
+  if utils.IsLvmEnabled(qa_config.GetEnabledDiskTemplates()):
+    vgname = qa_config.get("vg-name", None)
+    if vgname:
+      cmd.append("--vg-name=%s" % vgname)
 
   master_netdev = qa_config.get("master-netdev", None)
   if master_netdev:
@@ -422,7 +423,7 @@ def _RestoreEnabledDiskTemplates():
   """
   AssertCommand(
     ["gnt-cluster", "modify",
-     "--enabled-disk-template=%s" %
+     "--enabled-disk-templates=%s" %
        ",".join(qa_config.GetEnabledDiskTemplates())],
     fail=False)
 
@@ -436,7 +437,7 @@ def 
_TestClusterModifyDiskTemplatesArguments(default_disk_template,
   """
   AssertCommand(
     ["gnt-cluster", "modify",
-     "--enabled-disk-template=%s" %
+     "--enabled-disk-templates=%s" %
        ",".join(enabled_disk_templates)],
     fail=False)
 
@@ -452,6 +453,24 @@ def 
_TestClusterModifyDiskTemplatesArguments(default_disk_template,
       (default_disk_template, default_disk_template)],
     fail=False)
 
+  # interaction with --vg-name option
+  vgname = qa_config.get("vg-name", None)
+  if vgname:
+    # specifying a vg name when lvm gets disabled
+    AssertCommand(
+      ["gnt-cluster", "modify", "--vg-name=%s" % vgname,
+       "--enabled-disk-templates=%s" % constants.DT_DISKLESS],
+       fail=True)
+    # no checks when no change of enabled disk templates
+    AssertCommand(
+      ["gnt-cluster", "modify", "--vg-name=%s" % vgname], fail=False)
+    if utils.IsLvmEnabled(enabled_disk_templates):
+      # specifying a vg name when lvm is enabled
+      AssertCommand(
+        ["gnt-cluster", "modify", "--vg-name=%s" % vgname,
+         "--enabled-disk-templates=%s" % ",".join(enabled_disk_templates)],
+         fail=False)
+
 
 def _TestClusterModifyUsedDiskTemplate(instance_template,
                                        enabled_disk_templates):
-- 
1.8.1.3

Reply via email to