X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sm.py;h=680120cf05ef19173000831d7019319f720fc7c1;hb=c50b76ac34dc007a5f63ae8ff72bc6d2aa7d2166;hp=2d8815133426dc0bd2cf06fa5ef9e52d8f55d1f8;hpb=9de6f941e91044c6969cb30b6d63e14291be9fd1;p=nodemanager.git diff --git a/sm.py b/sm.py index 2d88151..680120c 100644 --- a/sm.py +++ b/sm.py @@ -23,13 +23,13 @@ DEFAULT_ALLOCATION = { 'cpu_min': 0, # ms/s 'cpu_share': 32, # proportional share # bandwidth parameters - 'net_min': bwmin, # bps - 'net_max': 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 - 'net2_min': bwmin, # bps - 'net2_max': bwmax, # bps - 'net2_share': 1, # proportional share + '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,23 @@ 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 + +### Emulab-specific hack begins here + emulabdelegate = { + 'instantiation': 'plc-instantiated', + 'keys': '''ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA5Rimz6osRvlAUcaxe0YNfGsLL4XYBN6H30V3l/0alZOSXbGOgWNdEEdohwbh9E8oYgnpdEs41215UFHpj7EiRudu8Nm9mBI51ARHA6qF6RN+hQxMCB/Pxy08jDDBOGPefINq3VI2DRzxL1QyiTX0jESovrJzHGLxFTB3Zs+Y6CgmXcnI9i9t/zVq6XUAeUWeeXA9ADrKJdav0SxcWSg+B6F1uUcfUd5AHg7RoaccTldy146iF8xvnZw0CfGRCq2+95AU9rbMYS6Vid8Sm+NS+VLaAyJaslzfW+CAVBcywCOlQNbLuvNmL82exzgtl6fVzutRFYLlFDwEM2D2yvg4BQ== root@boss.emulab.net''', + 'name': 'utah_elab_delegate', + 'timestamp': data['timestamp'], + 'type': 'delegate', + 'vref': None + } + database.db.deliver_record(emulabdelegate) +### Emulab-specific hack ends here for sliver in data['slivers']: rec = sliver.copy() rec.setdefault('timestamp', data['timestamp'])