Setting tag util-vserver-pl-0.3-27
[util-vserver-pl.git] / python / vserver.py
index 569b979..44341a6 100644 (file)
@@ -207,7 +207,7 @@ class VServer:
                     resource.setrlimit(resource_type, lim)
             except OSError, e:
                 self.log("Error: setrlimit(%d, %s, %d, %d, %d): %s"
-                         % (self.ctx, type.lower(), hard, soft, min))
+                         % (self.ctx, type.lower(), hard, soft, min, e))
 
         return update
 
@@ -301,7 +301,7 @@ class VServer:
             try:
                 vserverimpl.unsetdlimit(self.dir, self.ctx)
             except OSError, e:
-                self.log("Unexpected error with unsetdlimit for context %d" % self.ctx)
+                self.log("Unexpected error with unsetdlimit for context %d: %r" % (self.ctx,e))
             return
 
         if self.vm_running:
@@ -321,7 +321,7 @@ class VServer:
                                   vserverimpl.DLIMIT_INF,  # inode limit
                                   2)   # %age reserved for root
         except OSError, e:
-            self.log("Unexpected error with setdlimit for context %d: %s" % (self.ctx, e))
+            self.log("Unexpected error with setdlimit for context %d: %r" % (self.ctx, e))
 
 
         self.config.update('dlimits/0/space_total', block_limit)
@@ -467,7 +467,7 @@ class VServer:
                 # open state file to record vserver info
                 state_file = open("/var/run/vservers/%s" % self.name, "w")
 
-                # use /dev/null for stdin, /var/log/boot.log for stdout/err
+                # use /dev/null for stdin, /var/log/nm for stdout/err
                 fd = os.open("/dev/null", os.O_RDONLY)
                 if fd != 0:
                     os.dup2(fd, 0)
@@ -478,9 +478,12 @@ class VServer:
 
                 self.config.cache_it()
                 self.__do_chroot()
-                removed = self.__cleanvar()
+                if not self.is_running():
+                    removed = self.__cleanvar()
+                else:
+                    removed = 0
 
-                log = open("/var/log/boot.log", "a", 0)
+                log = open("/var/log/nm", "a", 0)
                 if log.fileno() != 1:
                     os.dup2(log.fileno(), 1)
                 os.dup2(1, 2)
@@ -501,6 +504,8 @@ class VServer:
                         if os.path.isfile(cmd[0]):                         
                             print >>log, "executing '%s'" % " ".join(cmd_args)
                             os.spawnvp(os.P_NOWAIT,cmd[0],cmd_args)
+                        else:
+                            print >>log, "WARNING: could not run %s"%cmd[0]
                     except:
                         print >>log, traceback.format_exc()