git://git.onelab.eu
/
vserver-reference.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
eradicate svn keywords
[vserver-reference.git]
/
initscripts
/
vserver-reference
diff --git
a/initscripts/vserver-reference
b/initscripts/vserver-reference
index
ab1c42f
..
aff0275
100755
(executable)
--- a/
initscripts/vserver-reference
+++ b/
initscripts/vserver-reference
@@
-9,17
+9,17
@@
# Mark Huang <mlhuang@cs.princeton.edu>
# Copyright (C) 2004 The Trustees of Princeton University
#
# Mark Huang <mlhuang@cs.princeton.edu>
# Copyright (C) 2004 The Trustees of Princeton University
#
-# $Id$
-#
case "$1" in
start|restart|reload)
;;
case "$1" in
start|restart|reload)
;;
+ force)
+ FORCE=true;;
stop|status)
exit 0
;;
*)
stop|status)
exit 0
;;
*)
- echo $"Usage: $0 {start|stop|restart|
status
}"
+ echo $"Usage: $0 {start|stop|restart|
reload|status|force
}"
exit 1
;;
esac
exit 1
;;
esac
@@
-88,9
+88,15
@@
for systemvserver in "$__DEFAULT_VSERVERDIR/.vstub/"*/*.cloned ; do
# e.g. VREFNAME=planetflow-f8-i386
VREFNAME=$(echo $SLICEFAMILY | sed -e "s,^[^-]*-,$NAME-,")
# e.g. VREFNAME=planetflow-f8-i386
VREFNAME=$(echo $SLICEFAMILY | sed -e "s,^[^-]*-,$NAME-,")
+ VREFPATH="$__DEFAULT_VSERVERDIR/.vref/$VREFNAME"
+
+ # do not redo existing vref's unless force is mentioned
+ [ -z "$FORCE" -a -d "$VREFPATH" ] && continue
+ [ -z "$FORCE" ] && message=Building
+ [ -n "$FORCE" ] && message=Force-building
+
# Copy base reference image
# Copy base reference image
- if [ ! -d "$__DEFAULT_VSERVERDIR/.vref/$VREFNAME" ] ; then
- echo -n $"Building VServer reference image for $NAME in $VREFNAME: " >&3 2>&4
+ echo -n $"$message VServer reference image for $NAME in $VREFNAME: " >&3 2>&4
# Build in temporary directory
mkdir -p "$__DEFAULT_VSERVERDIR/.vtmp"
# Build in temporary directory
mkdir -p "$__DEFAULT_VSERVERDIR/.vtmp"
@@
-98,9
+104,9
@@
for systemvserver in "$__DEFAULT_VSERVERDIR/.vstub/"*/*.cloned ; do
mkdir -p "$__DEFAULT_VSERVERDIR/.vref"
# build the systemvserver from the one it was originally cloned from
mkdir -p "$__DEFAULT_VSERVERDIR/.vref"
# build the systemvserver from the one it was originally cloned from
- REF="$__DEFAULT_VSERVERDIR/.vref/$SLICEFAMILY"
- if [ -d "$REF" ] ; then
- "$_VCLONE" "$REF"/ "$TMP"/
+
FAMILY
REF="$__DEFAULT_VSERVERDIR/.vref/$SLICEFAMILY"
+ if [ -d "$
FAMILY
REF" ] ; then
+ "$_VCLONE" "$
FAMILY
REF"/ "$TMP"/
RETVAL=$?
else
RETVAL=1
RETVAL=$?
else
RETVAL=1
@@
-117,14
+123,15
@@
for systemvserver in "$__DEFAULT_VSERVERDIR/.vstub/"*/*.cloned ; do
# Move it to its permanent location when complete
if [ $RETVAL -eq 0 ] ; then
# Move it to its permanent location when complete
if [ $RETVAL -eq 0 ] ; then
- mv "$TMP" "$__DEFAULT_VSERVERDIR/.vref/$VREFNAME"
+ # 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
success >&3 2>&4
else
rm -rf "$TMP"
failure >&3 2>&4
fi
echo >&3 2>&4
- fi
done
echo -n $"Updating VServer reference images: " >&3 2>&4
done
echo -n $"Updating VServer reference images: " >&3 2>&4