blob: 2a31342068313e5d2f3be4ea8979736d0663e4a9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
#! /bin/bash
WDIR=$PWD
function Call_Test {
case "$1" in
dhrystone)
mkdir $PWD/results/dhrystone
ansible-playbook -s $PWD/benchmarks/playbooks/dhrystone.yaml --extra-vars "Dest_dir=$PWD/results" -v
;;
ramspeed)
mkdir $PWD/results/ramspeed
ansible-playbook -s $PWD/benchmarks/playbooks/ramspeedbench.yaml --extra-vars "Dest_dir=$PWD/results" -v
;;
cachebench)
mkdir $PWD/results/cachebench
ansible-playbook -s $PWD/benchmarks/playbooks/cachebench.yaml --extra-vars "Dest_dir=$PWD/results" -v
;;
whetstone)
mkdir $PWD/results/whetstone
ansible-playbook -s $PWD/benchmarks/playbooks/whetstone.yaml --extra-vars "Dest_dir=$PWD/results" -v
;;
*)
echo "Please pass a correct argument to test. use -h for more details"
;;
esac
}
function Fetch_VM_Image {
mkdir $PWD/Temp_Image
file="$PWD/Temp_Image/Cent7Modified.qcow2"
if [ -f "$file" ]
then
echo "Image already downdloaded"
else
echo "Fetching QTIP_VM Image"
cd $PWD/Temp_Image && wget https://www.dropbox.com/s/3uswrydrvhxw3qm/Cent7Modified.qcow2
echo "Uploading image to glance"
glance image-create --name "QTIP_CentOS" --is-public true --disk-format qcow2 \
--container-format bare \
--file $PWD/Temp_Image/Cent7Modified.qcow2
fi
cd $WDIR
}
mkdir $PWD/results
case "$1" in
-h)
printf "To run test.sh, 2 arguments are required\n"
printf "First argument: The Test case to run\nOptions:\nFirst: For a comparison between a baremetal machine and a VM\nSecond: For a comparison between two baremetal machines\n\nSecond argument: The Benchmark to run\nOptions:\ndhrystone\nwhetstone\nramspeed\ncachebench\n"
;;
First)
Fetch_VM_Image
ipvar=$(cat $PWD/Test-cases/Bare_vs_VM/Config.yaml | grep "Machine_1_IP" | awk '{print$2;}')
passwordvar=$(cat $PWD/Test-cases/Bare_vs_VM/Config.yaml | grep "Machine_1_Password" | awk '{print$2;}')
expect $PWD/data/ssh_exch.exp $ipvar $passwordvar
heat stack-create exp2 -f $PWD/Test-cases/Bare_vs_VM/SampleHeat.yaml
sleep 3
VAR1=$( heat stack-show exp2 | grep "stack_status_reason" | awk '{print $6;}')
echo $VAR1
while [ "$VAR1" != completed ]
do
echo VM is coming up
VAR1=$( heat stack-show exp2 | grep "stack_status_reason" | awk '{print $6;}')
#echo $VAR1
done
echo VM Created
if [ "$VAR1" == "completed" ]; then
VAR=$( heat stack-show exp2 | grep "output_value" | awk '{print $4;}'| cut -d '"' -f2)
echo IP of VM is:
echo $VAR
sed -i '/demo1/a '$VAR'' /etc/ansible/hosts
sed -i '/demo1/a '$ipvar'' /etc/ansible/hosts
echo Waiting for ping
while ! ping -c1 $VAR &> /dev/null; do
echo Waiting for ping
done
echo Ping detected
expect $PWD/data/ssh_exch.exp $VAR
Call_Test $2
echo cleaning environment
sleep 10
$PWD/clean.sh
fi
;;
Second)
ipvar=$(cat $PWD/Test-cases/Bare_vs_Bare/Config.yaml | grep "Machine_1_IP" | awk '{print$2;}')
echo $ipvar
passwordvar=$(cat $PWD/Test-cases/Bare_vs_Bare/Config.yaml | grep "Machine_1_IP_Password" | awk '{print$2;}')
echo $passwordvar
expect $PWD/data/ssh_exch.exp $ipvar $passwordvar
sed -i '/demo1/a '$ipvar'' /etc/ansible/hosts
ipvar=$(cat $PWD/Test-cases/Bare_vs_Bare/Config.yaml | grep "Machine_2_IP" | awk '{print$2;}')
passwordvar=$(cat $PWD/Test-cases/Bare_vs_Bare/Config.yaml | grep "Machine_2_IP_Password" | awk '{print$2;}')
expect $PWD/data/ssh_exch.exp $ipvar $passwordvar
sed -i '/demo1/a '$ipvar'' /etc/ansible/hosts
Call_Test $2
echo cleaning environment
sleep 10
$PWD/clean.sh
;;
*)
echo Incorrect Arguments passed to the script. Run script with -h for more help
;;
esac
|