]> git.proxmox.com Git - ceph.git/blob - ceph/src/spdk/test/vhost/fiotest/vm_ssh.sh
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / spdk / test / vhost / fiotest / vm_ssh.sh
1 #!/usr/bin/env bash
2
3 BASE_DIR=$(readlink -f $(dirname $0))
4 [[ -z "$TEST_DIR" ]] && TEST_DIR="$(cd $BASE_DIR/../../../../ && pwd)"
5
6 function usage()
7 {
8 [[ ! -z $2 ]] && ( echo "$2"; echo ""; )
9 echo "Shortcut script for connecting to or executing command on selected VM"
10 echo "Usage: $(basename $1) [OPTIONS] VM_NUMBER"
11 echo
12 echo "-h, --help print help and exit"
13 echo " --work-dir=WORK_DIR Where to find build file. Must exist. [default: $TEST_DIR]"
14 echo "-w Don't wait for vm to boot"
15 echo "-x set -x for script debug"
16 exit 0
17 }
18
19 boot_wait=true
20 while getopts 'xwh-:' optchar; do
21 case "$optchar" in
22 -)
23 case "$OPTARG" in
24 help) usage $0 ;;
25 work-dir=*) TEST_DIR="${OPTARG#*=}" ;;
26 *) usage $0 "Invalid argument '$OPTARG'" ;;
27 esac ;;
28 h) usage $0 ;;
29 w) boot_wait=false ;;
30 x) set -x ;;
31 *) usage $0 "Invalid argument '$OPTARG'" ;;
32 esac
33 done
34
35 . $BASE_DIR/common.sh
36
37 shift $((OPTIND-1))
38 vm_num="$1"
39 shift
40
41
42 if ! vm_num_is_valid $vm_num; then
43 usage $0 "Invalid VM num $vm_num"
44 exit 1
45 fi
46
47 if $boot_wait; then
48 while ! vm_os_booted $vm_num; do
49 if ! vm_is_running $vm_num; then
50 echo "ERROR: VM$vm_num is not running"
51 exit 1
52 fi
53 echo "INFO: waiting for VM$vm_num to boot"
54 sleep 1
55 done
56 fi
57
58 vm_ssh $vm_num "$@"