blob: dcefb29f1d470403987a9c2c7fea5272dcafca97 (
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
|
#! /bin/bash
#DIR1= $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
}
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)
echo "Enter the IP of the machine to be teststed for comparison to the VM"
read ipvar
echo "Enter the password of this machine"
read -s passwordvar
expect $PWD/data/ssh_exch.exp $ipvar $passwordvarp
heat stack-create exp2 -f $PWD/Test-cases/SampleHeat.yaml
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)
echo Second test to be written below
echo "Enter the IP of the first machine to be benchmarked for comparison"
read ipvar
echo "Enter the password of this machine"
read -s passwordvar
expect $PWD/data/ssh_exch.exp $ipvar $passwordvar
sed -i '/demo1/a '$ipvar'' /etc/ansible/hosts
echo "Enter the IP of the second machine to be benchmarked for comparison"
read ipvar
echo "Enter the password of this machine"
read -s passwordvar
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 helo
esac
|