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"
}
# using HOSTNAME won't work as this is already set in environment
-while getopts "cf:i:m:n:h" flag; do
+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) VM_HOSTNAME=$OPTARG ;;
+ s) DO_NOT_START_VM=true ;;
?|h) usage "" ;;
esac
done
[ -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 "$VM_HOSTNAME" ] && VM_HOSTNAME="$container"
fqdn=$VM_HOSTNAME.$DOMAIN
initvm="$BUILD/lbuild-initvm.sh"
[ -z "$IMAGE" ] && initvm="$initvm -f $DISTRO" || initvm="$initvm -i $IMAGE"
initvm="$initvm -n $fqdn"
+[ -n "$DO_NOT_START_VM" ] && initvm="$initvm -s"
[ -n "$MEMORY" ] && initvm="$initvm -m $MEMORY"
initvm="$initvm $container"