+
+class IPMI(PCUControl):
+
+ supported_ports = [80,443,623]
+
+ # TODO: get exit codes to determine success or failure...
+ def run(self, node_port, dryrun):
+
+ if not dryrun:
+ cmd = "ipmitool -I lanplus -H %s -U %s -P '%s' power cycle"
+ p = os.popen(cmd % ( self.host, self.username, self.password) )
+ result = p.read()
+ print "RESULT: ", result
+ else:
+ cmd = "ipmitool -I lanplus -H %s -U %s -P '%s' user list"
+ p = os.popen(cmd % ( self.host, self.username, self.password) )
+ result = p.read()
+ print "RESULT: ", result
+
+ if "Error" in result:
+ return result
+ else:
+ return 0
+