X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sliver_vs.py;h=bed3e62da81d72bdf2066387c42fc896e4484dfd;hb=refs%2Fheads%2F1.5;hp=db1d3409ef9a703316cc43d26428760d67170411;hpb=b6e806fc73f0fa8f2526cc7d1e62245db814d725;p=nodemanager.git diff --git a/sliver_vs.py b/sliver_vs.py index db1d340..bed3e62 100644 --- a/sliver_vs.py +++ b/sliver_vs.py @@ -18,7 +18,6 @@ don't have to guess if there is a running process or not. import errno import os -import threading import time import vserver @@ -43,7 +42,7 @@ class Sliver_VS(accounts.Account, vserver.VServer): SHELL = '/bin/vsh' TYPE = 'sliver.VServer' - _init_disk_info_sem = threading.Semaphore(1) + _init_disk_info_sem = tools.NMLock("/var/run/nm-disk-info.lock") def __init__(self, rec): try: @@ -51,7 +50,7 @@ class Sliver_VS(accounts.Account, vserver.VServer): except Exception, err: if not isinstance(err, vserver.NoSuchVServer): # Probably a bad vserver or vserver configuration file - logger.log_exc() + logger.log_exc(rec['name']) logger.log('%s: recreating bad vserver' % rec['name']) self.destroy(rec['name']) self.create(rec['name'], rec['vref']) @@ -93,7 +92,7 @@ class Sliver_VS(accounts.Account, vserver.VServer): try: self.chroot_call(install_initscript) self.initscriptchanged = True - except: logger.log_exc() + except: logger.log_exc(self.name) accounts.Account.configure(self, rec) # install ssh keys @@ -128,9 +127,9 @@ class Sliver_VS(accounts.Account, vserver.VServer): logger.log('%s: computing disk usage: ended' % self.name) self.disk_usage_initialized = True vserver.VServer.set_disklimit(self, max(disk_max, self.disk_blocks)) - except OSError: + except: logger.log('%s: failed to set max disk usage' % self.name) - logger.log_exc() + logger.log_exc(self.name) # get/set the min/soft/hard values for all of the vserver # related RLIMITS. Note that vserver currently only @@ -142,8 +141,6 @@ class Sliver_VS(accounts.Account, vserver.VServer): hard = self.rspec['%s_hard'%type] self.set_rlimit_config(limit, hard, soft, minimum) - self.set_WHITELISTED_config(self.rspec['whitelist']) - if False: # this code was commented out before # N.B. net_*_rate are in kbps because of XML-RPC maxint # limitations, convert to bps which is what bwlimit.py expects. @@ -159,7 +156,7 @@ class Sliver_VS(accounts.Account, vserver.VServer): cpu_min = self.rspec['cpu_min'] cpu_share = self.rspec['cpu_share'] - if self.rspec['enabled'] > 0 and self.rspec['whitelist'] == 1: + if self.rspec['enabled'] > 0: if cpu_min >= 50: # at least 5%: keep people from shooting themselves in the foot logger.log('%s: setting cpu share to %d%% guaranteed' % (self.name, cpu_min/10.0)) self.set_sched_config(cpu_min, vserver.SCHED_CPU_GUARANTEED)