From cc810e912be1f57919a97e334738442951952bc3 Mon Sep 17 00:00:00 2001 From: Mark Huang Date: Tue, 6 Feb 2007 22:29:34 +0000 Subject: [PATCH] merge changes from HEAD --- sliver_vs.py | 8 +++++++- sm.py | 14 ++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/sliver_vs.py b/sliver_vs.py index b757400..29ab5ba 100644 --- a/sliver_vs.py +++ b/sliver_vs.py @@ -111,7 +111,13 @@ class Sliver_VS(accounts.Account, vserver.VServer): logger.log('%s: failed to set max disk usage' % self.name) logger.log_exc() - net_limits = (self.rspec['net_min_rate'], self.rspec['net_max_rate'], self.rspec['net_i2_min_rate'], self.rspec['net_i2_max_rate'], self.rspec['net_share']) + # N.B. net_*_rate are in kbps because of XML-RPC maxint + # limitations, convert to bps which is what bwlimit.py expects. + net_limits = (self.rspec['net_min_rate'] * 1000, + self.rspec['net_max_rate'] * 1000, + self.rspec['net_i2_min_rate'] * 1000, + self.rspec['net_i2_max_rate'] * 1000, + self.rspec['net_share']) logger.log('%s: setting net limits to %s bps' % (self.name, net_limits[:-1])) logger.log('%s: setting net share to %d' % (self.name, net_limits[-1])) self.set_bwlimit(*net_limits) diff --git a/sm.py b/sm.py index cdb42ee..956a11e 100644 --- a/sm.py +++ b/sm.py @@ -23,12 +23,12 @@ DEFAULT_ALLOCATION = { 'cpu_min': 0, # ms/s 'cpu_share': 32, # proportional share # bandwidth parameters - 'net_min_rate': bwmin, # bps - 'net_max_rate': bwmax, # bps + 'net_min_rate': bwmin / 1000, # kbps + 'net_max_rate': bwmax / 1000, # kbps 'net_share': 1, # proportional share # bandwidth parameters over routes exempt from node bandwidth limits - 'net_i2_min_rate': bwmin, # bps - 'net_i2_max_rate': bwmax, # bps + 'net_i2_min_rate': bwmin / 1000, # kbps + 'net_i2_max_rate': bwmax / 1000, # kbps 'net_i2_share': 1, # proportional share 'disk_max': 5000000 # bytes } @@ -51,6 +51,12 @@ def GetSlivers(data, fullupdate=True): except: logger.log_exc() if data.has_key('node_id') and data['node_id'] != node_id: return + + if data.has_key('networks'): + for network in data['networks']: + if network['is_primary'] and network['bwlimit'] is not None: + DEFAULT_ALLOCATION['net_max_rate'] = network['bwlimit'] / 1000 + for sliver in data['slivers']: rec = sliver.copy() rec.setdefault('timestamp', data['timestamp']) -- 2.43.0