aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xQTIP.sh67
-rw-r--r--README4
-rw-r--r--Test-cases/Bare_vs_Bare/Config.yaml4
-rw-r--r--Test-cases/Bare_vs_VM/Config.yaml2
-rw-r--r--Test-cases/Bare_vs_VM/SampleHeat.yaml93
-rwxr-xr-xclean.sh2
6 files changed, 148 insertions, 24 deletions
diff --git a/QTIP.sh b/QTIP.sh
index dcefb29f..2a313420 100755
--- a/QTIP.sh
+++ b/QTIP.sh
@@ -1,6 +1,6 @@
#! /bin/bash
-#DIR1= $PWD
+WDIR=$PWD
@@ -35,6 +35,26 @@ function Call_Test {
}
+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)
@@ -43,22 +63,25 @@ case "$1" in
;;
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
+ Fetch_VM_Image
+
+ ipvar=$(cat $PWD/Test-cases/Bare_vs_VM/Config.yaml | grep "Machine_1_IP" | awk '{print$2;}')
+
- VAR1=$( heat stack-show exp2 | grep "stack_status_reason" | awk '{print $6;}')
- echo $VAR1
- while [ "$VAR1" != completed ]
+ 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
+ echo VM Created
if [ "$VAR1" == "completed" ]; then
VAR=$( heat stack-show exp2 | grep "output_value" | awk '{print $4;}'| cut -d '"' -f2)
@@ -87,19 +110,17 @@ case "$1" in
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
+
+ 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
- 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
+ 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
@@ -109,8 +130,8 @@ case "$1" in
;;
*)
- echo Incorrect Arguments passed to the script. Run script with -h for more helo
-
+ echo Incorrect Arguments passed to the script. Run script with -h for more help
+ ;;
esac
diff --git a/README b/README
index 0303342e..0f007476 100644
--- a/README
+++ b/README
@@ -37,7 +37,11 @@ Requirments:
2. Python 2.7
+Configuring Test Cases:
+Test cases can be found within the Test-cases directory.
+For each Test case, a Config.yaml file contains the details for the machines upon which the benchmarks would run.
+Edit the IP and the Password fields within the files for the machines on which the benchmark is to run.
A robust framework that would allow to include more tests would be included within the future
diff --git a/Test-cases/Bare_vs_Bare/Config.yaml b/Test-cases/Bare_vs_Bare/Config.yaml
new file mode 100644
index 00000000..6612cbdc
--- /dev/null
+++ b/Test-cases/Bare_vs_Bare/Config.yaml
@@ -0,0 +1,4 @@
+Machine_1_IP: 172.18.0.17
+Machine_1_Password: Op3nStack
+Machine_2_IP: 172.18.0.16
+Machine_2_Password: Op3nStack
diff --git a/Test-cases/Bare_vs_VM/Config.yaml b/Test-cases/Bare_vs_VM/Config.yaml
new file mode 100644
index 00000000..e410a632
--- /dev/null
+++ b/Test-cases/Bare_vs_VM/Config.yaml
@@ -0,0 +1,2 @@
+Machine_1_IP: 172.18.0.17
+Machine_1_Password: Op3nStack
diff --git a/Test-cases/Bare_vs_VM/SampleHeat.yaml b/Test-cases/Bare_vs_VM/SampleHeat.yaml
new file mode 100644
index 00000000..6ee76ac0
--- /dev/null
+++ b/Test-cases/Bare_vs_VM/SampleHeat.yaml
@@ -0,0 +1,93 @@
+ heat_template_version: 2014-10-16
+
+ description: Test10
+
+ parameters:
+
+ public_network:
+ type: string
+ label: Public Network name or ID
+ description: Public network with floating IPs
+ default: "provider_network"
+
+ private_net_name:
+ type: string
+ default: "private_network"
+
+ availability_zone:
+ type: string
+ description: The Availability Zone to launch the instance.
+ default: compute1
+
+ resources:
+
+ private_network:
+ type: OS::Neutron::Net
+
+
+ private_subnet:
+ type: OS::Neutron::Subnet
+ properties:
+ network_id: { get_resource: private_network }
+ cidr: 10.10.17.0/24
+ dns_nameservers:
+ - 8.8.8.8
+
+ router_1:
+ type: OS::Neutron::Router
+ properties:
+ external_gateway_info:
+ network: { get_param: public_network }
+
+ router_interface:
+ type: OS::Neutron::RouterInterface
+ properties:
+ router_id: { get_resource: router_1 }
+ subnet: { get_resource: private_subnet }
+
+ public_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_resource: private_network }
+ security_groups: [{ get_resource: demo1_security_Group }]
+
+ floating_ip:
+ type: OS::Neutron::FloatingIP
+ properties:
+ floating_network: { get_param: public_network }
+
+ floating_ip_assoc:
+ type: OS::Neutron::FloatingIPAssociation
+ properties:
+ floatingip_id: { get_resource: floating_ip }
+ port_id: { get_resource: public_port }
+
+ demo1_security_Group:
+ type: OS::Neutron::SecurityGroup
+ properties:
+ name: demo1_security_Group
+ rules:
+ - protocol: tcp
+ port_range_min: 22
+ port_range_max: 22
+ - protocol: icmp
+
+ my_instance:
+ type: OS::Nova::Server
+ properties:
+ image: QTIP_CentOS7
+ flavor: m1.large
+ availability_zone: { get_param: availability_zone }
+ networks:
+ - port: { get_resource: public_port }
+
+
+
+ outputs:
+ instance_ip:
+ description: IP address of the instance
+ value: { get_attr: [floating_ip, floating_ip_address] }
+
+
+
+
diff --git a/clean.sh b/clean.sh
index 69aab1bf..77cc3463 100755
--- a/clean.sh
+++ b/clean.sh
@@ -1,6 +1,6 @@
#! /bin/bash
echo cleaning Ip
-sed -i -e '/demo1/{n;N;N;N;N;N;d}' /etc/ansible/hosts
+sed -i -e '/demo1/{n;N;d;}' /etc/ansible/hosts
neutron floatingip-delete $(neutron floatingip-list| grep "17" | awk '{print $2;}')
heat stack-delete exp2