Backporting latest changes for 2.6.27 to the 4.3 version of NM
[nodemanager.git] / sliver_vs.py
index 5573984..0b1defe 100644 (file)
@@ -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:
@@ -265,8 +266,14 @@ class Sliver_VS(accounts.Account, vserver.VServer):
             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)
+                logger.log("sliver_vs: %s: Setting name to %s" % (self.name, self.slice_id)) 
+                #self.setname(self.slice_id) 
+                logger.log("sliver_vs: %s: Storing slice id of %s for PlanetFlow" % (self.name, self.slice_id))
+                file('/etc/vservers/%s/slice_id' % self.name, 'w').write("%d"%self.slice_id)
+
+            if self.enabled == False:
+                self.enabled = True
+                self.start()
  
             if False: # Does not work properly yet.
                 if self.have_limits_changed():
@@ -282,4 +289,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()