Scripts for running smoke tests on the undercloud VM. 49/15949/3
authorspisarski <s.pisarski@cablelabs.com>
Wed, 22 Jun 2016 14:49:24 +0000 (08:49 -0600)
committerspisarski <s.pisarski@cablelabs.com>
Wed, 6 Jul 2016 19:21:18 +0000 (13:21 -0600)
Tested against Apex Brahmaputra as I have had many issues getting a Colorado environment up and running.

Moved Ansible playbooks and scripts from ci/smoke_tests/ to tests/smoke_tests/
Rebase to master...

Change-Id: I09273de659c76d32ccfb74a548dabf7f84c65d6d
Signed-off-by: spisarski <s.pisarski@cablelabs.com>
ci/run_smoke_tests.sh [new file with mode: 0755]
lib/utility-functions.sh
tests/smoke_tests/execute_smoke_tests.sh [new file with mode: 0755]
tests/smoke_tests/execute_tests.yml [new file with mode: 0644]
tests/smoke_tests/prepare_undercloud.yml [new file with mode: 0644]
tests/smoke_tests/smoke_tests.yml [new file with mode: 0644]

diff --git a/ci/run_smoke_tests.sh b/ci/run_smoke_tests.sh
new file mode 100755 (executable)
index 0000000..b059952
--- /dev/null
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+source ../lib/utility-functions.sh
+
+ansible-playbook -i "$(get_undercloud_ip)," ../tests/smoke_tests/smoke_tests.yml
index 9305070..f73a2d8 100644 (file)
@@ -15,14 +15,19 @@ function undercloud_connect {
   fi
 
   if [ -z "$2" ]; then
-    ssh ${SSH_OPTIONS[@]} ${user}@$(arp -a | grep $(virsh domiflist undercloud | grep default |\
-    awk '{print $5}') | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+")
+    ssh ${SSH_OPTIONS[@]} ${user}@$(get_undercloud_ip)
   else
-    ssh ${SSH_OPTIONS[@]} -T ${user}@$(arp -a | grep $(virsh domiflist undercloud | grep default \
-    | awk '{print $5}') | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+") "$2"
+    ssh ${SSH_OPTIONS[@]} -T ${user}@$(get_undercloud_ip) "$2"
   fi
 }
 
+##outputs the Undercloud's IP address
+##params: none
+function get_undercloud_ip {
+  echo $(arp -a | grep $(virsh domiflist undercloud | grep default |\
+    awk '{print $5}') | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+")
+}
+
 ##connects to overcloud nodes
 ##params: node to login to, command to execute on overcloud (optional)
 function overcloud_connect {
diff --git a/tests/smoke_tests/execute_smoke_tests.sh b/tests/smoke_tests/execute_smoke_tests.sh
new file mode 100755 (executable)
index 0000000..245ccc5
--- /dev/null
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+cd ~/provisioning/python
+export PYTHONPATH=$PYTHONPATH:$(pwd)
+
+python unit_test_suite.py ~stack/overcloudrc
\ No newline at end of file
diff --git a/tests/smoke_tests/execute_tests.yml b/tests/smoke_tests/execute_tests.yml
new file mode 100644 (file)
index 0000000..e232656
--- /dev/null
@@ -0,0 +1,9 @@
+---
+- hosts: all
+  sudo: yes
+
+  tasks:
+   - name: Copy execute_smoke_tests.sh
+     copy: src=execute_smoke_tests.sh dest=~/execute_smoke_tests.sh mode=0755
+   - name: Execute Tests
+     command: sh ~/execute_smoke_tests.sh | tee ~/unit_tests.out
\ No newline at end of file
diff --git a/tests/smoke_tests/prepare_undercloud.yml b/tests/smoke_tests/prepare_undercloud.yml
new file mode 100644 (file)
index 0000000..8f0cb70
--- /dev/null
@@ -0,0 +1,16 @@
+---
+- hosts: all
+  sudo: yes
+
+  tasks:
+   - yum: name=libffi
+   - yum: name=libffi-devel
+   - pip: name=python-keystoneclient
+   - pip: name=python-glanceclient
+   - pip: name=python-neutronclient
+   - pip: name=python-novaclient
+   - pip: name=scp
+   - pip: name=PyYAML
+   - pip: name=ansible==2.1.0
+
+   - git: repo=https://nougat.cablelabs.com/SNAPS/provisioning.git dest=~/provisioning
diff --git a/tests/smoke_tests/smoke_tests.yml b/tests/smoke_tests/smoke_tests.yml
new file mode 100644 (file)
index 0000000..b67c194
--- /dev/null
@@ -0,0 +1,3 @@
+---
+- include: prepare_undercloud.yml
+- include: execute_tests.yml
\ No newline at end of file