inital checkin
authorTony Mack <tmack@cs.princeton.edu>
Tue, 29 Jan 2008 21:57:27 +0000 (21:57 +0000)
committerTony Mack <tmack@cs.princeton.edu>
Tue, 29 Jan 2008 21:57:27 +0000 (21:57 +0000)
qaapi/qa/tests/node_remote_call.py [new file with mode: 0755]

diff --git a/qaapi/qa/tests/node_remote_call.py b/qaapi/qa/tests/node_remote_call.py
new file mode 100755 (executable)
index 0000000..4a53b12
--- /dev/null
@@ -0,0 +1,29 @@
+#!/usr/bin/python
+import os, sys
+from Test import Test
+from qa import utils
+
+class node_remote_call(Test):
+    """
+    Attempt to connect to a node using the plc root key and
+    issue a command.
+    """
+
+    def call(self, root_key_path, hostname, command):
+       if not os.path.isfile(root_key_path):
+           raise Exception, "no such private key file %(root_key_path)s" % locals()
+        
+       full_command = "ssh -i %(root_key_path)s root@%(hostname)s %(command)s" % locals()
+       if self.config.verbose:
+           utils.header(full_command)
+       (stdout, stderr) = utils.popen(full_command)
+       
+       if self.config.verbose:
+           utils.header("\n".join(stdout))
+
+
+       return 1 
+
+if  __name__ == '__main__':
+    args = tuple(sys.argv[1:])
+    plc_remote_call()(*args)