X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plugins%2Fvsys_privs.py;h=af2b739c01a7c8aaf65263084746cc89f10f8a6c;hb=a6ab38d1305ce8bf27c01c82c51413b76ac1b525;hp=1a3e4b24bf1d5ec814a7bd2fbe53fcb3d7b6f8c8;hpb=74a8cfb9d2eac39ae02e5323e1fb5b1d33297981;p=nodemanager.git diff --git a/plugins/vsys_privs.py b/plugins/vsys_privs.py index 1a3e4b2..af2b739 100755 --- a/plugins/vsys_privs.py +++ b/plugins/vsys_privs.py @@ -9,11 +9,10 @@ node for the reference of vsys scripts. import logger import os -from sets import Set VSYS_PRIV_DIR = "/etc/planetlab/vsys-attributes" -def start(options, conf): +def start(): logger.log("vsys_privs: plugin starting") if (not os.path.exists(VSYS_PRIV_DIR)): os.makedirs(VSYS_PRIV_DIR) @@ -86,7 +85,7 @@ def write_privs(cur_privs,privs): # Add values that do not exist for k in variables.keys(): v = variables[k] - if (cur_privs.has_key(slice) + if (cur_privs.has_key(slice) and cur_privs[slice].has_key(k) and cur_privs[slice][k] == v): # The binding has not changed @@ -99,7 +98,7 @@ def write_privs(cur_privs,privs): f.close() logger.log("vsys_privs: added vsys attribute %s for %s"%(k,slice)) - # Remove files and directories + # Remove files and directories # that are invalid for slice in cur_privs.keys(): variables = cur_privs[slice] @@ -107,19 +106,19 @@ def write_privs(cur_privs,privs): # Add values that do not exist for k in variables.keys(): - if (privs.has_key(slice) + if (privs.has_key(slice) and cur_privs[slice].has_key(k)): # ok, spare this tag - print "Sparing %s, %s "%(slice,k) + print "Sparing %s, %s "%(slice,k) else: v_file = os.path.join(slice_dir, k) - os.remove(v_file) + os.remove(v_file) if (not privs.has_key(slice)): os.rmdir(slice_dir) -if __name__ == "__main__": +if __name__ == "__main__": test_slivers = {'slivers':[ {'name':'foo','attributes':[ {'tagname':'vsys_m','value':'2'},