blob: 1491f8f010ac815200df0ff5748c42acd46facda [file] [log] [blame]
koder aka kdanilov8ad6e812015-03-22 14:42:18 +02001#!/bin/bash
2MASTER_IP=$1
3FUEL_PASSWD=$2
gstepanov08c0d7e2015-03-25 23:55:44 +02004NEW_IP=$3
gstepanovd2826632015-04-02 15:01:18 +03005FIXED_NET_NAME=$4
6FLOATING_NET=$5
7VM_NAME=disk-io-test
koder aka kdanilov8ad6e812015-03-22 14:42:18 +02008
koder aka kdanilovee4b2412015-03-22 23:32:35 +02009# VM_IP=$(nova floating-ip-create "$FLOATIN_NET" | grep "$FLOATIN_NET" | awk '{print $2}')
gstepanovcddbe3b2015-03-26 19:05:48 +020010VM_IP=172.16.55.23
gstepanov08c0d7e2015-03-25 23:55:44 +020011OS_ORIGIN_IP=10.20.0.129
12OS_EXT_IP=172.16.53.66
koder aka kdanilov8ad6e812015-03-22 14:42:18 +020013
gstepanov08c0d7e2015-03-25 23:55:44 +020014
15
gstepanovd2826632015-04-02 15:01:18 +030016FIXED_NET_NAME="novanetwork"
17FLOATING_NET="nova"
koder aka kdanilov8ad6e812015-03-22 14:42:18 +020018
gstepanov08c0d7e2015-03-25 23:55:44 +020019my_dir="$(dirname -- "$0")"
20source "$my_dir/config.sh"
koder aka kdanilov8ad6e812015-03-22 14:42:18 +020021SSH_OVER_MASTER="sshpass -p${FUEL_PASSWD} ssh root@${MASTER_IP}"
22VOLUME_NAME="test-volume"
23VOLUME_SIZE=20
24VOLUME_DEVICE="/dev/vdb"
25
koder aka kdanilov8ad6e812015-03-22 14:42:18 +020026
27function get_openrc() {
28 OPENRC=`tempfile`
29 CONTROLLER_NODE=$($SSH_OVER_MASTER fuel node | grep controller | awk '-F|' '{gsub(" ", "", $5); print $5}')
gstepanov08c0d7e2015-03-25 23:55:44 +020030 $SSH_OVER_MASTER ssh $CONTROLLER_NODE cat openrc 2>/dev/null | \
31 sed -r 's/(\b[0-9]{1,3}\.){3}[0-9]{1,3}\b'/$NEW_IP/ > $OPENRC
koder aka kdanilov8ad6e812015-03-22 14:42:18 +020032 echo $OPENRC
33}
34
koder aka kdanilovee4b2412015-03-22 23:32:35 +020035function wait_vm_active() {
36 vm_state="none"
gstepanov08c0d7e2015-03-25 23:55:44 +020037 vm_name=$VM_NAME
38 counter=0
koder aka kdanilovee4b2412015-03-22 23:32:35 +020039
gstepanov08c0d7e2015-03-25 23:55:44 +020040 while [ $vm_state != "ACTIVE" ] ; do
koder aka kdanilovee4b2412015-03-22 23:32:35 +020041 sleep 1
42 vm_state=$(nova list | grep $vm_name | awk '{print $6}')
gstepanov08c0d7e2015-03-25 23:55:44 +020043 counter=$((counter + 1))
44
45 if [ $counter -eq $TIMEOUT ]
46 then
47 echo "Time limit exceed"
48 break
49 fi
koder aka kdanilovee4b2412015-03-22 23:32:35 +020050 done
51}
52
koder aka kdanilov8ad6e812015-03-22 14:42:18 +020053function boot_vm() {
54 FIXED_NET_ID=$(nova net-list | grep "\b${FIXED_NET_NAME}\b" | awk '{print $2}')
gstepanovd2826632015-04-02 15:01:18 +030055 echo "FIXED NET id : $FIXED_NET_ID"
56 sleep 10
57
gstepanov08c0d7e2015-03-25 23:55:44 +020058 VOL_ID=$(cinder create --display-name $VOLUME_NAME $VOLUME_SIZE | grep '\bid\b' | grep available | awk '{print $4}')
59
60 if [ -z $VOL_ID ]; then
61 VOL_ID=$(cinder list | grep test-volume | grep available| awk '{print $2}'| head -1)
62 fi
63
koder aka kdanilovee4b2412015-03-22 23:32:35 +020064 nova boot --flavor "$FLAVOR_NAME" --image "$IMAGE_NAME" --key-name "$KEYPAIR_NAME" --security-groups default --nic net-id=$FIXED_NET_ID $VM_NAME >/dev/null
65 wait_vm_active $VM_NAME
66
67 nova floating-ip-associate $VM_NAME $VM_IP
gstepanov08c0d7e2015-03-25 23:55:44 +020068
koder aka kdanilovee4b2412015-03-22 23:32:35 +020069 nova volume-attach $VM_NAME $VOL_ID $VOLUME_DEVICE >/dev/null
koder aka kdanilovfb23a262015-03-27 16:50:58 +020070 echo "VOL_ID=$VOL_ID"
koder aka kdanilov8ad6e812015-03-22 14:42:18 +020071}
72
73function prepare_vm() {
gstepanov08c0d7e2015-03-25 23:55:44 +020074 echo "Copy io scenario folded"
koder aka kdanilovfb23a262015-03-27 16:50:58 +020075 scp -i "$KEY_FILE_NAME" -r ../io_scenario ubuntu@${VM_IP}:/tmp >/dev/null
76
gstepanov08c0d7e2015-03-25 23:55:44 +020077 echo "Copy DEBS packages"
koder aka kdanilovfb23a262015-03-27 16:50:58 +020078 scp -i "$KEY_FILE_NAME" $DEBS ubuntu@${VM_IP}:/tmp >/dev/null
79
gstepanov08c0d7e2015-03-25 23:55:44 +020080 echo "Copy single_node_test_short"
koder aka kdanilovfb23a262015-03-27 16:50:58 +020081 scp -i "$KEY_FILE_NAME" single_node_test_short.sh ubuntu@${VM_IP}:/tmp >/dev/null
82
gstepanov08c0d7e2015-03-25 23:55:44 +020083 echo "dpkg on vm"
koder aka kdanilovfb23a262015-03-27 16:50:58 +020084 ssh $SSH_OPTS -i "$KEY_FILE_NAME" ubuntu@${VM_IP} sudo dpkg -i $DEBS >/dev/null
koder aka kdanilov8ad6e812015-03-22 14:42:18 +020085}
86
87function prepare_node() {
koder aka kdanilovfb23a262015-03-27 16:50:58 +020088 # set -e
89 # set -o pipefail
gstepanovb65b9a82015-03-28 18:09:17 +020090 echo "Preparing node"
koder aka kdanilov8ad6e812015-03-22 14:42:18 +020091 COMPUTE_NODE=$($SSH_OVER_MASTER fuel node | grep compute | awk '-F|' '{gsub(" ", "", $5); print $5}')
92
gstepanovb65b9a82015-03-28 18:09:17 +020093 echo "Copying io_scenario to compute node"
94 sshpass -p${FUEL_MASTER_PASSWD} scp -r ../io_scenario root@${FUEL_MASTER_IP}:/tmp
koder aka kdanilovee4b2412015-03-22 23:32:35 +020095 $SSH_OVER_MASTER scp -r /tmp/io_scenario $COMPUTE_NODE:/tmp >/dev/null
koder aka kdanilov8ad6e812015-03-22 14:42:18 +020096
gstepanovb65b9a82015-03-28 18:09:17 +020097 echo "Copying debs to compute node"
98 sshpass -p${FUEL_MASTER_PASSWD} scp $DEBS root@${FUEL_MASTER_IP}:/tmp
koder aka kdanilov8ad6e812015-03-22 14:42:18 +020099
100 $SSH_OVER_MASTER scp $DEBS $COMPUTE_NODE:/tmp
101 $SSH_OVER_MASTER ssh $COMPUTE_NODE dpkg -i $DEBS
102
gstepanovb65b9a82015-03-28 18:09:17 +0200103 echo "Copying single_node_test.sh to compute node"
104 sshpass -p${FUEL_MASTER_PASSWD} scp single_node_test_short.sh root@${FUEL_MASTER_IP}:/tmp
koder aka kdanilov8ad6e812015-03-22 14:42:18 +0200105 $SSH_OVER_MASTER scp /tmp/single_node_test_short.sh $COMPUTE_NODE:/tmp
106}
107
108function download_debs() {
109 pushd /tmp >/dev/null
110 rm -f *.deb >/dev/null
111 aptitude download libibverbs1 librdmacm1 libaio1 fio >/dev/null
112 popd >/dev/null
113 echo /tmp/*.deb
114}
115
koder aka kdanilovee4b2412015-03-22 23:32:35 +0200116# OPENRC=`get_openrc`
117# source $OPENRC
118# rm $OPENRC
koder aka kdanilov8ad6e812015-03-22 14:42:18 +0200119
koder aka kdanilovee4b2412015-03-22 23:32:35 +0200120# boot_vm
121# prepare_vm
koder aka kdanilov8ad6e812015-03-22 14:42:18 +0200122
123