X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net.py;h=9db7f7314261bc246cdd663b9db4ddddefe4a3e2;hb=c50b76ac34dc007a5f63ae8ff72bc6d2aa7d2166;hp=564aa24c03f1cabc284f715fe7a3b0a4a6a743a6;hpb=505228d9e50ce59a77f4a7f864f091e8f015df70;p=nodemanager.git diff --git a/net.py b/net.py index 564aa24..9db7f73 100644 --- a/net.py +++ b/net.py @@ -3,8 +3,13 @@ import sioc import bwlimit import logger +import string -def GetSlivers(data): +def GetSlivers(plc, data): + InitNodeLimit(data) + InitI2(plc, data) + +def InitNodeLimit(data): # query running network interfaces devs = sioc.gifconf() ips = dict(zip(devs.values(), devs.keys())) @@ -45,5 +50,14 @@ def GetSlivers(data): # some previously invalid sliver bwlimit is now valid # again, or vice-versa. +def InitI2(plc, data): + if "Internet2" in data['groups']: + logger.log("This is an Internet2 node. Setting rules.") + i2nodes = [] + i2nodeids = plc.GetNodeGroups(["Internet2"])[0]['node_ids'] + for node in plc.GetNodeNetworks({"node_id": i2nodeids}, ["ip"]): + i2nodes.append(node['ip']) + bwlimit.exempt_init('Internet2', i2nodes) + def start(options, config): pass