aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etc/kolla/kolla-build.conf1
-rwxr-xr-xtests/deploy_kolla.sh45
-rw-r--r--tests/test_build.py27
-rw-r--r--tox.ini62
4 files changed, 133 insertions, 2 deletions
diff --git a/etc/kolla/kolla-build.conf b/etc/kolla/kolla-build.conf
index 582318b1b..f40f5f76c 100644
--- a/etc/kolla/kolla-build.conf
+++ b/etc/kolla/kolla-build.conf
@@ -52,6 +52,7 @@ infra = ceph,data,mariadb,haproxy,keepalived,kolla-ansible,memcached,mongodb,ope
main = cinder,ceilometer,glance,heat,horizon,keystone,neutron,nova,swift
aux = designate,gnocchi,ironic,magnum,zaqar
default = data,kolla-ansible,glance,haproxy,heat,horizon,keystone,memcached,mariadb,neutron,nova,rabbitmq
+gate = ceph,cinder,data,glance,haproxy,heat,horizon,keepalived,keystone,kolla-ansible,memcached,neutron,nova,openvswitch,rabbitmq
# Provide location of sources for source install builds.
# Example:
diff --git a/tests/deploy_kolla.sh b/tests/deploy_kolla.sh
new file mode 100755
index 000000000..a5e5b2892
--- /dev/null
+++ b/tests/deploy_kolla.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+set -o xtrace
+set -o errexit
+
+export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
+
+function print_failure {
+ docker ps -a
+ docker logs bootstrap_keystone
+ echo "FAILED"
+ exit 1
+}
+
+# Setup ssh key as required
+ssh-keygen -f kolla-ssh -N ""
+cat kolla-ssh.pub | tee /root/.ssh/authorized_keys
+
+# Install Ansible and docker-py
+pip install "ansible<2" docker-py
+pip freeze | egrep "docker|ansible"
+
+# Setup configs
+cp -a etc/kolla /etc/
+cat << EOF > /etc/kolla/globals.yml
+---
+kolla_base_distro: "$1"
+kolla_install_type: "$2"
+kolla_internal_address: "169.254.169.10"
+docker_pull_policy: "missing"
+docker_restart_policy: "no"
+network_interface: "eth0"
+neutron_external_interface: "fake_interface"
+EOF
+
+# Create dummy interface for neutron
+ip l a fake_interface type dummy
+
+# Actually do the deployment
+tools/kolla-ansible deploy || print_failure
+
+# TODO(SamYaple): Actually validate that all containers are started
+docker ps -a
+
+# TODO(SamYaple): Actually do functional testing of OpenStack
diff --git a/tests/test_build.py b/tests/test_build.py
index 8feb98d00..948e165ac 100644
--- a/tests/test_build.py
+++ b/tests/test_build.py
@@ -59,8 +59,7 @@ class BuildTest(base.BaseTestCase):
LOG.critical(">>> Expected image '%s' to succeed!" % image)
for image in unmatched_results.keys():
- failures = failures + 1
- LOG.critical(">>> Expected image '%s' to be matched!" % image)
+ LOG.warning(">>> Image '%s' was not matched" % image)
self.assertEqual(failures, 0, "%d failure(s) occurred" % failures)
@@ -84,3 +83,27 @@ class BuildTestUbuntuSource(BuildTest):
super(BuildTestUbuntuSource, self).setUp()
self.build_args.extend(["--base", "ubuntu",
"--type", "source"])
+
+
+class DeployTestCentosBinary(BuildTest):
+ def setUp(self):
+ super(BuildTestCentosBinary, self).setUp()
+ self.build_args.extend(["--base", "centos",
+ "--type", "binary",
+ "--profile", "gate"])
+
+
+class DeployTestCentosSource(BuildTest):
+ def setUp(self):
+ super(BuildTestCentosSource, self).setUp()
+ self.build_args.extend(["--base", "centos",
+ "--type", "source",
+ "--profile", "gate"])
+
+
+class DeployTestUbuntuSource(BuildTest):
+ def setUp(self):
+ super(BuildTestUbuntuSource, self).setUp()
+ self.build_args.extend(["--base", "ubuntu",
+ "--type", "source",
+ "--profile", "gate"])
diff --git a/tox.ini b/tox.ini
index 59dd39670..7ed567b67 100644
--- a/tox.ini
+++ b/tox.ini
@@ -35,6 +35,9 @@ commands =
whitelist_externals = bash
commands = bash -c tests/setup_gate.sh
+# These tests are duplicated because of the namechange of the jobs upstream
+# to allow continued use of the job-template. This way the gate never breaks
+# TODO(SamYaple): Remove once new gates are in place
[testenv:images-centos-binary]
whitelist_externals = find
bash
@@ -44,6 +47,7 @@ commands =
bash -c "if [ ! -d .testrepository ]; then testr init; fi"
sudo -g docker testr run test_build.BuildTestCentosBinary
+# TODO(SamYaple): Remove once new gates are in place
[testenv:images-centos-source]
whitelist_externals = find
bash
@@ -53,6 +57,7 @@ commands =
bash -c "if [ ! -d .testrepository ]; then testr init; fi"
sudo -g docker testr run test_build.BuildTestCentosSource
+# TODO(SamYaple): Remove once new gates are in place
[testenv:images-ubuntu-source]
whitelist_externals = find
bash
@@ -62,6 +67,63 @@ commands =
bash -c "if [ ! -d .testrepository ]; then testr init; fi"
sudo -g docker testr run test_build.BuildTestUbuntuSource
+[testenv:build-images-centos-binary]
+whitelist_externals = find
+ bash
+ sudo
+commands =
+ find . -type f -name "*.pyc" -delete
+ bash -c "if [ ! -d .testrepository ]; then testr init; fi"
+ sudo -g docker testr run test_build.BuildTestCentosBinary
+
+[testenv:build-images-centos-source]
+whitelist_externals = find
+ bash
+ sudo
+commands =
+ find . -type f -name "*.pyc" -delete
+ bash -c "if [ ! -d .testrepository ]; then testr init; fi"
+ sudo -g docker testr run test_build.BuildTestCentosSource
+
+[testenv:build-images-ubuntu-source]
+whitelist_externals = find
+ bash
+ sudo
+commands =
+ find . -type f -name "*.pyc" -delete
+ bash -c "if [ ! -d .testrepository ]; then testr init; fi"
+ sudo -g docker testr run test_build.BuildTestUbuntuSource
+
+[testenv:deploy-images-centos-binary]
+whitelist_externals = find
+ bash
+ sudo
+commands =
+ find . -type f -name "*.pyc" -delete
+ bash -c "if [ ! -d .testrepository ]; then testr init; fi"
+ sudo -g docker testr run test_build.DeployTestCentosBinary
+ sudo tests/deploy_kolla.sh centos binary
+
+[testenv:deploy-images-centos-source]
+whitelist_externals = find
+ bash
+ sudo
+commands =
+ find . -type f -name "*.pyc" -delete
+ bash -c "if [ ! -d .testrepository ]; then testr init; fi"
+ sudo -g docker testr run test_build.DeployTestCentosSource
+ sudo tests/deploy_kolla.sh centos source
+
+[testenv:deploy-images-ubuntu-source]
+whitelist_externals = find
+ bash
+ sudo
+commands =
+ find . -type f -name "*.pyc" -delete
+ bash -c "if [ ! -d .testrepository ]; then testr init; fi"
+ sudo -g docker testr run test_build.DeployTestUbuntuSource
+ sudo tests/deploy_kolla.sh ubuntu source
+
[testenv:functional]
whitelist_externals = find
bash