From: S.Çağlar Onur Date: Thu, 20 Jan 2011 22:00:50 +0000 (-0500) Subject: start to use /etc/vservers//sysctl//{setting,value} files as new kernels... X-Git-Tag: nodemanager-2.0-26~2 X-Git-Url: http://git.onelab.eu/?p=nodemanager.git;a=commitdiff_plain;h=7167037aed08b03d5c08335fa2347b042c68c5d0 start to use /etc/vservers//sysctl//{setting,value} files as new kernels don't support old syntax --- diff --git a/sliver_vs.py b/sliver_vs.py index 4245e53..a151bfe 100644 --- a/sliver_vs.py +++ b/sliver_vs.py @@ -234,17 +234,26 @@ class Sliver_VS(accounts.Account, vserver.VServer): cpu_share = self.rspec['cpu_share'] if setup: + count = 1 for key in self.rspec.keys(): if key.find('sysctl.') == 0: sysctl=key.split('.') try: - path="/proc/sys/%s" % ("/".join(sysctl[1:])) - logger.log("sliver_vs: %s: opening %s"%(self.name,path)) - flags = os.O_WRONLY - fd = os.open(path, flags) + # /etc/vservers//sysctl// + dirname = "/etc/vservers/%s/sysctl/%s" % (self.name, count) + try: + os.makedirs(dirname, 0755) + except: + pass + setting = open("%s/setting" % dirname, "w") + setting.write("%s\n" % key.lstrip("sysctl.")) + setting.close() + value = open("%s/value" % dirname, "w") + value.write("%s\n" % self.rspec[key]) + value.close() + count += 1 + logger.log("sliver_vs: %s: writing %s=%s"%(self.name,key,self.rspec[key])) - os.write(fd,self.rspec[key]) - os.close(fd) except IOError, e: logger.log("sliver_vs: %s: could not set %s=%s"%(self.name,key,self.rspec[key])) logger.log("sliver_vs: %s: error = %s"%(self.name,e))