diff --git a/qa/qa-sample.json b/qa/qa-sample.json index 6e62f80fc6b89a1657ee7bc0d795c5672775d930..e7e0d1c9d6d76943cd9ec9ef4843cc4ac5f43c27 100644 --- a/qa/qa-sample.json +++ b/qa/qa-sample.json @@ -2,6 +2,14 @@ "name": "xen-test", "rename": "xen-test-rename", "enabled-hypervisors": "xen-pvm", + "# Dict of hypervisor name and parameters (like on the cmd line)": null, + "hypervisor-parameters": {}, + "# Backend parameters (like on the cmd line)": null, + "backend-parameters": "", + "# Dict of OS name and parameters (like on the cmd line)": null, + "os-parameters": {}, + "# Dict of OS name and value dict of hypervisor parameters": null, + "os-hvp": {}, "primary_ip_version": 4, "os": "debian-etch", diff --git a/qa/qa_cluster.py b/qa/qa_cluster.py index 176bcd9eb3597473f09cb58e1c452e3aa45fb75e..aa1fd70fdbda5082e646efec893160144a162eaa 100644 --- a/qa/qa_cluster.py +++ b/qa/qa_cluster.py @@ -96,6 +96,30 @@ def TestClusterInit(rapi_user, rapi_secret): AssertCommand(cmd) + cmd = ["gnt-cluster", "modify"] + # hypervisor parameter modifications + hvp = qa_config.get("hypervisor-parameters", {}) + for k, v in hvp.items(): + cmd.extend(["-H", "%s:%s" % (k, v)]) + # backend parameter modifications + bep = qa_config.get("backend-parameters", "") + if bep: + cmd.extend(["-B", bep]) + + if len(cmd) > 2: + AssertCommand(cmd) + + # OS parameters + osp = qa_config.get("os-parameters", {}) + for k, v in osp.items(): + AssertCommand(["gnt-os", "modify", "-O", v, k]) + + # OS hypervisor parameters + os_hvp = qa_config.get("os-hvp", {}) + for os_name in os_hvp: + for hv, hvp in os_hvp[os_name].items(): + AssertCommand(["gnt-os", "modify", "-H", "%s:%s" % (hv, hvp), os_name]) + def TestClusterRename(): """gnt-cluster rename""" @@ -206,6 +230,10 @@ def TestClusterModifyBe(): ]: AssertCommand(cmd, fail=fail) + # redo the original-requested BE parameters, if any + bep = qa_config.get("backend-parameters", "") + if bep: + AssertCommand(["gnt-cluster", "modify", "-B", bep]) def TestClusterInfo(): """gnt-cluster info"""