X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net.py;h=25f101e99735fcf392bd5129cfe6e8fa282abf80;hb=5697cb0795d8b4d44b0f65042ae9c6463a7bd681;hp=564aa24c03f1cabc284f715fe7a3b0a4a6a743a6;hpb=07c584a2251b97a6e88e79889b06fdf786e2e5a8;p=nodemanager.git diff --git a/net.py b/net.py index 564aa24..25f101e 100644 --- a/net.py +++ b/net.py @@ -1,10 +1,18 @@ +# +# +# """network configuration""" 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 +53,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