blob: 9500cd124a958be65af042f20c097c0836628133 [file] [log] [blame]
gstepanov08c0d7e2015-03-25 23:55:44 +02001FUEL_MASTER_IP=$1
koder aka kdanilovac16aae2015-03-27 12:28:31 +02002FUEL_MASTER_PASSWD=$2 # koder: put default here
gstepanov08c0d7e2015-03-25 23:55:44 +02003EXTERNAL_IP=$3
koder aka kdanilovac16aae2015-03-27 12:28:31 +02004KEY_FILE_NAME=$4 # koder: put default here
gstepanov08c0d7e2015-03-25 23:55:44 +02005
gstepanovcddbe3b2015-03-26 19:05:48 +02006
koder aka kdanilovac16aae2015-03-27 12:28:31 +02007# koder: this can be made in one line
gstepanov08c0d7e2015-03-25 23:55:44 +02008if [ ! -z $5 ]
9then
10 FILE_TO_TEST=$5
11else
12 FILE_TO_TEST="bbb.txt"
13fi
14
koder aka kdanilovac16aae2015-03-27 12:28:31 +020015# koder: this can be made in one line, change name
gstepanov08c0d7e2015-03-25 23:55:44 +020016if [ ! -z $6 ]
17then
18 FILE_TO_STORE_RESULTS=$6
19else
20 FILE_TO_STORE_RESULTS="aaa.txt"
21fi
22
koder aka kdanilovac16aae2015-03-27 12:28:31 +020023# koder: this can be made in one line
gstepanov08c0d7e2015-03-25 23:55:44 +020024if [ ! -z $7 ]
25then
26 TIMEOUT=$7
27else
28 TIMEOUT=60
29fi
30
koder aka kdanilovac16aae2015-03-27 12:28:31 +020031# CHEKC THAT ALL PARAMETERS CORRECT - files exists, etc
32
gstepanov08c0d7e2015-03-25 23:55:44 +020033
34echo "Fuel master IP: $FUEL_MASTER_IP"
35echo "Fuel master password: $FUEL_MASTER_PASSWD"
36echo "External IP: $EXTERNAL_IP"
37echo "Key file name: $KEY_FILE_NAME"
38
39# note : function will works properly only when image dame is single string without spaces that can brake awk
40function wait_image_active() {
41 image_state="none"
koder aka kdanilov94e3a2c2015-03-27 11:36:34 +020042 image_name="$IMAGE_NAME"
gstepanov08c0d7e2015-03-25 23:55:44 +020043 counter=0
44
koder aka kdanilovac16aae2015-03-27 12:28:31 +020045 # put $var in "" everywhere
gstepanovcddbe3b2015-03-26 19:05:48 +020046 while [ ! $image_state eq "active" ] ; do
gstepanov08c0d7e2015-03-25 23:55:44 +020047 sleep 1
48 image_state=$(glance image-list | grep $image_name | awk '{print $12}')
49 echo $image_state
50 counter=$((counter + 1))
51
koder aka kdanilov94e3a2c2015-03-27 11:36:34 +020052 if [ "$counter" -eq "$TIMEOUT" ]
gstepanov08c0d7e2015-03-25 23:55:44 +020053 then
54 echo "Time limit exceed"
55 break
56 fi
57 done
58}
59
60
61function wait_floating_ip() {
koder aka kdanilovac16aae2015-03-27 12:28:31 +020062 sleep 10 # << remove
gstepanov08c0d7e2015-03-25 23:55:44 +020063 floating_ip="|"
64 vm_name=$VM_NAME
65 counter=0
66
67 while [ $floating_ip != "|" ] ; do
68 sleep 1
69 floating_ip=$(nova floating-ip-list | grep $vm_name | awk '{print $13}' | head -1)
70 counter=$((counter + 1))
71
72 if [ $counter -eq $TIMEOUT ]
73 then
74 echo "Time limit exceed"
75 break
76 fi
77 done
78}
79
80
81function wait_vm_deleted() {
82 vm_name=$(nova list| grep $VM_NAME| awk '{print $4}'| head -1)
83 counter=0
84
85 while [ ! -z $vm_name ] ; do
86 sleep 1
87 vm_name=$(nova list| grep $VM_NAME| awk '{print $4}'| head -1)
88 counter=$((counter + 1))
89
90 if [ $counter -eq $TIMEOUT ]
91 then
92 echo "Time limit exceed"
93 break
94 fi
95 done
96}
97
gstepanovcddbe3b2015-03-26 19:05:48 +020098bash run_vm.sh $FUEL_MASTER_IP $FUEL_MASTER_PASSWD $EXTERNAL_IP
gstepanov08c0d7e2015-03-25 23:55:44 +020099source `get_openrc`
100list=$(nova list)
101if [ "$list" == "" ]; then
102 echo "openrc variables are unset or set to the empty string"
103fi
104
105IP=$(nova floating-ip-list | grep $FLOATING_NET | awk '{if ($5 == "-") print $2}' | head -n1)
106
koder aka kdanilovac16aae2015-03-27 12:28:31 +0200107if [ -z $IP ]; then # fix net name
gstepanov08c0d7e2015-03-25 23:55:44 +0200108 IP=$(nova floating-ip-create net04_ext| awk '{print $2}')
109
110 if [ -z $list ]; then
111 echo "Cannot allocate new floating ip"
koder aka kdanilovac16aae2015-03-27 12:28:31 +0200112 # exit....
gstepanov08c0d7e2015-03-25 23:55:44 +0200113 fi
114fi
115
116VM_IP=$IP
117echo "VM IP: $VM_IP"
118
119# sends images to glance
120bash prepare.sh
121wait_image_active
122echo "Image has been saved"
123VOL_ID=$(boot_vm)
124echo "VM has been booted"
125wait_floating_ip
126echo "Floating IP has been obtained"
127source `prepare_vm`
128echo "VM has been prepared"
gstepanovcddbe3b2015-03-26 19:05:48 +0200129
130# sudo bash ../single_node_test_short.sh $FILE_TO_TEST $FILE_TO_STORE_RESULTS
131
koder aka kdanilovac16aae2015-03-27 12:28:31 +0200132# ssh $SSH_OPTS -i $KEY_FILE_NAME ubuntu@$VM_IP \
133# "cd /tmp/io_scenario; echo 'results' > $FILE_TO_STORE_RESULTS; \
134# curl -X POST -d @$FILE_TO_STORE_RESULTS http://http://172.16.52.80/api/test --header 'Content-Type:application/json'"
gstepanovcddbe3b2015-03-26 19:05:48 +0200135
136# nova delete $VM_NAME
137# wait_vm_deleted
138# echo "$VM_NAME has been deleted successfully"
139# cinder delete $VOL_ID
140# echo "Volume has been deleted $VOL_ID"