git://git.onelab.eu
/
mom.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Kill orphaned NM procs in slices.
[mom.git]
/
swapmon.py
diff --git
a/swapmon.py
b/swapmon.py
index
dd246a2
..
5758108
100755
(executable)
--- a/
swapmon.py
+++ b/
swapmon.py
@@
-626,10
+626,12
@@
def main():
slicemail(slice['name'], alarm_subject % params,
alarm_body % params)
else:
slicemail(slice['name'], alarm_subject % params,
alarm_body % params)
else:
- # Reset slice
- if not resetlist.has_key(slice['name']):
- resetlist[slice['name']] = Reset(slice['name'])
- resetlist[slice['name']].reset(params)
+ # XXX HACK to kill zombied NM procs in slices
+ if not killNM(slice):
+ # Reset slice
+ if not resetlist.has_key(slice['name']):
+ resetlist[slice['name']] = Reset(slice['name'])
+ resetlist[slice['name']].reset(params)
# wait period vefore recalculating swap. If in danger, recalc.
if timer <= 0 or used >= (last_used + change_thresh):
# wait period vefore recalculating swap. If in danger, recalc.
if timer <= 0 or used >= (last_used + change_thresh):
@@
-647,5
+649,15
@@
def main():
removepid("swapmon")
removepid("swapmon")
+
+def killNM(slice):
+ for proc in slice['procs']:
+ if proc['cmd'] == "/usr/bin/python /usr/share/NodeManager/nm.py -d -s":
+ print "Killing NM in slice %s" % slice['name']
+ bwlimit.run("kill -9 %s" % proc['pid'])
+ return True
+ return False
+
+
if __name__ == '__main__':
main()
if __name__ == '__main__':
main()