git://git.onelab.eu
/
nodemanager.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
4ae54cc
)
2 way merge from branch. Includes support for local_ scripts.
author
Faiyaz Ahmed
<faiyaza@cs.princeton.edu>
Fri, 1 Aug 2008 16:36:00 +0000
(16:36 +0000)
committer
Faiyaz Ahmed
<faiyaza@cs.princeton.edu>
Fri, 1 Aug 2008 16:36:00 +0000
(16:36 +0000)
vsys.py
patch
|
blob
|
history
diff --git
a/vsys.py
b/vsys.py
index
b11b959
..
d26ee4a
100644
(file)
--- a/
vsys.py
+++ b/
vsys.py
@@
-21,6
+21,7
@@
def GetSlivers(data):
for script in touchAcls(): scripts[script] = []
# slices that need to be written to the conf
slices = []
for script in touchAcls(): scripts[script] = []
# slices that need to be written to the conf
slices = []
+ _restart = False
# Parse attributes and update dict of scripts
for sliver in data['slivers']:
for attribute in sliver['attributes']:
# Parse attributes and update dict of scripts
for sliver in data['slivers']:
for attribute in sliver['attributes']:
@@
-28,24
+29,25
@@
def GetSlivers(data):
if sliver['name'] not in slices:
# add to conf
slices.append(sliver['name'])
if sliver['name'] not in slices:
# add to conf
slices.append(sliver['name'])
- # As the name implies, when we find an attribute, we
- createVsysDir(sliver['name'])
- # add it to our list of slivers that need vsys
+ _restart = createVsysDir(sliver['name']) or _restart
if attribute['value'] in scripts.keys():
scripts[attribute['value']].append(sliver['name'])
# Write the conf
if attribute['value'] in scripts.keys():
scripts[attribute['value']].append(sliver['name'])
# Write the conf
- writeConf(slices, parseConf())
+ _restart = writeConf(slices, parseConf()) or _restart
# Write out the ACLs
# Write out the ACLs
- if writeAcls(scripts, parseAcls()):
+ if writeAcls(scripts, parseAcls())
or _restart
:
logger.log("vsys: restarting vsys service")
os.system("/etc/init.d/vsys restart")
def createVsysDir(sliver):
'''Create /vsys directory in slice. Update vsys conf file.'''
logger.log("vsys: restarting vsys service")
os.system("/etc/init.d/vsys restart")
def createVsysDir(sliver):
'''Create /vsys directory in slice. Update vsys conf file.'''
- try: os.makedirs("/vservers/%s/vsys" % sliver)
- except OSError: pass
+ try:
+ os.mkdir("/vservers/%s/vsys" % sliver)
+ return True
+ except OSError:
+ return False
def touchAcls():
def touchAcls():
@@
-59,7
+61,7
@@
def touchAcls():
# ingore scripts that start with local_
if file.startswith("local_"): continue
if file.endswith(".acl"):
# ingore scripts that start with local_
if file.startswith("local_"): continue
if file.endswith(".acl"):
- acls.append(file.r
strip(".acl
"))
+ acls.append(file.r
eplace(".acl", "
"))
else:
scripts.append(file)
for new in (Set(scripts) - Set(acls)):
else:
scripts.append(file)
for new in (Set(scripts) - Set(acls)):
@@
-99,7
+101,7
@@
def parseAcls():
for file in files:
if file.endswith(".acl") and not file.startswith("local_"):
f = open(root+"/"+file,"r+")
for file in files:
if file.endswith(".acl") and not file.startswith("local_"):
f = open(root+"/"+file,"r+")
- scriptname = file.r
strip(".acl
")
+ scriptname = file.r
eplace(".acl", "
")
scriptacls[scriptname] = []
for slice in f.readlines():
scriptacls[scriptname].append(slice.rstrip())
scriptacls[scriptname] = []
for slice in f.readlines():
scriptacls[scriptname].append(slice.rstrip())
@@
-121,6
+123,9
@@
def writeConf(slivers, oldslivers):
f.write("/vservers/%(name)s/vsys %(name)s\n" % {"name": sliver})
f.truncate()
f.close()
f.write("/vservers/%(name)s/vsys %(name)s\n" % {"name": sliver})
f.truncate()
f.close()
+ return True
+ else:
+ return False
def parseConf():
def parseConf():