X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sliver_vs.py;h=9615ca761967acca9d7716ef1d8a239705ceb935;hb=7ea5c66996957f51389709dfc21a49ad65890bbe;hp=5573984f89c93edc7330a518a5bd39912e37c00b;hpb=75db8a1a1e14adc7715c452fab87e45f942d425b;p=nodemanager.git diff --git a/sliver_vs.py b/sliver_vs.py index 5573984..9615ca7 100644 --- a/sliver_vs.py +++ b/sliver_vs.py @@ -68,6 +68,7 @@ class Sliver_VS(accounts.Account, vserver.VServer): self.slice_id = rec['slice_id'] self.disk_usage_initialized = False self.initscriptchanged = False + self.enabled = True self.configure(rec) @staticmethod @@ -93,7 +94,7 @@ class Sliver_VS(accounts.Account, vserver.VServer): (pldistro,fcdistro,arch) = default.split("-") known_archs = [ 'i386', 'x86_64' ] - known_fcdistros = [ 'f8', 'f9', 'centos5' ] + known_fcdistros = [ 'centos5', 'f8', 'f9', 'f10', 'f11', 'f12' ] # from the slice attribute: cut dashes and try to figure the meaning slice_wishes = vref.split("-") for wish in slice_wishes: @@ -264,9 +265,18 @@ class Sliver_VS(accounts.Account, vserver.VServer): (self.name, self.rspec['ip_addresses'])) self.set_ipaddresses_config(self.rspec['ip_addresses']) - if self.is_running(): - logger.log("%s: Setting name to %s" % (self.name, self.slice_id),2) - self.setname(self.slice_id) + try: + vserver_config_path = '/etc/vservers/%s'%self.name + if not os.path.exists (vserver_config_path): + os.makedirs (vserver_config_path) + file('%s/slice_id'%vserver_config_path, 'w').write("%d"%self.slice_id) + logger.log("sliver_vs: Recorded slice id %d for slice %s"%(self.slice_id,self.name)) + except IOError,e: + logger.log("sliver_vs: Could not record slice_id for slice %s. Error: %s"%(self.name,str(e))) + + if self.enabled == False: + self.enabled = True + self.start() if False: # Does not work properly yet. if self.have_limits_changed(): @@ -282,4 +292,5 @@ class Sliver_VS(accounts.Account, vserver.VServer): else: # tell vsh to disable remote login by setting CPULIMIT to 0 logger.log('%s: disabling remote login' % self.name) self.set_sched_config(0, 0) + self.enabled = False self.stop()