diff --git a/qa/qa_cluster.py b/qa/qa_cluster.py index 575d2d7060b200c844c7392c86a042007931dcab..89159a72cd1b0a1b73f680d65c9a0d36cafa87a5 100644 --- a/qa/qa_cluster.py +++ b/qa/qa_cluster.py @@ -120,6 +120,38 @@ def TestClusterRename(): def TestClusterVerify(): """gnt-cluster verify""" + oob_path_exists = "/tmp/ganeti-qa-oob-does-exist-%s" % utils.NewUUID() + + AssertCommand(["gnt-cluster", "verify"]) + AssertCommand(["gnt-cluster", "modify", "--node-parameters", + "oob_program=/tmp/ganeti-qa-oob-does-not-exist-%s" % + utils.NewUUID()]) + + AssertCommand(["gnt-cluster", "verify"], fail=True) + + for node in qa_config.get("nodes"): + node_name = node["primary"] + remote_file = qa_utils.UploadData(node_name, "", mode=0400) + AssertCommand(["mv", remote_file, oob_path_exists], node=node_name) + + try: + AssertCommand(["gnt-cluster", "modify", "--node-parameters", + "oob_program=%s" % oob_path_exists]) + + AssertCommand(["gnt-cluster", "verify"], fail=True) + + for node in qa_config.get("nodes"): + node_name = node["primary"] + AssertCommand(["chmod", "0500", oob_path_exists], node=node_name) + + AssertCommand(["gnt-cluster", "verify"]) + finally: + for node in qa_config.get("nodes"): + node_name = node["primary"] + AssertCommand(["rm", oob_path_exists], node=node_name) + + AssertCommand(["gnt-cluster", "modify", "--node-parameters", + "oob_program="]) AssertCommand(["gnt-cluster", "verify"])