X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=pcucontrol%2Fmodels%2FOpenIPMI.py;fp=pcucontrol%2Fmodels%2FOpenIPMI.py;h=f52ea3946284334a766c8f7c4d4b5f3ffa37ddcf;hb=c40d1a5b09026d2c7b52dfd029326bcaa23dff82;hp=0000000000000000000000000000000000000000;hpb=e681fa930140377f86c7d6630367218ab81f588c;p=pcucontrol.git diff --git a/pcucontrol/models/OpenIPMI.py b/pcucontrol/models/OpenIPMI.py new file mode 100644 index 0000000..f52ea39 --- /dev/null +++ b/pcucontrol/models/OpenIPMI.py @@ -0,0 +1,25 @@ + +from pcucontrol.reboot import * + +class OpenIPMI(PCUControl): + + supported_ports = [80,443,623] + + # TODO: get exit codes to determine success or failure... + def run_https(self, node_port, dryrun): + + if not dryrun: + cmd = "ipmitool -I lanplus -H %s -U %s -P '%s' power cycle " + (i,p) = os.popen4(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 " + (i,p) = os.popen4(cmd % ( self.host, self.username, self.password) ) + result = p.read() + print "RESULT: ", result + + if "Error" in result: + return result + else: + return 0