cosmetic / layout
[sliceimage.git] / initscripts / sliceimage
index aff0275..8fee05c 100755 (executable)
@@ -1,15 +1,16 @@
 #!/bin/bash
 #
-# vserver-reference    Updates VServer reference
-#
 # Load before nm, vcached, and vservers
 # chkconfig: 3 60 80
-# description: Builds VServer reference image
+# description: Update slice images
 #
 # Mark Huang <mlhuang@cs.princeton.edu>
 # Copyright (C) 2004 The Trustees of Princeton University
 #
 
+# Source function library.
+. /etc/init.d/functions
+
 case "$1" in
     start|restart|reload)
        ;;
@@ -24,9 +25,6 @@ case "$1" in
        ;;
 esac
 
-# Source function library.
-. /etc/init.d/functions
-
 # VServer definitions
 init_paths="/usr/lib64/util-vserver/util-vserver-vars /usr/lib/util-vserver/util-vserver-vars"
 for init_path in $init_paths ; do
@@ -39,7 +37,7 @@ exec 3>&1
 exec 4>&2
 
 # Redirect stdout and stderr to a log file
-exec >>/var/log/vserver-reference.log
+exec >>/var/log/sliceimage
 exec 2>&1
 
 echo "--- STARTING $(date) ---"  >&3 2>&4
@@ -63,26 +61,26 @@ setattr --barrier "$__DEFAULT_VSERVERDIR"
 # conserving space by linking and not copying unified files.
 
 if [ -f /proc/virtual/info ] ; then
-       x=$[ 16#`awk '/^VCIKernel:/ { print $2 }' /proc/virtual/info` ]; 
-       y=$[ (x >> 9) & 1]
-       if test "$y" = 1 ; then 
-               # COW support
-               find "$__DEFAULT_VSERVERDIR/.vref"/* -type f -print0 | xargs -0 setattr --iunlink
-       else 
-               # no COW; 
-               find "$__DEFAULT_VSERVERDIR/.vref"/* -type f -print0 | xargs -0 setattr --~iunlink
-       fi
+    x=$[ 16#`awk '/^VCIKernel:/ { print $2 }' /proc/virtual/info` ]; 
+    y=$[ (x >> 9) & 1]
+    if test "$y" = 1 ; then 
+        # COW support
+       find "$__DEFAULT_VSERVERDIR/.vref"/* -type f -print0 | xargs -0 setattr --iunlink
+    else 
+        # no COW; 
+       find "$__DEFAULT_VSERVERDIR/.vref"/* -type f -print0 | xargs -0 setattr --~iunlink
+    fi
 fi
 
 
 # Build reference images for system slices
 # xxx if several instances of systemslices get installed, only one gets instanciated
-for systemvserver in "$__DEFAULT_VSERVERDIR/.vstub/"*/*.cloned ; do
+for systemslice in "$__DEFAULT_VSERVERDIR/.vstub/"*/*.cloned ; do
     # e.g. NAME=planetflow
-    NAME=$(basename $systemvserver .cloned)
-    DIR=$(dirname $systemvserver)
+    NAME=$(basename $systemslice .cloned)
+    DIR=$(dirname $systemslice)
     # e.g. SLICEFAMILY=planetlab-f8-i386
-    SLICEFAMILY=$(cat $systemvserver)
+    SLICEFAMILY=$(cat $systemslice)
     # deduce the actual name used in .vref by replacing the first part of slice-family 
     # (pldistro) with the slice name
     # e.g. VREFNAME=planetflow-f8-i386
@@ -96,45 +94,45 @@ for systemvserver in "$__DEFAULT_VSERVERDIR/.vstub/"*/*.cloned ; do
     [ -n "$FORCE" ] && message=Force-building
     
     # Copy base reference image
-       echo -n $"$message VServer reference image for $NAME in $VREFNAME: " >&3 2>&4
-
-       # Build in temporary directory
-       mkdir -p "$__DEFAULT_VSERVERDIR/.vtmp"
-       TMP=$(mktemp -d "$__DEFAULT_VSERVERDIR/.vtmp/$NAME.XXXXXX")
-       mkdir -p "$__DEFAULT_VSERVERDIR/.vref"
-
-       # build the systemvserver from the one it was originally cloned from
-       FAMILYREF="$__DEFAULT_VSERVERDIR/.vref/$SLICEFAMILY"
-       if [ -d "$FAMILYREF" ] ; then
-           "$_VCLONE" "$FAMILYREF"/ "$TMP"/
-           RETVAL=$?
-       else
-           RETVAL=1
-       fi
+    echo -n $"$message slice image for $NAME in $VREFNAME: " >&3 2>&4
+
+    # Build in temporary directory
+    mkdir -p "$__DEFAULT_VSERVERDIR/.vtmp"
+    TMP=$(mktemp -d "$__DEFAULT_VSERVERDIR/.vtmp/$NAME.XXXXXX")
+    mkdir -p "$__DEFAULT_VSERVERDIR/.vref"
+
+    # build the systemslice from the one it was originally cloned from
+    FAMILYREF="$__DEFAULT_VSERVERDIR/.vref/$SLICEFAMILY"
+    if [ -d "$FAMILYREF" ] ; then
+       "$_VCLONE" "$FAMILYREF"/ "$TMP"/
+       RETVAL=$?
+    else
+       RETVAL=1
+    fi
 
-       # merge the stub with the reference to get the system vserver
-       if [ $RETVAL -eq 0 ] ; then
-           (cd "$DIR/$NAME"/ && find . | cpio -m -d -u -p "$TMP"/)
-           RETVAL=$?
-       fi
+    # merge the stub with the reference to get the system slice
+    if [ $RETVAL -eq 0 ] ; then
+       (cd "$DIR/$NAME"/ && find . | cpio -m -d -u -p "$TMP"/)
+       RETVAL=$?
+    fi
 
-        # Clean RPM state
-       rm -f "$TMP/var/lib/rpm/__db"*
-
-       # Move it to its permanent location when complete
-       if [ $RETVAL -eq 0 ] ; then
-           # if in force mode, cleanup 
-           [ -d "$VREFPATH" ] && rm -rf "$VREFPATH"
-           mv "$TMP" "$VREFPATH"
-           success >&3 2>&4
-       else
-           rm -rf "$TMP"
-           failure >&3 2>&4
-       fi
-       echo >&3 2>&4
+    # Clean RPM state
+    rm -f "$TMP/var/lib/rpm/__db"*
+
+    # Move it to its permanent location when complete
+    if [ $RETVAL -eq 0 ] ; then
+       # if in force mode, cleanup 
+       [ -d "$VREFPATH" ] && rm -rf "$VREFPATH"
+       mv "$TMP" "$VREFPATH"
+       success >&3 2>&4
+    else
+       rm -rf "$TMP"
+       failure >&3 2>&4
+    fi
+    echo >&3 2>&4
 done
 
-echo -n $"Updating VServer reference images: " >&3 2>&4
+echo -n $"Updating slice images: " >&3 2>&4
 
 VROOTS="$__DEFAULT_VSERVERDIR/.vref/* $__DEFAULT_VSERVERDIR/.vcache/* $__DEFAULT_VSERVERDIR/${PLC_SLICE_PREFIX}_*"