Initted default limits before connecting to NM for first time in case NM except'ns.
authorFaiyaz Ahmed <faiyaza@cs.princeton.edu>
Mon, 10 Jul 2006 19:19:07 +0000 (19:19 +0000)
committerFaiyaz Ahmed <faiyaza@cs.princeton.edu>
Mon, 10 Jul 2006 19:19:07 +0000 (19:19 +0000)
bwmon.py

index 3f34b12..6274ee8 100755 (executable)
--- a/bwmon.py
+++ b/bwmon.py
@@ -15,7 +15,7 @@
 # Faiyaz Ahmed <faiyaza@cs.princeton.edu>
 # Copyright (C) 2004-2006 The Trustees of Princeton University
 #
 # Faiyaz Ahmed <faiyaza@cs.princeton.edu>
 # Copyright (C) 2004-2006 The Trustees of Princeton University
 #
-# $Id: bwmon.py,v 1.4 2006/06/02 04:00:00 mlhuang Exp $
+# $Id: bwmon.py,v 1.6 2006/07/10 15:19:35 faiyaza Exp $
 #
 
 import syslog
 #
 
 import syslog
@@ -97,9 +97,13 @@ class Slice:
     def __init__(self, xid, name, maxrate, maxexemptrate, bytes, exemptbytes):
         self.xid = xid
         self.name = name
     def __init__(self, xid, name, maxrate, maxexemptrate, bytes, exemptbytes):
         self.xid = xid
         self.name = name
+       self._maxrate = default_maxrate
        self.last_maxrate = default_maxrate
        self.last_maxrate = default_maxrate
+       self.avgrate = default_avgrate
        self.last_avgrate = default_avgrate
        self.last_avgrate = default_avgrate
+       self.avgexemptrate = default_avgexemptrate      
        self.last_avgexemptrate = default_avgexemptrate 
        self.last_avgexemptrate = default_avgexemptrate 
+       self.maxexemptrate = default_maxexemptrate      
        self.last_maxexemptrate = default_maxexemptrate 
         self.reset(maxrate, maxexemptrate, bytes, exemptbytes)
 
        self.last_maxexemptrate = default_maxexemptrate 
         self.reset(maxrate, maxexemptrate, bytes, exemptbytes)
 
@@ -119,6 +123,10 @@ class Slice:
         self.bytes = bytes
         self.exemptbytes = exemptbytes
 
         self.bytes = bytes
         self.exemptbytes = exemptbytes
 
+       #If NM except"ns below, and new_max* doesn't get set, use last.
+       new_maxrate = self.last_maxrate
+       new_maxexemptrate = self.last_maxexemptrate
+
         # Query Node Manager for max rate overrides
        try:
                vals = nm.query(self.name, [('nm_net_max_rate', self.last_maxrate),
         # Query Node Manager for max rate overrides
        try:
                vals = nm.query(self.name, [('nm_net_max_rate', self.last_maxrate),
@@ -290,11 +298,11 @@ def main():
         (version, slices) = pickle.load(f)
         f.close()
         # Check version of data file
         (version, slices) = pickle.load(f)
         f.close()
         # Check version of data file
-        if version != "$Id: bwmon.py,v 1.4 2006/06/02 04:00:00 mlhuang Exp $":
+        if version != "$Id: bwmon.py,v 1.6 2006/07/10 15:19:35 faiyaza Exp $":
             print "Not using old version '%s' data file %s" % (version, datafile)
             raise Exception
     except Exception:
             print "Not using old version '%s' data file %s" % (version, datafile)
             raise Exception
     except Exception:
-        version = "$Id: bwmon.py,v 1.4 2006/06/02 04:00:00 mlhuang Exp $"
+        version = "$Id: bwmon.py,v 1.6 2006/07/10 15:19:35 faiyaza Exp $"
         slices = {}
 
     # Get special slice IDs
         slices = {}
 
     # Get special slice IDs