aboutsummaryrefslogtreecommitdiff
path: root/tests/test-masakari.sh
diff options
context:
space:
mode:
authorKien Nguyen <kiennt65@viettel.com.vn>2018-11-07 09:09:04 +0700
committerGaëtan Trellu <gaetan.trellu@incloudus.com>2019-08-14 12:32:51 -0400
commitfbac54c5f5e4db06b26b7f57b1e30da7761bf826 (patch)
tree39e1f70e731679a01d1153755a5ffc3722504fc3 /tests/test-masakari.sh
parentb599f78dd726751b1e6d47a61430590fabd3f2e9 (diff)
downloadkolla-ansible-fbac54c5f5e4db06b26b7f57b1e30da7761bf826.tar.gz
kolla-ansible-fbac54c5f5e4db06b26b7f57b1e30da7761bf826.zip
Testing Masakari role in gate
Add Masakari testing into the Gate. Change-Id: I52df33f963e7d2ae4059887df3d24d9e6642134e Depends-On: https://review.opendev.org/#/c/615469/ Depends-On: https://review.opendev.org/#/c/615715 Implements: blueprint ansible-masakari Co-Authored-By: Gaëtan Trellu <gaetan.trellu@incloudus.com>
Diffstat (limited to 'tests/test-masakari.sh')
-rwxr-xr-xtests/test-masakari.sh62
1 files changed, 62 insertions, 0 deletions
diff --git a/tests/test-masakari.sh b/tests/test-masakari.sh
new file mode 100755
index 000000000..4601a2b58
--- /dev/null
+++ b/tests/test-masakari.sh
@@ -0,0 +1,62 @@
+#!/bin/bash
+
+set -o xtrace
+set -o errexit
+set -o pipefail
+
+# Enable unbuffered output for Ansible in Jenkins.
+export PYTHONUNBUFFERED=1
+
+function test_masakari_logged {
+
+ # Source OpenStack credentials
+ . /etc/kolla/admin-openrc.sh
+
+ # Activate virtualenv to access Masakari client
+ . ~/openstackclient-venv/bin/activate
+
+ # NOTE:(gtrellu) Masakari client/API has a bug which generate a mismatch
+ # between what the client send and what the API should received.
+ CLIENT_OPTS="--os-ha-api-version 1.0"
+
+ # Get the first Nova compute
+ if ! HYPERVISOR=$(openstack hypervisor list -f value -c 'Hypervisor Hostname' | head -n1); then
+ echo "Unable to get Nova hypervisor list"
+ return 1
+ fi
+
+ # Create Masakari segment
+ if ! openstack $CLIENT_OPTS segment create test_segment auto COMPUTE; then
+ echo "Unable to create Masakari segment"
+ return 1
+ fi
+
+ # Add Nova compute to Masakari segment
+ if ! openstack $CLIENT_OPTS segment host create $HYPERVISOR COMPUTE SSH test_segment; then
+ echo "Unable to add Nova hypervisor to Masakari segment"
+ return 1
+ fi
+
+ # Delete Masakari segment
+ if ! openstack $CLIENT_OPTS segment delete test_segment; then
+ echo "Unable to delete Masakari segment"
+ return 1
+ fi
+
+ # Exit virtualenv
+ deactivate
+}
+
+function test_masakari {
+ echo "Testing Masakari"
+ test_masakari_logged > /tmp/logs/ansible/test-masakari 2>&1
+ result=$?
+ if [[ $result != 0 ]]; then
+ echo "Testing Masakari failed. See ansible/test-masakari for details"
+ else
+ echo "Successfully tested Masakari. See ansible/test-masakari for details"
+ fi
+ return $result
+}
+
+test_masakari