aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMark Goddard <mark@stackhpc.com>2019-04-12 11:19:39 +0100
committerMark Goddard <mark@stackhpc.com>2020-09-17 15:01:53 +0000
commitd2326712d41e2a526dc7fef328f4b7dba7f58246 (patch)
treecb92d675c6e05091d754ae1ddfde288bf3c26d1d /tests
parentb49c86848dcd8d256e54d424d917a3b3b94d2d2c (diff)
downloadkolla-ansible-d2326712d41e2a526dc7fef328f4b7dba7f58246.tar.gz
kolla-ansible-d2326712d41e2a526dc7fef328f4b7dba7f58246.zip
CI: add magnum scenario, also covering octavia
Adds a new Zuul job, kolla-ansible-centos8-source-magnum, for testing deployment of Magnum, Octavia and associated services. Change-Id: I61b293ba6bb52064ea98a73e2dff0023fa01a2a2
Diffstat (limited to 'tests')
-rw-r--r--tests/run.yml25
-rwxr-xr-xtests/setup_gate.sh6
-rw-r--r--tests/templates/globals-default.j25
-rwxr-xr-xtests/test-magnum.sh40
4 files changed, 76 insertions, 0 deletions
diff --git a/tests/run.yml b/tests/run.yml
index de2ca429f..adee4326c 100644
--- a/tests/run.yml
+++ b/tests/run.yml
@@ -166,6 +166,24 @@
dest: ironic-agent.kernel
when: scenario == "ironic"
+ - block:
+ - name: ensure octavia config directory exists
+ file:
+ path: /etc/kolla/config/octavia
+ state: directory
+ mode: 0777
+
+ - name: create dummy TLS certificates for octavia
+ file:
+ path: "/etc/kolla/config/octavia/{{ item }}"
+ state: touch
+ with_items:
+ - client.cert-and-key.pem
+ - client_ca.cert.pem
+ - server_ca.cert.pem
+ - server_ca.key.pem
+ when: scenario == 'magnum'
+
- name: ensure /etc/ansible exists
file:
path: /etc/ansible
@@ -385,6 +403,13 @@
chdir: "{{ kolla_ansible_src_dir }}"
when: scenario == "ironic"
+ - name: Run test-magnum.sh script
+ script:
+ cmd: test-magnum.sh
+ executable: /bin/bash
+ chdir: "{{ kolla_ansible_src_dir }}"
+ when: scenario == "magnum"
+
- name: Run test-masakari.sh script
script:
cmd: test-masakari.sh
diff --git a/tests/setup_gate.sh b/tests/setup_gate.sh
index e5a77388f..3b1fc78e7 100755
--- a/tests/setup_gate.sh
+++ b/tests/setup_gate.sh
@@ -17,6 +17,9 @@ function setup_openstack_clients {
if [[ $SCENARIO == ironic ]]; then
packages+=(python-ironicclient python-ironic-inspector-client)
fi
+ if [[ $SCENARIO == magnum ]]; then
+ packages+=(python-magnumclient python-octaviaclient)
+ fi
if [[ $SCENARIO == masakari ]]; then
packages+=(python-masakariclient)
fi
@@ -59,6 +62,9 @@ function prepare_images {
if [[ $SCENARIO == "ironic" ]]; then
GATE_IMAGES+=",^dnsmasq,^ironic,^iscsid"
fi
+ if [[ $SCENARIO == "magnum" ]]; then
+ GATE_IMAGES+=",^magnum,^octavia"
+ fi
if [[ $SCENARIO == "masakari" ]]; then
GATE_IMAGES+=",^masakari"
fi
diff --git a/tests/templates/globals-default.j2 b/tests/templates/globals-default.j2
index a7641fdf0..2740ab1ef 100644
--- a/tests/templates/globals-default.j2
+++ b/tests/templates/globals-default.j2
@@ -151,3 +151,8 @@ enable_grafana: "yes"
enable_prometheus: "yes"
enable_prometheus_openstack_exporter: "no"
{% endif %}
+
+{% if scenario == "magnum" %}
+enable_magnum: "yes"
+enable_octavia: "yes"
+{% endif %}
diff --git a/tests/test-magnum.sh b/tests/test-magnum.sh
new file mode 100755
index 000000000..9519fba25
--- /dev/null
+++ b/tests/test-magnum.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+# Test deployment of magnum and octavia.
+
+set -o xtrace
+set -o errexit
+
+# Enable unbuffered output for Ansible in Jenkins.
+export PYTHONUNBUFFERED=1
+
+
+function test_magnum_clusters {
+ openstack coe cluster list
+ openstack coe cluster template list
+}
+
+function test_octavia {
+ openstack loadbalancer list
+}
+
+function test_magnum_logged {
+ . /etc/kolla/admin-openrc.sh
+ . ~/openstackclient-venv/bin/activate
+ test_magnum_clusters
+ test_octavia
+}
+
+function test_magnum {
+ echo "Testing Magnum and Octavia"
+ test_magnum_logged > /tmp/logs/ansible/test-magnum 2>&1
+ result=$?
+ if [[ $result != 0 ]]; then
+ echo "Testing Magnum and Octavia failed. See ansible/test-magnum for details"
+ else
+ echo "Successfully tested Magnum and Octavia. See ansible/test-magnum for details"
+ fi
+ return $result
+}
+
+test_magnum