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):
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()