- deal with error results from NM correctly, and don't give up after a single error
[mom.git] / bwmon.py
index b6f5697..1abdda1 100755 (executable)
--- a/bwmon.py
+++ b/bwmon.py
@@ -14,7 +14,7 @@
 # Andy Bavier <acb@cs.princeton.edu>
 # Copyright (C) 2004-2006 The Trustees of Princeton University
 #
-# $Id: bwmon.py,v 1.2 2006/04/28 20:25:19 mlhuang Exp $
+# $Id: bwmon.py,v 1.3 2006/05/08 17:37:28 mlhuang Exp $
 #
 
 import syslog
@@ -111,12 +111,12 @@ class Slice:
         self.exemptbytes = exemptbytes
 
         # Query Node Manager for max rate overrides
-        (new_maxrate, new_maxexemptrate) = nm.query(self.name, ['nm_net_max_rate', 'nm_net_max_exempt_rate'])
-        if new_maxrate is not None:
+        (new_maxrate, new_maxexemptrate) = nm.query(self.name, [('nm_net_max_rate', -1), ('nm_net_max_exempt_rate', -1)])
+        if new_maxrate != -1:
             new_maxrate *= 1000
         else:
             new_maxrate = default_maxrate
-        if new_maxexemptrate is not None:
+        if new_maxexemptrate != -1:
             new_maxexemptrate *= 1000
         else:
             new_maxexemptrate = default_maxexemptrate
@@ -140,10 +140,10 @@ class Slice:
         """
 
         # Query Node Manager for max average rate overrides
-        (self.avgrate, self.avgexemptrate) = nm.query(self.name, ['nm_net_avg_rate', 'nm_net_avg_exempt_rate'])
-        if self.avgrate is None:
+        (self.avgrate, self.avgexemptrate) = nm.query(self.name, [('nm_net_avg_rate', -1), ('nm_net_avg_exempt_rate', -1)])
+        if self.avgrate == -1:
             self.avgrate = default_avgrate
-        if self.avgexemptrate is None:
+        if self.avgexemptrate == -1:
             self.avgexemptrate = default_avgexemptrate
 
         # Prepare message parameters from the template
@@ -273,11 +273,11 @@ def main():
         (version, slices) = pickle.load(f)
         f.close()
         # Check version of data file
-        if version != "$Id: bwmon.py,v 1.2 2006/04/28 20:25:19 mlhuang Exp $":
+        if version != "$Id: bwmon.py,v 1.3 2006/05/08 17:37:28 mlhuang Exp $":
             print "Not using old version '%s' data file %s" % (version, datafile)
             raise Exception
     except Exception:
-        version = "$Id: bwmon.py,v 1.2 2006/04/28 20:25:19 mlhuang Exp $"
+        version = "$Id: bwmon.py,v 1.3 2006/05/08 17:37:28 mlhuang Exp $"
         slices = {}
 
     # Get special slice IDs