remove unnecessary debug messages
[pcucontrol.git] / pcucontrol / reboot.py
index eef8d2e..f273348 100755 (executable)
@@ -310,7 +310,7 @@ class PCUControl(PCUModel,PCURecord):
             if port_list == []:
                 raise ExceptionPort("No Open Port: No transport from open ports")
 
-        print port_list
+        #print port_list
 
         ret = "No implementation for open ports on selected PCU model"
         for port in port_list:
@@ -320,9 +320,9 @@ class PCUControl(PCUModel,PCURecord):
             type = Transport.porttypemap[port]
             self.transport = Transport(type, verbose)
 
-            print "checking for run_%s" % type
+            #print "checking for run_%s" % type
             if hasattr(self, "run_%s" % type):
-                print "found run_%s" % type
+                #print "found run_%s" % type
                 fxn = getattr(self, "run_%s" % type)
                 ret = self.catcherror(fxn, node_port, dryrun)
                 if ret == 0: # NOTE: success!, so stop
@@ -357,14 +357,27 @@ class BasicPCUControl(PCUModel):
         PCUModel.__init__(self, plc_pcu_record)
 
     def run_expect_script(self, scriptname, **args):
+        #print "Running EXPECT: %s" % scriptname
         locfg = command.CMD()
 
+        if 'ip' in args:
+            host = self.ip
+        else:
+            host = self.host
+
+        #print args
+        if 'sequence' in args:
+            seq = " ".join(args['sequence'])
+            seq = "'%s'" % seq
+        else:
+            seq = ""
+
         cmd_str = get_python_lib(1) + "/pcucontrol/models/exp/"
-        cmd = cmd_str + "%s %s %s '%s' %s %s "  % (
-                    scriptname, self.host, self.username, 
-                    self.password, args['dryrun'], args['model'])
-        print cmd
-        cmd_out, cmd_err = locfg.run_noexcept(cmd)
+        cmd = cmd_str + "%s %s %s '%s' %s %s %s"  % (
+                    scriptname, host, self.username, 
+                    self.password, args['dryrun'], args['model'], seq)
+        #print cmd
+        cmd_out, cmd_err = locfg.run_noexcept("expect " + cmd)
         return cmd_out.strip() + cmd_err.strip()
 
     def reboot(self, node_port, dryrun):
@@ -377,7 +390,7 @@ class BasicPCUControl(PCUModel):
         if not hasattr(self, looking_for_fxn):
             raise Exception("This model (%s) does not implement %s" % (self.model, looking_for_fxn))
 
-        print "found function %s in model %s" % (looking_for_fxn, self.model)
+        #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, dryrun)
 
@@ -524,6 +537,21 @@ def reboot_test_new(nodename, values, verbose, dryrun):
 
     return rb_ret
 
+def reboot_simple(nodeid, values, verbose, dryrun):
+    rb_ret = ""
+    try:
+        # Find the index of the given nodeid; use the same index in the ports list
+        port = values['ports'][values['node_ids'].index(nodeid)]
+        object = eval('%s(values, verbose)' % values['model'])
+        rb_ret = object.reboot(port, dryrun)
+        # TODO: how to handle the weird, georgetown pcus, the drac faults, and ilo faults?
+    except ExceptionPort, err:
+        rb_ret = str(err)
+    except NameError, err:
+        rb_ret = str(err)
+
+    return rb_ret
+
 def main():
     print "this does not work."