added start-vservers
[util-vserver.git] / util-vserver / scripts / vserver.start
index b66e054..2d16ac3 100644 (file)
@@ -16,7 +16,7 @@
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
 if isVserverRunning "$VSERVER_DIR"; then
-    echo $"vserver '$VSERVER_NAME' already running; aborting..."
+    echo $"vserver '$VSERVER_NAME' already running; aborting..." >&2
     exit 1
 fi
 
@@ -32,12 +32,26 @@ cd "$VSERVER_DIR"/vdir/
 execScriptlets   "$VSERVER_DIR" "$VSERVER_NAME" pre-start
 
 cd "$VSERVER_DIR"/vdir/
-"${NICE_CMD[@]}" \
+
+if $_VSERVER_INFO - FEATURE migrate; then
+    $_CHBIND     "${CHBIND_OPTS[@]}" \
+    $_VCONTEXT   --create "${OPTS_VCONTEXT_CREATE[@]}" \
+    ${USE_VNAMESPACE:+$_VNAMESPACE --set} \
+    $_VLIMIT     --dir "$VSERVER_DIR"/rlimits --missingok \
+    $_VUNAME     --dir "$VSERVER_DIR"/uts     --missingok \
+    $_VATTRIBUTE --set "${OPTS_VATTRIBUTE[@]}" \
+    $_VCONTEXT   --migrate-self --chroot $SILENT_OPT "${OPTS_VCONTEXT_MIGRATE[@]}" \
+    -- "${INITCMD_START[@]}"
+else
+    "${NICE_CMD[@]}" \
     "$_CHBIND"       "${CHBIND_OPTS[@]}" \
     "$_EXEC_ULIMIT"  "$VSERVER_DIR/ulimits" \
     "$_CHCONTEXT"    "${CHCONTEXT_OPTS[@]}" "${CHCONTEXT_INIT_OPTS[@]}" \
     "$_SAVE_CTXINFO" "$VSERVER_DIR" \
-    "$_CAPCHROOT"    "${CAPCHROOT_OPTS[@]}" . "${INITCMD_START[@]}"
+    "$_CLEARENV" \
+    "$_CAPCHROOT"    "${CAPCHROOT_OPTS[@]}" . \
+    -- "${INITCMD_START[@]}"
+fi
 
 "${INITCMD_START_SYNC[@]}"