From c50b76ac34dc007a5f63ae8ff72bc6d2aa7d2166 Mon Sep 17 00:00:00 2001 From: Faiyaz Ahmed Date: Fri, 23 Feb 2007 21:21:50 +0000 Subject: [PATCH] Installs iptables for internet2. --- net.py | 16 +++++++++++++++- nm.py | 10 +++++++--- 2 files changed, 22 insertions(+), 4 deletions(-) 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 diff --git a/nm.py b/nm.py index ae92e07..c4760fc 100644 --- a/nm.py +++ b/nm.py @@ -14,7 +14,7 @@ import logger import tools from config import Config -from plcapi import PLCAPI +from plcapi import PLCAPI savedargv = sys.argv[:] @@ -31,9 +31,13 @@ modules = [] def GetSlivers(plc): data = plc.GetSlivers() + # net needs access to API for i2 nodes. for module in modules: - callback = getattr(module, 'GetSlivers') - callback(data) + if module.__name__ == 'net': + module.GetSlivers(plc, data) + else: + callback = getattr(module, 'GetSlivers') + callback(data) def run(): try: -- 2.43.0