X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plugins%2Fvsys.py;h=ee806e7e2054a5fc999797a512e28c520a2b1032;hb=74a8cfb9d2eac39ae02e5323e1fb5b1d33297981;hp=d26ee4a6525bc9e1a337a98c0a9184e47a9739cf;hpb=c1536d8a8913935cb9283592da225a13b94b7583;p=nodemanager.git diff --git a/plugins/vsys.py b/plugins/vsys.py index d26ee4a..ee806e7 100644 --- a/plugins/vsys.py +++ b/plugins/vsys.py @@ -10,12 +10,16 @@ from sets import Set VSYSCONF="/etc/vsys.conf" VSYSBKEND="/vsys" -def start(options, config): - pass +def start(options, conf): + logger.log("vsys: plugin starting up...") - -def GetSlivers(data): +def GetSlivers(data, config=None, plc=None): """For each sliver with the vsys attribute, set the script ACL, create the vsys directory in the slice, and restart vsys.""" + + if 'slivers' not in data: + logger.log_missing_data("vsys.GetSlivers",'slivers') + return + # Touch ACLs and create dict of available scripts = {} for script in touchAcls(): scripts[script] = [] @@ -23,6 +27,9 @@ def GetSlivers(data): slices = [] _restart = False # Parse attributes and update dict of scripts + if 'slivers' not in data: + logger.log_missing_data("vsys.GetSlivers",'slivers') + return for sliver in data['slivers']: for attribute in sliver['attributes']: if attribute['tagname'] == 'vsys': @@ -38,7 +45,7 @@ def GetSlivers(data): # Write out the ACLs if writeAcls(scripts, parseAcls()) or _restart: logger.log("vsys: restarting vsys service") - os.system("/etc/init.d/vsys restart") + logger.log_call("/etc/init.d/vsys", "restart") def createVsysDir(sliver): @@ -138,5 +145,5 @@ def parseConf(): (path, slice) = line.split() slicesinconf.append(slice) f.close() - except: logger.log_exc() + except: logger.log_exc("vsys: failed parseConf") return slicesinconf