diff options
Diffstat (limited to 'vm.sh')
| -rwxr-xr-x | vm.sh | 39 |
1 files changed, 33 insertions, 6 deletions
@@ -5,6 +5,7 @@ OPTION="$1" VM="$2" DIR="qemu" USER="user" +HOST="localhost" CORES="4" MEMORY="4G" DEVICE="virtio-net-pci,netdev=net0" @@ -105,20 +106,27 @@ vm_boot() { CMD+=("$ARG") done "${CMD[@]}" + echo "Starting VM $1" } vm_cli() { + cd $DIR vm_check $VM if [[ $? != 0 ]] then return fi - cd $DIR vm_boot $VM "-nographic" } vm_start() { cd $DIR + vm_check $VM + if [[ $? == 0 ]] + then + vm_boot $VM "-display" "none" "-daemonize" + return + fi for NAME in "${NAMES[@]}" do vm_boot $NAME "-display" "none" "-daemonize" @@ -131,18 +139,30 @@ vm_cmd() { then return fi - ssh-add "$USER/$USER" - ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no "$USER@localhost" -p "${SSH_PORTS[$1]}" $2 + ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no "$USER@$HOST" -p "${SSH_PORTS[$1]}" $2 } vm_ssh() { cd $DIR + ssh-add "$USER/$USER" &> /dev/null vm_cmd $VM } +vm_sync() { + echo "TODO ${FUNCNAME[0]}" +} + +vm_test() { + echo "TODO ${FUNCNAME[0]}" +} + vm_stop() { - local ACTION=$1 + local ACTION="$1" cd $DIR + if [[ "$ACTION" != "KILL" ]] + then + ssh-add "$USER/$USER" &> /dev/null + fi for NAME in "${NAMES[@]}" do local PID_FILE="${PID_FILES[$NAME]}" @@ -151,8 +171,10 @@ vm_stop() { if [[ "$ACTION" == "KILL" ]] then kill $(cat $PID_FILE) + echo "VM $NAME force stop" else vm_cmd $NAME "sudo poweroff" + echo "VM $NAME powering off" fi fi done @@ -171,11 +193,12 @@ vm_clean() { return fi rm -r $DIR - echo -e "\nRemoved $DIR testing directory" + echo -e "\nRemoved $DIR directory" } vm_help() { - echo "Usage $SCRIPT -init|-cli|-start|-ssh|-test|-stop|-kill|-clean|-help" + echo "See TESTING" + echo "Usage $SCRIPT -init|-setup|-cli|-start|-ssh|-sync|-test|-stop|-kill|-clean|-help" } case $OPTION in @@ -194,7 +217,11 @@ case $OPTION in -ssh) vm_ssh ;; + -sync) + vm_sync + ;; -test) + vm_test ;; -stop) vm_stop |
