logger.log("vsys: plugin starting up...")
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."""
+ """
+ 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')
+ logger.log_missing_data("vsys.GetSlivers", 'slivers')
return
# Touch ACLs and create dict of available
_restart = False
# Parse attributes and update dict of scripts
if 'slivers' not in data:
- logger.log_missing_data("vsys.GetSlivers",'slivers')
+ logger.log_missing_data("vsys.GetSlivers", 'slivers')
return
for sliver in data['slivers']:
for attribute in sliver['attributes']:
# add to conf
slices.append(sliver['name'])
_restart = createVsysDir(sliver['name']) or _restart
- if attribute['value'] in scripts.keys():
+ if attribute['value'] in list(scripts.keys()):
scripts[attribute['value']].append(sliver['name'])
# Write the conf
# check for systemctl, use it if present
# keyword being 'start', 'stop' or 'restart'
-def handleService (keyword):
+def handleService(keyword):
if tools.has_systemctl():
logger.log("vsys: %s'ing vsys service through systemctl"%keyword)
- return logger.log_call(["systemctl", keyword, "vsys"])
+ return logger.log_call(["systemctl", keyword, "vsys"], timeout=5)
else:
logger.log("vsys: %s'ing vsys service through /etc/init.d/vsys"%keyword)
- return logger.log_call(["/etc/init.d/vsys", keyword])
-def startService(): return handleService ('start')
-def stopService(): return handleService ('stop')
-def restartService(): return handleService ('restart')
+ return logger.log_call(["/etc/init.d/vsys", keyword], timeout=5)
+
+def startService():
+ return handleService ('start')
+def stopService():
+ return handleService ('stop')
+def restartService():
+ return handleService ('restart')
def createVsysDir(sliver):
- '''Create /vsys directory in slice. Update vsys conf file.'''
+ """Create /vsys directory in slice. Update vsys conf file."""
try:
os.mkdir("/vservers/%s/vsys" % sliver)
return True
# not the same as length of values of new scripts,
# and length of non intersection along new scripts is not 0,
# then dicts are different.
- for (acl, oldslivers) in oldscripts.iteritems():
+ for (acl, oldslivers) in oldscripts.items():
try:
if (len(oldslivers) != len(currentscripts[acl])) or \
(len(set(oldslivers) - set(currentscripts[acl])) != 0):
for (root, dirs, files) in os.walk(VSYSBKEND):
for file in files:
if file.endswith(".acl") and not file.startswith("local_"):
- f = open(root+"/"+file,"r+")
- scriptname = file.replace(".acl", "")
- scriptacls[scriptname] = []
- for slice in f.readlines():
- scriptacls[scriptname].append(slice.rstrip())
- f.close()
+ with open(root+"/"+file, "r+") as f:
+ scriptname = file.replace(".acl", "")
+ scriptacls[scriptname] = []
+ for slice in f.readlines():
+ scriptacls[scriptname].append(slice.rstrip())
# return what scripts are configured for which slices.
return scriptacls
if (len(slivers) != len(oldslivers)) or \
(len(set(oldslivers) - set(slivers)) != 0):
logger.log("vsys: Updating %s" % VSYSCONF)
- f = open(VSYSCONF,"w")
+ f = open(VSYSCONF, "w")
for sliver in slivers:
f.write("/vservers/%(name)s/vsys %(name)s\n" % {"name": sliver})
f.truncate()
logger.log("vsys.trashVsysHandleInSliver: no action needed, %s not found"%slice_vsys_area)
return
retcod=subprocess.call([ 'rm', '-rf' , slice_vsys_area])
- logger.log ("vsys.trashVsysHandleInSliver: Removed %s (retcod=%s)"%(slice_vsys_area,retcod))
+ logger.log ("vsys.trashVsysHandleInSliver: Removed %s (retcod=%s)"%(slice_vsys_area, retcod))