]> git.proxmox.com Git - ceph.git/blame - 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
CommitLineData
7c673cae
FG
1#!/usr/bin/env bash
2
3BASE_DIR=$(readlink -f $(dirname $0))
4[[ -z "$TEST_DIR" ]] && TEST_DIR="$(cd $BASE_DIR/../../../../ && pwd)"
5
6function 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
19boot_wait=true
20while 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
33done
34
35. $BASE_DIR/common.sh
36
37shift $((OPTIND-1))
38vm_num="$1"
39shift
40
41
42if ! vm_num_is_valid $vm_num; then
43 usage $0 "Invalid VM num $vm_num"
44 exit 1
45fi
46
47if $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
56fi
57
58vm_ssh $vm_num "$@"