Extend qa to test hotplug support
[ganeti-local] / qa / qa_instance.py
index 579518b..ab4f865 100644 (file)
@@ -95,7 +95,7 @@ def GetInstanceInfo(instance):
   drbd_min = {}
   for (count, diskinfo) in enumerate(info["Disks"]):
     (dtype, _) = diskinfo["disk/%s" % count].split(",", 1)
-    if dtype == constants.LD_DRBD8:
+    if dtype == constants.DT_DRBD8:
       for child in diskinfo["child devices"]:
         vols.append(child["logical_id"])
       for key in ["nodeA", "nodeB"]:
@@ -106,7 +106,7 @@ def GetInstanceInfo(instance):
         minor = int(m.group(2))
         minorlist = drbd_min.setdefault(node, [])
         minorlist.append(minor)
-    elif dtype == constants.LD_LV:
+    elif dtype == constants.DT_PLAIN:
       vols.append(diskinfo["logical_id"])
 
   assert nodes
@@ -534,6 +534,15 @@ def TestInstanceModify(instance):
       ["-H", "%s=acn" % constants.HV_BOOT_ORDER],
       ["-H", "%s=%s" % (constants.HV_BOOT_ORDER, constants.VALUE_DEFAULT)],
       ])
+  elif default_hv == constants.HT_KVM and \
+    qa_config.TestEnabled("instance-device-hotplug"):
+    args.extend([
+      ["--net", "-1:add", "--hotplug"],
+      ["--net", "-1:modify,mac=aa:bb:cc:dd:ee:ff", "--hotplug"],
+      ["--net", "-1:remove", "--hotplug"],
+      ["--disk", "-1:add,size=1G", "--hotplug"],
+      ["--disk", "-1:remove", "--hotplug"],
+      ])
 
   for alist in args:
     AssertCommand(["gnt-instance", "modify"] + alist + [instance.name])
@@ -1027,8 +1036,8 @@ def TestInstanceCreationRestrictedByDiskTemplates():
   # Setup the cluster with the enabled_disk_templates
   AssertCommand(
     ["gnt-cluster", "modify",
-     "--enabled-disk-templates=%s" %
-       ",".join(enabled_disk_templates)],
+     "--enabled-disk-templates=%s" % ",".join(enabled_disk_templates),
+     "--ipolicy-disk-templates=%s" % ",".join(enabled_disk_templates)],
     fail=False)
 
   # Test instance creation for enabled disk templates
@@ -1054,8 +1063,8 @@ def TestInstanceCreationRestrictedByDiskTemplates():
     for (enabled, disabled) in [(templates1, templates2),
                                 (templates2, templates1)]:
       AssertCommand(["gnt-cluster", "modify",
-                     "--enabled-disk-templates=%s" %
-                       ",".join(enabled)],
+                     "--enabled-disk-templates=%s" % ",".join(enabled),
+                     "--ipolicy-disk-templates=%s" % ",".join(enabled)],
                     fail=False)
       for disk_template in disabled:
         CreateInstanceByDiskTemplate(nodes, disk_template, fail=True)
@@ -1068,6 +1077,8 @@ def TestInstanceCreationRestrictedByDiskTemplates():
                              set(enabled_disk_templates))
     AssertCommand(["gnt-cluster", "modify",
                    "--enabled-disk-templates=%s" %
+                     ",".join(other_disk_templates),
+                   "--ipolicy-disk-templates=%s" %
                      ",".join(other_disk_templates)],
                   fail=False)
     CreateInstanceByDiskTemplate(nodes, enabled_disk_templates[0], fail=True)
@@ -1078,5 +1089,7 @@ def TestInstanceCreationRestrictedByDiskTemplates():
   # Restore initially enabled disk templates
   AssertCommand(["gnt-cluster", "modify",
                  "--enabled-disk-templates=%s" %
+                   ",".join(enabled_disk_templates),
+                 "--ipolicy-disk-templates=%s" %
                    ",".join(enabled_disk_templates)],
                  fail=False)