added doxygen annnotations
[util-vserver.git] / util-vserver / scripts / vserver.start
index ca0b0af..e791df7 100644 (file)
 # 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
 
+set -e
 generateOptions  "$VSERVER_DIR"
 execScriptlets   "$VSERVER_DIR" "$VSERVER_NAME" prepre-start
 enableInterfaces "$VSERVER_DIR"
@@ -28,15 +29,29 @@ mountVserver "$VSERVER_DIR"
 prepareInit  "$VSERVER_DIR"
 
 cd "$VSERVER_DIR"/vdir/
-
 execScriptlets   "$VSERVER_DIR" "$VSERVER_NAME" pre-start
 
-"${NICE_CMD[@]}" \
+cd "$VSERVER_DIR"/vdir/
+
+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 --chroot $SILENT_OPT "${OPTS_VCONTEXT_MIGRATE[@]}" \
+    -- "${INITCMD_START[@]}"
+else
+    "${NICE_CMD[@]}" \
     "$_CHBIND"       "${CHBIND_OPTS[@]}" \
     "$_EXEC_ULIMIT"  "$VSERVER_DIR/ulimits" \
-    "$_CHCONTEXT"    "${CHCONTEXT_DISCONNECT[@]}" "${CHCONTEXT_OPTS[@]}" \
+    "$_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[@]}"