git://git.onelab.eu
/
monitor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
pull in additional changes from 2.0 branch.
[monitor.git]
/
pcucontrol
/
models
/
IPAL.py
diff --git
a/pcucontrol/models/IPAL.py
b/pcucontrol/models/IPAL.py
index
75668db
..
641326f
100644
(file)
--- a/
pcucontrol/models/IPAL.py
+++ b/
pcucontrol/models/IPAL.py
@@
-17,11
+17,14
@@
class IPAL(PCUControl):
try:
# TODO: make sleep backoff, before stopping.
try:
# TODO: make sleep backoff, before stopping.
- time.sleep(
4
)
+ time.sleep(
8
)
ret = s.recv(count, socket.MSG_DONTWAIT)
except socket.error, e:
if e[0] == errno.EAGAIN:
ret = s.recv(count, socket.MSG_DONTWAIT)
except socket.error, e:
if e[0] == errno.EAGAIN:
- raise Exception(e[1])
+ #raise Exception(e[1])
+ raise ExceptionNotFound(e[1])
+ elif e[0] == errno.ETIMEDOUT:
+ raise ExceptionTimeout(e[1])
else:
# TODO: not other exceptions.
raise Exception(e)
else:
# TODO: not other exceptions.
raise Exception(e)
@@
-78,7
+81,9
@@
class IPAL(PCUControl):
s.close()
if e[0] == errno.ECONNREFUSED:
# cannot connect to remote host
s.close()
if e[0] == errno.ECONNREFUSED:
# cannot connect to remote host
- raise Exception(e[1])
+ raise ExceptionNotFound(e[1])
+ elif e[0] == errno.ETIMEDOUT:
+ raise ExceptionTimeout(e[1])
else:
# TODO: what other conditions are there?
raise Exception(e)
else:
# TODO: what other conditions are there?
raise Exception(e)
@@
-90,7
+95,7
@@
class IPAL(PCUControl):
print "Current status is '%s'" % ret
if ret == '':
print "Current status is '%s'" % ret
if ret == '':
- raise Exception("Status returned 'another session already open'
%s : %s" % (
node_port, ret))
+ raise Exception("Status returned 'another session already open'
on %s %s : %s" % (self.host,
node_port, ret))
if node_port < len(ret):
status = ret[node_port]
if node_port < len(ret):
status = ret[node_port]
@@
-100,10
+105,12
@@
class IPAL(PCUControl):
elif status == '0':
# down
power_on = False
elif status == '0':
# down
power_on = False
+ elif status == '6':
+ raise ExceptionPort("IPAL reported 'Cable Error' on %s socket %s : %s" % (self.host, node_port, ret))
else:
else:
- raise Exception("Unknown status for PCU
socket %s : %s" % (
node_port, ret))
+ raise Exception("Unknown status for PCU
%s socket %s : %s" % (self.host,
node_port, ret))
else:
else:
- raise Exception("Mismatch between configured port and PCU
status: %s %s" % (
node_port, ret))
+ raise Exception("Mismatch between configured port and PCU
%s status: %s %s" % (self.host,
node_port, ret))
if not dryrun:
if not dryrun:
@@
-128,10
+135,12
@@
class IPAL(PCUControl):
elif status == '0':
# down
power_on = False
elif status == '0':
# down
power_on = False
+ elif status == '6':
+ raise ExceptionPort("IPAL reported 'Cable Error' on %s socket %s : %s" % (self.host, node_port, ret))
else:
else:
- raise Exception("Unknown status for PCU
socket %s : %s" % (
node_port, ret))
+ raise Exception("Unknown status for PCU
%s socket %s : %s" % (self.host,
node_port, ret))
else:
else:
- raise Exception("Mismatch between configured port and PCU
status: %s %s" % (
node_port, ret))
+ raise Exception("Mismatch between configured port and PCU
%s status: %s %s" % (self.host,
node_port, ret))
if power_on:
return 0
if power_on:
return 0