From be7d640c05c34cd01d1f364e6b028607e93cc032 Mon Sep 17 00:00:00 2001
From: "wu.chunyang" <wuchunyang@yovole.com>
Date: Wed, 18 Nov 2020 22:53:04 +0800
Subject: [PATCH] [CI] Add trove smoke test CI

Add trove smoke test.

Change-Id: I571d9663bcadb1ddc5a7ad86a2c478706e0705a9
---
 tests/setup_gate.sh                |  4 ++--
 tests/templates/globals-default.j2 |  1 +
 tests/test-magnum.sh               | 13 ++++++++++---
 zuul.d/base.yaml                   |  2 +-
 4 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/tests/setup_gate.sh b/tests/setup_gate.sh
index 26d4f279e2..a408904c69 100755
--- a/tests/setup_gate.sh
+++ b/tests/setup_gate.sh
@@ -18,7 +18,7 @@ function setup_openstack_clients {
         packages+=(python-ironicclient python-ironic-inspector-client)
     fi
     if [[ $SCENARIO == magnum ]]; then
-        packages+=(python-designateclient python-magnumclient python-octaviaclient)
+        packages+=(python-designateclient python-magnumclient python-octaviaclient python-troveclient)
     fi
     if [[ $SCENARIO == masakari ]]; then
         packages+=(python-masakariclient)
@@ -63,7 +63,7 @@ function prepare_images {
         GATE_IMAGES+=",^dnsmasq,^ironic,^iscsid"
     fi
     if [[ $SCENARIO == "magnum" ]]; then
-        GATE_IMAGES+=",^designate,^magnum,^octavia"
+        GATE_IMAGES+=",^designate,^magnum,^octavia,^trove"
     fi
     if [[ $SCENARIO == "masakari" ]]; then
         GATE_IMAGES+=",^masakari"
diff --git a/tests/templates/globals-default.j2 b/tests/templates/globals-default.j2
index d593a87731..e414a12d59 100644
--- a/tests/templates/globals-default.j2
+++ b/tests/templates/globals-default.j2
@@ -154,5 +154,6 @@ enable_prometheus_openstack_exporter: "no"
 {% if scenario == "magnum" %}
 enable_designate: "yes"
 enable_magnum: "yes"
+enable_trove: "yes"
 enable_octavia: "yes"
 {% endif %}
diff --git a/tests/test-magnum.sh b/tests/test-magnum.sh
index bd43dd9451..6919f675da 100755
--- a/tests/test-magnum.sh
+++ b/tests/test-magnum.sh
@@ -18,6 +18,12 @@ function test_octavia {
     openstack loadbalancer list
 }
 
+function test_trove {
+  # smoke test
+    openstack database instance list
+    openstack database cluster list
+}
+
 function test_designate {
     # Smoke test.
     openstack zone list --all
@@ -62,16 +68,17 @@ function test_magnum_logged {
     test_magnum_clusters
     test_octavia
     test_designate
+    test_trove
 }
 
 function test_magnum {
-    echo "Testing Magnum, Octavia and Designate"
+    echo "Testing Magnum, Octavia, Trove and Designate"
     test_magnum_logged > /tmp/logs/ansible/test-magnum 2>&1
     result=$?
     if [[ $result != 0 ]]; then
-        echo "Testing Magnum, Octavia and Designate failed. See ansible/test-magnum for details"
+        echo "Testing Magnum, Octavia, Trove and Designate failed. See ansible/test-magnum for details"
     else
-        echo "Successfully tested Magnum, Octavia and Designate . See ansible/test-magnum for details"
+        echo "Successfully tested Magnum, Octavia, Trove and Designate . See ansible/test-magnum for details"
     fi
     return $result
 }
diff --git a/zuul.d/base.yaml b/zuul.d/base.yaml
index d0b86c752a..9a8b18b7de 100644
--- a/zuul.d/base.yaml
+++ b/zuul.d/base.yaml
@@ -132,7 +132,7 @@
     parent: kolla-ansible-base
     voting: false
     files:
-      - ^ansible/roles/(designate|magnum|octavia|octavia-certificates)/
+      - ^ansible/roles/(designate|magnum|octavia|octavia-certificates|trove)/
       - ^tests/test-dashboard.sh
       - ^tests/test-magnum.sh
     vars: