X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=exec%2Fswitcheroo;h=36a094f07fd9c94a105ab45a9097889c8569b049;hb=42c5349cef5144a68c10a6d65bd148159b948d31;hp=6109c83d5ce206121c39922c9dc64d8d2e61a77b;hpb=a57bde0939193c31bb2e59fdd7bf26ccf13a2044;p=vsys-scripts.git diff --git a/exec/switcheroo b/exec/switcheroo old mode 100644 new mode 100755 index 6109c83..36a094f --- a/exec/switcheroo +++ b/exec/switcheroo @@ -4,10 +4,29 @@ RDIR="/vservers/$1/rootfs" if [ ! -d $RDIR ]; then - echo "Please create a root filesystem in the $RDIR directory" -else - vserver $1 stop - mv /vservers/$1 /vservers/_$1 - mv /vservers/_$1/rootfs /vservers/$1 - vserver $1 start + # User does not have his own distro, check if he has a default custom distro set + VREF_FILE="/etc/planetlab/vsys-attributes/$1/vsys_vref" + if [ -e $VREF_FILE ]; + then + VREF=`cat $VREF_FILE` + VREF_DIR="/vservers/.vref/$VREF" + if [ -d $VREF_DIR ]; + then + echo "Copying in reference image $VREF..." + mkdir -p $RDIR + cp -aRp $VREF_DIR/* $RDIR + else + echo "Reference directory $VREF not found." + exit + fi + else + echo "Please set up a custom distribution in /rootfs or set a vsys_vref tag for your slice" + exit + fi fi + +echo "Restarting your slice. Please reconnect and login in a few minutes." +vserver $1 stop +mv /vservers/$1 /vservers/_$1 +mv /vservers/_$1/rootfs /vservers/$1 +vserver $1 start