f21
[infrastructure.git] / scripts / create-vm.sh
index 43adf55..d22efb4 100755 (executable)
@@ -16,18 +16,19 @@ LOGS=$HOME/machines
 
 DOMAIN=pl.sophia.inria.fr
 
-DEFAULT_DISTRO=f20
+DEFAULT_DISTRO=f21
 
 CONFIRM=
 function usage () {
   message="$@" 
-  echo "usage : $COMMAND [-c] [-f distro] [-i image] [ -m memory ] [ -n hostname ] container"
+  echo "usage : $COMMAND [-c] [-f distro] [-i image] [ -m memory ] [ -n hostname ] [-s] container"
   echo " -c : confirm, will show the command and prompt for confirmation "
   echo " -f : set distro, default is $DEFAULT_DISTRO"
   echo " -i : if specified, image is rsynced into /vservers"
   echo "      warning: we cannot use an image already in /vservers..."
   echo " -m : memory size in Mb - default is 512"
   echo " -n : specify hostname if different from container"
+  echo " -s : do not start VM"
   echo " container : used for /vservers/foo as well as the lxc/libvirt name"
   echo "examples"
   echo "  create-vm.sh sandbox"
@@ -38,13 +39,15 @@ function usage () {
   exit 1
 }
 
-while getopts "cf:i:m:n:h" flag; do
+# using HOSTNAME won't work as this is already set in environment
+while getopts "cf:i:m:n:sh" flag; do
     case $flag in
        c) CONFIRM=true ;;
        f) DISTRO=$OPTARG ;;
         i) IMAGE=$OPTARG ;;
        m) MEMORY=$OPTARG ;;
-       n) HOSTNAME=$OPTARG ;;
+       n) VM_HOSTNAME=$OPTARG ;;
+       s) DO_NOT_START_VM=true ;;
        ?|h) usage "" ;;
     esac
 done
@@ -58,17 +61,17 @@ container="$1" ; shift
 [ -d "$BUILD" ] || usage "Could not find directory $BUILD"
 [ -d /vservers/$container ] && usage "container $container already exists in /vservers"
 
-# comopute all vars from args
+# compute all vars from args
 [ -z "$DISTRO" ] && DISTRO="$DEFAULT_DISTRO"
-[ -z "$HOSTNAME" ] && HOSTNAME="$container"
-fqdn=$HOSTNAME.$DOMAIN
+[ -z "$VM_HOSTNAME" ] && VM_HOSTNAME="$container"
+fqdn=$VM_HOSTNAME.$DOMAIN
 
 # prepare initvm command
 initvm="$BUILD/lbuild-initvm.sh"
-initvm="$initvm -f $DISTRO"
+[ -z "$IMAGE" ] && initvm="$initvm -f $DISTRO" || initvm="$initvm -i $IMAGE"
 initvm="$initvm -n $fqdn"
-[ -n "$IMAGE" ] && initvm="$initvm -i $IMAGE"
-[ -n "$MEMORY" ] $$ initvm="$initvm -m $MEMORY" 
+[ -n "$DO_NOT_START_VM" ] && initvm="$initvm -s"
+[ -n "$MEMORY" ] && initvm="$initvm -m $MEMORY" 
 initvm="$initvm $container"
 
 if [ -n "$CONFIRM" ] ; then