pltun should create TUN not TAP interfaces
[vsys-scripts.git] / exec / switcheroo
old mode 100644 (file)
new mode 100755 (executable)
index 6109c83..84d3ec2
@@ -4,10 +4,37 @@ 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
+mkdir -p /vservers/$1/var/run
+mkdir -p /vservers/$1/proc
+mkdir -p /vservers/$1/var/lock
+grep $1 /vservers/_$1/etc/passwd >> /vservers/$1/etc/passwd
+
+cd /vservers/$1/dev 
+tar cf - /vservers/pl_netflow/dev/* | tar xvf - --strip=3
+
+vserver $1 start