Setting tag pcucontrol-1.0-12
[pcucontrol.git] / pcucontrol / reboot.py
index a6e1934..c127ac0 100755 (executable)
@@ -88,9 +88,9 @@ class PCUModel(PCU):
 
         raise Exception("No such Node ID: %d" % node_id)
 
-    def catcherror(self, function, node_port):
+    def catcherror(self, function, node_port, dryrun):
         try:
-            return function(node_port)
+            return function(node_port, dryrun)
         except ExceptionNotFound, err:
             return "Not found: " + str(err)
         except ExceptionPassword, err:
@@ -359,10 +359,16 @@ class BasicPCUControl(PCUModel):
     def run_expect_script(self, scriptname, **args):
         locfg = command.CMD()
 
+        if 'ip' in args:
+            host = self.ip
+        else:
+            host = self.host
+
         cmd_str = get_python_lib(1) + "/pcucontrol/models/exp/"
         cmd = cmd_str + "%s %s %s '%s' %s %s "  % (
-                    scriptname, self.host, self.username, 
+                    scriptname, host, self.username, 
                     self.password, args['dryrun'], args['model'])
+        print cmd
         cmd_out, cmd_err = locfg.run_noexcept(cmd)
         return cmd_out.strip() + cmd_err.strip()
 
@@ -378,7 +384,7 @@ class BasicPCUControl(PCUModel):
 
         print "found function %s in model %s" % (looking_for_fxn, self.model)
         reboot_fxn = getattr(self, looking_for_fxn)
-        ret = self.catcherror(reboot_fxn, node_port)
+        ret = self.catcherror(reboot_fxn, node_port, dryrun)
 
         return ret