In gate functional testing
This runs the ansible playbooks to completion. It does not validate that OpenStack is working yet, but it will ensure Ansible did not break. Additional gates will be needed for this and there is a patch in project-config to handle that. Change-Id: I7a24a704023cc8f19d42844636e9cb512060f693 backport: liberty Partially-Implements: blueprint functional-testing-gate
This commit is contained in:
parent
7b73bc95ac
commit
f39bb2ee13
@ -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:
|
||||
|
45
tests/deploy_kolla.sh
Executable file
45
tests/deploy_kolla.sh
Executable file
@ -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
|
@ -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"])
|
||||
|
62
tox.ini
62
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
|
||||
|
Loading…
Reference in New Issue
Block a user