From: Faiyaz Ahmed Date: Fri, 7 Mar 2008 22:24:31 +0000 (+0000) Subject: Bug fix for caching dead slices. X-Git-Tag: 1.7-3~19 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=90a0daa0673b703f50cd19338c63e0f2b8425614;p=nodemanager.git Bug fix for caching dead slices. --- diff --git a/bwmon.py b/bwmon.py index 3609289..b98a937 100644 --- a/bwmon.py +++ b/bwmon.py @@ -574,7 +574,6 @@ def sync(nmdbcopy): slices[slicenodat] = Slice(slicenodat, live[slicenodat]['name'], live[slicenodat]['_rspec']) - else: bwlimit.off(slicenodat) # Abandoned. it doesnt exist at PLC or the dat # Get new slices. # Slices in GetSlivers but not running HTBs @@ -633,13 +632,15 @@ def sync(nmdbcopy): deaddb[slices[deadxid].name] = {'slice': slices[deadxid], 'htb': kernelhtbs[deadxid]} del slices[deadxid] if kernelhtbs.has_key(deadxid): + logger.log("bwmon: Removing HTB for %s." % deadxid, 2) bwlimit.off(deadxid) - - # Clean up deaddb - for deadslice in deaddb.itervalues(): - if (time.time() >= (deadslice['slice'].time + period)): - logger.log("bwmon: Removing dead slice %s from dat." % deadslice.name) - del deaddb[deadslice['slice'].name] + + # Clean up deaddb + for deadslice in deaddb.keys(): + if (time.time() >= (deaddb[deadslice]['slice'].time + period)): + logger.log("bwmon: Removing dead slice %s from dat." \ + % deaddb[deadslice]['slice'].name) + del deaddb[deadslice] # Get actual running values from tc since we've added and removed buckets. # Update slice totals and bandwidth. {xid: {values}} @@ -665,7 +666,7 @@ def sync(nmdbcopy): kernelhtbs[xid]['usedi2bytes'], \ live[xid]['_rspec']) else: - logger.log("bwmon: Updating slice %s" % slice.name, 2) + logger.log("bwmon: Updating slice %s" % slice.name, 2) # Update byte counts slice.update(kernelhtbs[xid]['maxrate'], \ kernelhtbs[xid]['maxexemptrate'], \