--select-instances hbal manpage update
[ganeti-local] / qa / qa_node.py
index 30e5853..6859cb9 100644 (file)
@@ -240,7 +240,8 @@ def _AssertOobCall(verify_path, expected_args):
   master = qa_config.GetMasterNode()
 
   verify_output_cmd = utils.ShellQuoteArgs(["cat", verify_path])
-  output = qa_utils.GetCommandOutput(master["primary"], verify_output_cmd)
+  output = qa_utils.GetCommandOutput(master["primary"], verify_output_cmd,
+                                     tty=False)
 
   AssertEqual(expected_args, output.strip())
 
@@ -251,6 +252,7 @@ def TestOutOfBand():
 
   node = qa_config.AcquireNode(exclude=master)
 
+  master_name = master["primary"]
   node_name = node["primary"]
   full_node_name = qa_utils.ResolveNodeName(node)
 
@@ -267,9 +269,16 @@ def TestOutOfBand():
     AssertCommand(["gnt-node", "power", "on", node_name])
     _AssertOobCall(verify_path, "power-on %s" % full_node_name)
 
-    AssertCommand(["gnt-node", "power", "off", node_name])
+    AssertCommand(["gnt-node", "power", "-f", "off", node_name])
     _AssertOobCall(verify_path, "power-off %s" % full_node_name)
 
+    # Power off on master without options should fail
+    AssertCommand(["gnt-node", "power", "-f", "off", master_name], fail=True)
+    # With force master it should still fail
+    AssertCommand(["gnt-node", "power", "-f",  "--ignore-status", "off",
+                   master_name],
+                  fail=True)
+
     # Verify we can't transform back to online when not yet powered on
     AssertCommand(["gnt-node", "modify", "-O", "no", node_name],
                   fail=True)
@@ -277,7 +286,7 @@ def TestOutOfBand():
     AssertCommand(["gnt-node", "modify", "-O", "no", "--node-powered", "yes",
                    node_name])
 
-    AssertCommand(["gnt-node", "power", "cycle", node_name])
+    AssertCommand(["gnt-node", "power", "-f", "cycle", node_name])
     _AssertOobCall(verify_path, "power-cycle %s" % full_node_name)
 
     # Those commands should fail as they expect output which isn't provided yet
@@ -312,12 +321,12 @@ def TestOutOfBand():
     _AssertOobCall(verify_path, "power-on %s" % full_node_name)
 
     try:
-      AssertCommand(["gnt-node", "power", "off", node_name], fail=True)
+      AssertCommand(["gnt-node", "power", "-f", "off", node_name], fail=True)
       _AssertOobCall(verify_path, "power-off %s" % full_node_name)
     finally:
       AssertCommand(["gnt-node", "modify", "-O", "no", node_name])
 
-    AssertCommand(["gnt-node", "power", "cycle", node_name], fail=True)
+    AssertCommand(["gnt-node", "power", "-f", "cycle", node_name], fail=True)
     _AssertOobCall(verify_path, "power-cycle %s" % full_node_name)
 
     # Data, exit 1 (all should fail)
@@ -327,12 +336,12 @@ def TestOutOfBand():
     _AssertOobCall(verify_path, "power-on %s" % full_node_name)
 
     try:
-      AssertCommand(["gnt-node", "power", "off", node_name], fail=True)
+      AssertCommand(["gnt-node", "power", "-f", "off", node_name], fail=True)
       _AssertOobCall(verify_path, "power-off %s" % full_node_name)
     finally:
       AssertCommand(["gnt-node", "modify", "-O", "no", node_name])
 
-    AssertCommand(["gnt-node", "power", "cycle", node_name], fail=True)
+    AssertCommand(["gnt-node", "power", "-f", "cycle", node_name], fail=True)
     _AssertOobCall(verify_path, "power-cycle %s" % full_node_name)
 
     AssertCommand(["gnt-node", "power", "status", node_name],
@@ -351,12 +360,12 @@ def TestOutOfBand():
     _AssertOobCall(verify_path, "power-on %s" % full_node_name)
 
     try:
-      AssertCommand(["gnt-node", "power", "off", node_name], fail=True)
+      AssertCommand(["gnt-node", "power", "-f", "off", node_name], fail=True)
       _AssertOobCall(verify_path, "power-off %s" % full_node_name)
     finally:
       AssertCommand(["gnt-node", "modify", "-O", "no", node_name])
 
-    AssertCommand(["gnt-node", "power", "cycle", node_name], fail=True)
+    AssertCommand(["gnt-node", "power", "-f", "cycle", node_name], fail=True)
     _AssertOobCall(verify_path, "power-cycle %s" % full_node_name)
 
     AssertCommand(["gnt-node", "power", "status", node_name],