X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Futil%2Fnodemanager.py;h=1671b9d6a4b191a96dbae0b79269fd6817c6f0ec;hb=bfcea75fd4f7d91b186f4f0e479db0e6f0a231ae;hp=ebf84087c461f4baec3d8562be7848c62c078f28;hpb=8ee86748108d70c354916ce3d653f9472fbcfea5;p=sfa.git diff --git a/sfa/util/nodemanager.py b/sfa/util/nodemanager.py index ebf84087..1671b9d6 100644 --- a/sfa/util/nodemanager.py +++ b/sfa/util/nodemanager.py @@ -6,13 +6,17 @@ class NodeManager: method = None + def __init__(self, config): + self.config = config + def __getattr__(self, method): self.method = method return self.__call__ def __call__(self, *args): method = self.method - sfa_slice = "pl_genicw" + sfa_slice_prefix = self.config.SFA_CM_SLICE_PREFIX + sfa_slice = sfa_slice_prefix + "_sfacm" python = "/usr/bin/python" vserver_path = "/vservers/%s" % (sfa_slice) script_path = "/tmp/" @@ -33,12 +37,10 @@ print s.%(method)s%(args)s""" % locals() f.close() # make the file executeable chmod_cmd = "/bin/chmod 775 %(filename)s" % locals() - print chmod_cmd (status, output) = commands.getstatusoutput(chmod_cmd) # execute the commad as a slice with root NM privs cmd = 'su - %(sfa_slice)s -c "%(python)s %(scriptname)s"' % locals() - print cmd (status, output) = commands.getstatusoutput(cmd) return (status, output) finally: os.unlink(filename)