blob: 483f5831675b85b9da54e8568d470b7a0cadb657 [file] [log] [blame]
gstepanov08c0d7e2015-03-25 23:55:44 +02001FUEL_MASTER_IP=$1
2FUEL_MASTER_PASSWD=$2
3EXTERNAL_IP=$3
4KEY_FILE_NAME=$4
5
6if [ ! -z $5 ]
7then
8 FILE_TO_TEST=$5
9else
10 FILE_TO_TEST="bbb.txt"
11fi
12
13if [ ! -z $6 ]
14then
15 FILE_TO_STORE_RESULTS=$6
16else
17 FILE_TO_STORE_RESULTS="aaa.txt"
18fi
19
20if [ ! -z $7 ]
21then
22 TIMEOUT=$7
23else
24 TIMEOUT=60
25fi
26
27
28echo "Fuel master IP: $FUEL_MASTER_IP"
29echo "Fuel master password: $FUEL_MASTER_PASSWD"
30echo "External IP: $EXTERNAL_IP"
31echo "Key file name: $KEY_FILE_NAME"
32
33# note : function will works properly only when image dame is single string without spaces that can brake awk
34function wait_image_active() {
35 image_state="none"
36 image_name=$IMAGE_NAME
37 counter=0
38
39 while [ $image_state != "active" ] ; do
40 sleep 1
41 image_state=$(glance image-list | grep $image_name | awk '{print $12}')
42 echo $image_state
43 counter=$((counter + 1))
44
45 if [ $counter -eq $TIMEOUT ]
46 then
47 echo "Time limit exceed"
48 break
49 fi
50 done
51}
52
53
54function wait_floating_ip() {
55 sleep 10
56 floating_ip="|"
57 vm_name=$VM_NAME
58 counter=0
59
60 while [ $floating_ip != "|" ] ; do
61 sleep 1
62 floating_ip=$(nova floating-ip-list | grep $vm_name | awk '{print $13}' | head -1)
63 counter=$((counter + 1))
64
65 if [ $counter -eq $TIMEOUT ]
66 then
67 echo "Time limit exceed"
68 break
69 fi
70 done
71}
72
73
74function wait_vm_deleted() {
75 vm_name=$(nova list| grep $VM_NAME| awk '{print $4}'| head -1)
76 counter=0
77
78 while [ ! -z $vm_name ] ; do
79 sleep 1
80 vm_name=$(nova list| grep $VM_NAME| awk '{print $4}'| head -1)
81 counter=$((counter + 1))
82
83 if [ $counter -eq $TIMEOUT ]
84 then
85 echo "Time limit exceed"
86 break
87 fi
88 done
89}
90
91source run_vm.sh $FUEL_MASTER_IP $FUEL_MASTER_PASSWD $EXTERNAL_IP
92source `get_openrc`
93list=$(nova list)
94if [ "$list" == "" ]; then
95 echo "openrc variables are unset or set to the empty string"
96fi
97
98IP=$(nova floating-ip-list | grep $FLOATING_NET | awk '{if ($5 == "-") print $2}' | head -n1)
99
100if [ -z $IP ]; then
101 IP=$(nova floating-ip-create net04_ext| awk '{print $2}')
102
103 if [ -z $list ]; then
104 echo "Cannot allocate new floating ip"
105 fi
106fi
107
108VM_IP=$IP
109echo "VM IP: $VM_IP"
110
111# sends images to glance
112bash prepare.sh
113wait_image_active
114echo "Image has been saved"
115VOL_ID=$(boot_vm)
116echo "VM has been booted"
117wait_floating_ip
118echo "Floating IP has been obtained"
119source `prepare_vm`
120echo "VM has been prepared"
121ssh -i $KEY_FILE_NAME ubuntu@$VM_IP \
122 "cd /tmp/io_scenario; sudo bash ../single_node_test_short.sh $FILE_TO_TEST $FILE_TO_STORE_RESULTS"
123nova delete $VM_NAME
124wait_vm_deleted
125echo "$VM_NAME has been deleted successfully"
126cinder delete $VOL_ID
127echo "Volume has been deleted $VOL_ID"