Uses rspec to calculate bwlimits. Respects sirius loans. Also uses min defaults...
authorFaiyaz Ahmed <faiyaza@cs.princeton.edu>
Mon, 23 Apr 2007 19:36:26 +0000 (19:36 +0000)
committerFaiyaz Ahmed <faiyaza@cs.princeton.edu>
Mon, 23 Apr 2007 19:36:26 +0000 (19:36 +0000)
bwmon.py
nm.py
sm.py

index 40b6361..2806713 100644 (file)
--- a/bwmon.py
+++ b/bwmon.py
@@ -209,7 +209,6 @@ class Slice:
         return self.name
 
     def updateSliceAttributes(self, rspec):
-
         # Get attributes
 
         # Sanity check plus policy decision for MinRate:
@@ -219,52 +218,52 @@ class Slice:
             MinRate = int(.25 * default_MaxRate)
         if MinRate != self.MinRate:
             self.MinRate = MinRate
-            logger.log("bwmon:  Updating %s. Min Rate = %s" %(self.name, self.MinRate))
+            logger.log("bwmon:  Updating %s: Min Rate = %s" %(self.name, self.MinRate))
 
         MaxRate = int(rspec.get('net_max_rate', bwlimit.get_bwcap() / 1000))
         if MaxRate != self.MaxRate:
             self.MaxRate = MaxRate
-            logger.log("bwmon:  Updating %s. Max Rate = %s" %(self.name, self.MaxRate))
+            logger.log("bwmon:  Updating %s: Max Rate = %s" %(self.name, self.MaxRate))
 
         Mini2Rate = int(rspec.get('net_i2_min_rate', default_Mini2Rate))
         if Mini2Rate != self.Mini2Rate:
             self.Mini2Rate = Mini2Rate 
-            logger.log("bwmon:  Updating %s. Min i2 Rate = %s" %(self.name, self.Mini2Rate))
+            logger.log("bwmon:  Updating %s: Min i2 Rate = %s" %(self.name, self.Mini2Rate))
 
         Maxi2Rate = int(rspec.get('net_i2_max_rate', bwlimit.bwmax / 1000))
         if Maxi2Rate != self.Maxi2Rate:
             self.Maxi2Rate = Maxi2Rate
-            logger.log("bwmon:  Updating %s. Max i2 Rate = %s" %(self.name, self.Maxi2Rate))
+            logger.log("bwmon:  Updating %s: Max i2 Rate = %s" %(self.name, self.Maxi2Rate))
                           
         MaxKByte = int(rspec.get('net_max_kbyte', default_MaxKByte))
         if MaxKByte != self.MaxKByte:
             self.MaxKByte = MaxKByte
-            logger.log("bwmon:  Updating %s. Max KByte lim = %s" %(self.name, self.MaxKByte))
+            logger.log("bwmon:  Updating %s: Max KByte lim = %s" %(self.name, self.MaxKByte))
                           
         Maxi2KByte = int(rspec.get('net_i2_max_kbyte', default_Maxi2KByte))
         if Maxi2KByte != self.Maxi2KByte:
             self.Maxi2KByte = Maxi2KByte
-            logger.log("bwmon:  Updating %s. Max i2 KByte = %s" %(self.name, self.Maxi2KByte))
+            logger.log("bwmon:  Updating %s: Max i2 KByte = %s" %(self.name, self.Maxi2KByte))
                           
         ThreshKByte = int(rspec.get('net_thresh_kbyte', default_ThreshKByte))
         if ThreshKByte != self.ThreshKByte:
             self.ThreshKByte = ThreshKByte
-            logger.log("bwmon:  Updating %s. Thresh KByte = %s" %(self.name, self.ThreshKByte))
+            logger.log("bwmon:  Updating %s: Thresh KByte = %s" %(self.name, self.ThreshKByte))
                           
         Threshi2KByte = int(rspec.get('net_i2_thresh_kbyte', default_Threshi2KByte))
         if Threshi2KByte != self.Threshi2KByte:    
             self.Threshi2KByte = Threshi2KByte
-            logger.log("bwmon:  Updating %s. i2 Thresh KByte = %s" %(self.name, self.Threshi2KByte))
+            logger.log("bwmon:  Updating %s: i2 Thresh KByte = %s" %(self.name, self.Threshi2KByte))
  
         Share = int(rspec.get('net_share', default_Share))
         if Share != self.Share:
             self.Share = Share
-            logger.log("bwmon:  Updating %s. Net Share = %s" %(self.name, self.Share))
+            logger.log("bwmon:  Updating %s: Net Share = %s" %(self.name, self.Share))
 
         Sharei2 = int(rspec.get('net_i2_share', default_Share))
         if Sharei2 != self.Sharei2:
             self.Sharei2 = Sharei2 
-            logger.log("bwmon:  Updating %s. Net i2 Share = %s" %(self.name, self.i2Share))
+            logger.log("bwmon:  Updating %s: Net i2 Share = %s" %(self.name, self.i2Share))
 
 
     def reset(self, runningmaxrate, runningmaxi2rate, usedbytes, usedi2bytes, rspec):
diff --git a/nm.py b/nm.py
index 562a52d..c7beebf 100644 (file)
--- a/nm.py
+++ b/nm.py
@@ -24,7 +24,7 @@ parser.add_option('-d', '--daemon', action='store_true', dest='daemon', default=
 parser.add_option('-s', '--startup', action='store_true', dest='startup', default=False, help='run all sliver startup scripts')
 parser.add_option('-f', '--config', action='store', dest='config', default='/etc/planetlab/plc_config', help='PLC configuration file')
 parser.add_option('-k', '--session', action='store', dest='session', default='/etc/planetlab/session', help='API session key (or file)')
-parser.add_option('-p', '--period', action='store', dest='period', default=900, help='Polling interval (sec)')
+parser.add_option('-p', '--period', action='store', dest='period', default=600, help='Polling interval (sec)')
 (options, args) = parser.parse_args()
 
 modules = []
diff --git a/sm.py b/sm.py
index 67730a4..cb90364 100644 (file)
--- a/sm.py
+++ b/sm.py
@@ -30,6 +30,10 @@ DEFAULT_ALLOCATION = {
     'net_i2_min_rate': bwmin / 1000, # kbps
     'net_i2_max_rate': bwmax / 1000, # kbps
     'net_i2_share': 1, # proportional share
+    'net_max_kbyte' : 5662310, #Kbyte
+    'net_thresh_kbyte': 4529848, #Kbyte
+    'net_i2_max_kbyte': 17196646,
+    'net_i2_thresh_kbyte': 13757316,
     'disk_max': 5000000 # bytes
     }