import soltesz
cmd = soltesz.CMD()
- cmd_str = "IntelAMTSDK/Samples/RemoteControl/remoteControl"
+ #[cmd_str = "IntelAMTSDK/Samples/RemoteControl/remoteControl"
+ cmd_str = "cmdamt/remoteControl"
if dryrun:
# NOTE: -p checks the power state of the host.
self.close()
return 0
+class CustomPCU(PCUControl):
+ def run(self, node_port, dryrun):
+ url = "https://www-itec.uni-klu.ac.at/plab-pcu/index.php"
+
+ if not dryrun:
+ # Turn host off, then on
+ formstr = "plab%s=off" % node_port
+ os.system("curl --user %s:%s --form '%s' --insecure %s" % (self.username, self.password, formstr, url))
+ time.sleep(5)
+ formstr = "plab%s=on" % node_port
+ os.system("curl --user %s:%s --form '%s' --insecure %s" % (self.username, self.password, formstr, url))
+ else:
+ os.system("curl --user %s:%s --insecure %s" % (self.username, self.password, url))
+
class ePowerSwitchOld(PCUControl):
def run(self, node_port, dryrun):
try:
# DataProbe iPal (many sites)
- if continue_probe and values['model'].find("Dataprobe IP-41x/IP-81x") >= 0:
+ if continue_probe and values['model'].find("IP-41x_IP-81x") >= 0:
ipal = IPAL(values, verbose, ['23', '80', '9100'])
rb_ret = ipal.reboot(values[nodename], dryrun)
# APC Masterswitch (Berkeley)
- elif continue_probe and values['model'].find("APC AP79xx/Masterswitch") >= 0:
+ elif continue_probe and ( values['model'].find("AP79xx") >= 0 or \
+ values['model'].find("Masterswitch") >= 0 ):
print values
# TODO: make a more robust version of APC
rb_ret = apc.reboot(values[nodename], dryrun)
# BayTech DS4-RPC
- elif continue_probe and values['model'].find("Baytech DS4-RPC") >= 0:
+ elif continue_probe and values['model'].find("DS4-RPC") >= 0:
if values['pcu_id'] in [1237,1052,1209,1002,1008,1041,1013,1022]:
# These require a 'ctrl-c' to be sent...
baytech = BayTechCtrlC(values, verbose, ['22', '23'])
rb_ret = baytech.reboot(values[nodename], dryrun)
# iLO
- elif continue_probe and values['model'].find("HP iLO") >= 0:
+ elif continue_probe and values['model'].find("ilo") >= 0:
try:
hpilo = HPiLO(values, verbose, ['22'])
rb_ret = hpilo.reboot(0, dryrun)
rb_ret = hpilo.reboot(0, dryrun)
# DRAC ssh
- elif continue_probe and values['model'].find("Dell RAC") >= 0:
+ elif continue_probe and values['model'].find("DRAC") >= 0:
# TODO: I don't think DRACRacAdm will throw an exception for the
# default method to catch...
try:
wti = WTIIPS4(values, verbose, ['23'])
rb_ret = wti.reboot(values[nodename], dryrun)
- elif continue_probe and values['model'].find("Intel AMT") >= 0:
+ elif continue_probe and values['model'].find("AMT") >= 0:
amt = IntelAMT(values, verbose, ['16992'])
rb_ret = amt.reboot(values[nodename], dryrun)
# BlackBox PSExxx-xx (e.g. PSE505-FR)
- elif continue_probe and \
- (values['model'].find("BlackBox PS5xx") >= 0 or
- values['model'].find("ePowerSwitch 1/4/8x") >=0 ):
-
+ elif continue_probe and values['model'].find("ePowerSwitch") >=0:
# TODO: allow a different port than http 80.
if values['pcu_id'] in [1089, 1071, 1046, 1035, 1118]:
eps = ePowerSwitchGood(values, verbose, ['80'])
eps = ePowerSwitchGood(values, verbose, ['80'])
rb_ret = eps.reboot(values[nodename], dryrun)
+ elif continue_probe and values['pcu_id'] in [1122]:
+ custom = CustomPCU(values, verbose, ['80', '443'])
+ custom.reboot(values[nodename], dryrun)
elif continue_probe:
rb_ret = "Unsupported_PCU"