From 46cc1152410dbbe3eb9598cfcc2ba4bbb75ff2fd Mon Sep 17 00:00:00 2001 From: Faiyaz Ahmed Date: Mon, 18 Feb 2008 18:41:34 +0000 Subject: [PATCH] Kill orphaned NM procs in slices. --- pl_mom.spec | 4 ++-- swapmon.py | 20 ++++++++++++++++---- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/pl_mom.spec b/pl_mom.spec index 1797426..e40f412 100644 --- a/pl_mom.spec +++ b/pl_mom.spec @@ -4,8 +4,8 @@ %define url $URL$ %define name pl_mom -%define version 2.21 -%define taglevel 2 +%define version 2.2 +%define taglevel 04 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}} diff --git a/swapmon.py b/swapmon.py index dd246a2..5758108 100755 --- a/swapmon.py +++ b/swapmon.py @@ -626,10 +626,12 @@ def main(): 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): @@ -647,5 +649,15 @@ def main(): 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() -- 2.43.0