diff --git a/qa/qa_instance.py b/qa/qa_instance.py index fbb63cb53c794d045fc6f98b4cdbfd12513a2930..b924d200a61ffa2c6f7dcf1ad36b1593d0409885 100644 --- a/qa/qa_instance.py +++ b/qa/qa_instance.py @@ -500,6 +500,25 @@ def TestInstanceInfo(instance): AssertCommand(["gnt-instance", "info", instance.name]) +def _TestKVMHotplug(instance): + """Tests hotplug modification commands, noting that they + + """ + args_to_try = [ + ["--net", "-1:add", "--hotplug"], + ["--net", "-1:modify,mac=aa:bb:cc:dd:ee:ff", "--hotplug", "--force"], + ["--net", "-1:remove", "--hotplug"], + ["--disk", "-1:add,size=1G", "--hotplug"], + ["--disk", "-1:remove", "--hotplug"], + ] + for alist in args_to_try: + _, stdout, stderr = \ + AssertCommand(["gnt-instance", "modify"] + alist + [instance.name]) + if "failed" in stdout or "failed" in stderr: + raise qa_error.Error("Hotplugging command failed; please check output" + " for further information") + + @InstanceCheck(INST_UP, INST_UP, FIRST_ARG) def TestInstanceModify(instance): """gnt-instance modify""" @@ -545,13 +564,7 @@ def TestInstanceModify(instance): ]) 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", "--force"], - ["--net", "-1:remove", "--hotplug"], - ["--disk", "-1:add,size=1G", "--hotplug"], - ["--disk", "-1:remove", "--hotplug"], - ]) + _TestKVMHotplug(instance) for alist in args: AssertCommand(["gnt-instance", "modify"] + alist + [instance.name])