blob: 2f0f888d39fdb7af66c197dd09a7e39095a56af0 [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
gstepanovcddbe3b2015-03-26 19:05:48 +02005VM_NAME=disk-io-test2
koder aka kdanilov8ad6e812015-03-22 14:42:18 +02006
koder aka kdanilovee4b2412015-03-22 23:32:35 +02007# VM_IP=$(nova floating-ip-create "$FLOATIN_NET" | grep "$FLOATIN_NET" | awk '{print $2}')
gstepanovcddbe3b2015-03-26 19:05:48 +02008VM_IP=172.16.55.23
gstepanov08c0d7e2015-03-25 23:55:44 +02009OS_ORIGIN_IP=10.20.0.129
10OS_EXT_IP=172.16.53.66
koder aka kdanilov8ad6e812015-03-22 14:42:18 +020011
gstepanov08c0d7e2015-03-25 23:55:44 +020012
13
14FIXED_NET_NAME="net04"
koder aka kdanilov8ad6e812015-03-22 14:42:18 +020015FLOATING_NET="net04_ext"
16
gstepanov08c0d7e2015-03-25 23:55:44 +020017my_dir="$(dirname -- "$0")"
18source "$my_dir/config.sh"
koder aka kdanilov8ad6e812015-03-22 14:42:18 +020019SSH_OVER_MASTER="sshpass -p${FUEL_PASSWD} ssh root@${MASTER_IP}"
20VOLUME_NAME="test-volume"
21VOLUME_SIZE=20
22VOLUME_DEVICE="/dev/vdb"
23
koder aka kdanilov8ad6e812015-03-22 14:42:18 +020024
25function get_openrc() {
26 OPENRC=`tempfile`
27 CONTROLLER_NODE=$($SSH_OVER_MASTER fuel node | grep controller | awk '-F|' '{gsub(" ", "", $5); print $5}')
gstepanov08c0d7e2015-03-25 23:55:44 +020028 $SSH_OVER_MASTER ssh $CONTROLLER_NODE cat openrc 2>/dev/null | \
29 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 +020030 echo $OPENRC
31}
32
koder aka kdanilovee4b2412015-03-22 23:32:35 +020033function wait_vm_active() {
34 vm_state="none"
gstepanov08c0d7e2015-03-25 23:55:44 +020035 vm_name=$VM_NAME
36 counter=0
koder aka kdanilovee4b2412015-03-22 23:32:35 +020037
gstepanov08c0d7e2015-03-25 23:55:44 +020038 while [ $vm_state != "ACTIVE" ] ; do
koder aka kdanilovee4b2412015-03-22 23:32:35 +020039 sleep 1
40 vm_state=$(nova list | grep $vm_name | awk '{print $6}')
gstepanov08c0d7e2015-03-25 23:55:44 +020041 counter=$((counter + 1))
42
43 if [ $counter -eq $TIMEOUT ]
44 then
45 echo "Time limit exceed"
46 break
47 fi
koder aka kdanilovee4b2412015-03-22 23:32:35 +020048 done
49}
50
koder aka kdanilov8ad6e812015-03-22 14:42:18 +020051function boot_vm() {
52 FIXED_NET_ID=$(nova net-list | grep "\b${FIXED_NET_NAME}\b" | awk '{print $2}')
gstepanov08c0d7e2015-03-25 23:55:44 +020053 VOL_ID=$(cinder create --display-name $VOLUME_NAME $VOLUME_SIZE | grep '\bid\b' | grep available | awk '{print $4}')
54
55 if [ -z $VOL_ID ]; then
56 VOL_ID=$(cinder list | grep test-volume | grep available| awk '{print $2}'| head -1)
57 fi
58
koder aka kdanilovee4b2412015-03-22 23:32:35 +020059 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
60 wait_vm_active $VM_NAME
61
62 nova floating-ip-associate $VM_NAME $VM_IP
gstepanov08c0d7e2015-03-25 23:55:44 +020063
koder aka kdanilovee4b2412015-03-22 23:32:35 +020064 nova volume-attach $VM_NAME $VOL_ID $VOLUME_DEVICE >/dev/null
gstepanov08c0d7e2015-03-25 23:55:44 +020065 echo $VOL_ID
koder aka kdanilov8ad6e812015-03-22 14:42:18 +020066}
67
68function prepare_vm() {
koder aka kdanilovee4b2412015-03-22 23:32:35 +020069 scp -i "$KEY_FILE_NAME" -r ../io_scenario ubuntu@${VM_IP}:/tmp >/dev/null
gstepanov08c0d7e2015-03-25 23:55:44 +020070 echo "Copy io scenario folded"
koder aka kdanilovee4b2412015-03-22 23:32:35 +020071 scp -i "$KEY_FILE_NAME" $DEBS ubuntu@${VM_IP}:/tmp >/dev/null
gstepanov08c0d7e2015-03-25 23:55:44 +020072 echo "Copy DEBS packages"
koder aka kdanilovee4b2412015-03-22 23:32:35 +020073 scp -i "$KEY_FILE_NAME" single_node_test_short.sh ubuntu@${VM_IP}:/tmp >/dev/null
gstepanov08c0d7e2015-03-25 23:55:44 +020074 echo "Copy single_node_test_short"
gstepanovcddbe3b2015-03-26 19:05:48 +020075 ssh $SSH_OPTS -i "$KEY_FILE_NAME" ubuntu@${VM_IP} sudo dpkg -i $DEBS >/dev/null
gstepanov08c0d7e2015-03-25 23:55:44 +020076 echo "dpkg on vm"
koder aka kdanilov8ad6e812015-03-22 14:42:18 +020077}
78
79function prepare_node() {
80 COMPUTE_NODE=$($SSH_OVER_MASTER fuel node | grep compute | awk '-F|' '{gsub(" ", "", $5); print $5}')
81
82 sshpass -p${FUEL_PASSWD} scp -r ../io_scenario root@${MASTER_IP}:/tmp
koder aka kdanilovee4b2412015-03-22 23:32:35 +020083 $SSH_OVER_MASTER scp -r /tmp/io_scenario $COMPUTE_NODE:/tmp >/dev/null
koder aka kdanilov8ad6e812015-03-22 14:42:18 +020084
85 sshpass -p${FUEL_PASSWD} scp $DEBS root@${MASTER_IP}:/tmp
86
87 $SSH_OVER_MASTER scp $DEBS $COMPUTE_NODE:/tmp
88 $SSH_OVER_MASTER ssh $COMPUTE_NODE dpkg -i $DEBS
89
90 sshpass -p${FUEL_PASSWD} scp single_node_test_short.sh root@${MASTER_IP}:/tmp
91 $SSH_OVER_MASTER scp /tmp/single_node_test_short.sh $COMPUTE_NODE:/tmp
92}
93
94function download_debs() {
95 pushd /tmp >/dev/null
96 rm -f *.deb >/dev/null
97 aptitude download libibverbs1 librdmacm1 libaio1 fio >/dev/null
98 popd >/dev/null
99 echo /tmp/*.deb
100}
101
koder aka kdanilovee4b2412015-03-22 23:32:35 +0200102# OPENRC=`get_openrc`
103# source $OPENRC
104# rm $OPENRC
koder aka kdanilov8ad6e812015-03-22 14:42:18 +0200105
koder aka kdanilovee4b2412015-03-22 23:32:35 +0200106# boot_vm
107# prepare_vm
koder aka kdanilov8ad6e812015-03-22 14:42:18 +0200108
109