from branch
[nodemanager.git] / sliver_vs.py
index 7206add..ef7b606 100644 (file)
@@ -125,7 +125,7 @@ class Sliver_VS(accounts.Account, vserver.VServer):
             if os.path.isdir ("/vservers/.vref/%s"% vref): refname = vref
 
             if not os.path.isdir ("/vservers/.vref/%s"% refname):
-                logger.verbose("%s (%s) : vref %s not found, using default %s"%(
+                logger.log("%s (%s) : vref %s not found, using default %s"%(
                         name,vref,refname,default))
                 refname=default
                 # reset so arch is right
@@ -135,7 +135,7 @@ class Sliver_VS(accounts.Account, vserver.VServer):
 
         except IOError:
             # have not found slicefamily
-            logger.verbose("%s (%s): legacy node - using fallback vrefname 'default'"%(name,vref))
+            logger.log("%s (%s): legacy node - using fallback vrefname 'default'"%(name,vref))
             # for legacy nodes
             refname="default"
             arch="i386"
@@ -174,6 +174,8 @@ class Sliver_VS(accounts.Account, vserver.VServer):
         if self.rspec['enabled'] > 0:
             logger.log('%s: starting in %d seconds' % (self.name, delay))
             time.sleep(delay)
+            # VServer.start calls fork() internally, 
+            # so just close the nonstandard fds and fork once to avoid creating zombies
             child_pid = os.fork()
             if child_pid == 0:
                 if self.initscriptchanged:
@@ -185,14 +187,13 @@ class Sliver_VS(accounts.Account, vserver.VServer):
                         os.close(fd)
                     try:
                         self.chroot_call(install_initscript)
-                        self.initscriptchanged = False
                     except: logger.log_exc(self.name)
-                # VServer.start calls fork() internally, 
-                # so just close the nonstandard fds and fork once to avoid creating zombies
                 tools.close_nonstandard_fds()
                 vserver.VServer.start(self)
                 os._exit(0)
-            else: os.waitpid(child_pid, 0)
+            else: 
+                os.waitpid(child_pid, 0)
+                self.initscriptchanged = False
         else: logger.log('%s: not starting, is not enabled' % self.name)
 
     def stop(self):