Initial OSA zuul v3 role jobs
This patch implements an initial set of jobs intended to match the current job execution method. It does not intend to improve how the jobs are executed - only to replicate what is currently in openstack-infra/openstack-zuul-jobs and provide the platform to iterate on. Change-Id: I9e30f1be58904a1e598fcb6f1a229feca7da6151
This commit is contained in:
parent
aebf86ae0d
commit
01b9da9b87
36
bindep.txt
36
bindep.txt
|
@ -3,39 +3,55 @@
|
||||||
#
|
#
|
||||||
# See the following for details:
|
# See the following for details:
|
||||||
# - http://docs.openstack.org/infra/bindep/
|
# - http://docs.openstack.org/infra/bindep/
|
||||||
# - https://github.com/openstack-infra/bindep
|
# - https://git.openstack.org/cgit/openstack-infra/bindep
|
||||||
#
|
#
|
||||||
# Even if the role does not make use of this facility, it
|
# Even if the role does not make use of this facility, it
|
||||||
# is better to have this file empty, otherwise OpenStack-CI
|
# is better to have this file empty, otherwise OpenStack-CI
|
||||||
# will fall back to installing its default packages which
|
# will fall back to installing its default packages which
|
||||||
# will potentially be detrimental to the tests executed.
|
# will potentially be detrimental to the tests executed.
|
||||||
|
#
|
||||||
|
# Note:
|
||||||
|
# This file is maintained in the openstack-ansible-tests repository.
|
||||||
|
# https://git.openstack.org/cgit/openstack/openstack-ansible-tests/tree/bindep.txt
|
||||||
|
# If you need to remove or add extra dependencies, you should modify
|
||||||
|
# the central file instead and once your change is accepted then update
|
||||||
|
# this file as well. The purpose of this file is to ensure that Python and
|
||||||
|
# Ansible have all their necessary binary requirements on the test host before
|
||||||
|
# tox executes. Any binary requirements needed by services/roles should be
|
||||||
|
# installed by those roles in their applicable package install tasks, not through
|
||||||
|
# using this file.
|
||||||
|
#
|
||||||
|
|
||||||
# Base requirements for Ubuntu
|
# Base requirements for Ubuntu
|
||||||
build-essential [platform:dpkg]
|
gcc [platform:dpkg]
|
||||||
git-core [platform:dpkg]
|
git-core [platform:dpkg]
|
||||||
libssl-dev [platform:dpkg]
|
libssl-dev [platform:dpkg]
|
||||||
libffi-dev [platform:dpkg]
|
libffi-dev [platform:dpkg]
|
||||||
python2.7 [platform:dpkg]
|
python2.7 [platform:dpkg]
|
||||||
|
python-apt [platform:dpkg]
|
||||||
python-dev [platform:dpkg]
|
python-dev [platform:dpkg]
|
||||||
|
|
||||||
# Base requirements for CentOS
|
# Base requirements for RPM distros
|
||||||
gcc [platform:rpm]
|
gcc [platform:rpm]
|
||||||
gcc-c++ [platform:rpm]
|
gcc-c++ [platform:rpm]
|
||||||
git [platform:rpm]
|
git [platform:rpm]
|
||||||
python-devel [platform:rpm]
|
|
||||||
libffi-devel [platform:rpm]
|
libffi-devel [platform:rpm]
|
||||||
openssl-devel [platform:rpm]
|
openssl-devel [platform:redhat]
|
||||||
|
python-devel [platform:rpm]
|
||||||
|
python2-dnf [platform:fedora]
|
||||||
|
|
||||||
# For SELinux
|
# For SELinux
|
||||||
libselinux-python [platform:rpm]
|
libselinux-python [platform:redhat]
|
||||||
|
libsemanage-python [platform:redhat]
|
||||||
|
|
||||||
# For SSL SNI support
|
# For SSL SNI support
|
||||||
python-pyasn1 [platform:dpkg]
|
python-pyasn1 [platform:dpkg]
|
||||||
python-openssl [platform:dpkg]
|
python-openssl [platform:dpkg]
|
||||||
python-ndg-httpsclient [platform:ubuntu]
|
python-ndg-httpsclient [platform:ubuntu !platform:ubuntu-14]
|
||||||
python2-pyasn1 [platform:rpm]
|
python2-pyasn1 [platform:redhat]
|
||||||
python2-pyOpenSSL [platform:rpm]
|
pyOpenSSL [platform:redhat]
|
||||||
python-ndg_httpsclient [platform:rpm]
|
python-ndg_httpsclient [platform:redhat !platform:fedora]
|
||||||
|
python2-ndg_httpsclient [platform:fedora]
|
||||||
|
|
||||||
# Required for compressing collected log files in CI
|
# Required for compressing collected log files in CI
|
||||||
gzip
|
gzip
|
||||||
|
|
|
@ -70,7 +70,9 @@ target_name = 'openstack-ansible-' + role_name
|
||||||
title = 'OpenStack-Ansible Documentation: ' + role_name + 'role'
|
title = 'OpenStack-Ansible Documentation: ' + role_name + 'role'
|
||||||
|
|
||||||
# The link to the browsable source code (for the left hand menu)
|
# The link to the browsable source code (for the left hand menu)
|
||||||
oslosphinx_cgit_link = 'http://git.openstack.org/cgit/openstack/' + target_name
|
oslosphinx_cgit_link = (
|
||||||
|
"https://git.openstack.org/cgit/openstack/{}".format(target_name)
|
||||||
|
)
|
||||||
|
|
||||||
# The version info for the project you're documenting, acts as replacement for
|
# The version info for the project you're documenting, acts as replacement for
|
||||||
# |version| and |release|, also used in various other places throughout the
|
# |version| and |release|, also used in various other places throughout the
|
||||||
|
|
|
@ -65,7 +65,9 @@ target_name = 'openstack-ansible-' + role_name
|
||||||
title = 'OpenStack-Ansible Release Notes: ' + role_name + 'role'
|
title = 'OpenStack-Ansible Release Notes: ' + role_name + 'role'
|
||||||
|
|
||||||
# The link to the browsable source code (for the left hand menu)
|
# The link to the browsable source code (for the left hand menu)
|
||||||
oslosphinx_cgit_link = 'http://git.openstack.org/cgit/openstack/' + target_name
|
oslosphinx_cgit_link = (
|
||||||
|
"https://git.openstack.org/cgit/openstack/{}".format(target_name)
|
||||||
|
)
|
||||||
|
|
||||||
# The version info for the project you're documenting, acts as replacement for
|
# The version info for the project you're documenting, acts as replacement for
|
||||||
# |version| and |release|, also used in various other places throughout the
|
# |version| and |release|, also used in various other places throughout the
|
||||||
|
|
85
run_tests.sh
85
run_tests.sh
|
@ -12,54 +12,57 @@
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
# Note:
|
||||||
|
# This file is maintained in the openstack-ansible-tests repository.
|
||||||
|
# https://git.openstack.org/cgit/openstack/openstack-ansible-tests/tree/run_tests.sh
|
||||||
|
# If you need to modify this file, update the one in the openstack-ansible-tests
|
||||||
|
# repository and then update this file as well. The purpose of this file is to
|
||||||
|
# prepare the host and then execute all the tox tests.
|
||||||
|
#
|
||||||
|
|
||||||
set -xeuo pipefail
|
## Shell Opts ----------------------------------------------------------------
|
||||||
|
set -xeu
|
||||||
|
|
||||||
FUNCTIONAL_TEST=${FUNCTIONAL_TEST:-true}
|
## Vars ----------------------------------------------------------------------
|
||||||
|
|
||||||
# Install pip.
|
export WORKING_DIR=${WORKING_DIR:-$(pwd)}
|
||||||
if ! which pip; then
|
|
||||||
curl --silent --show-error --retry 5 \
|
|
||||||
https://bootstrap.pypa.io/get-pip.py | sudo python2.7
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Install bindep and tox with pip.
|
## Main ----------------------------------------------------------------------
|
||||||
sudo pip install bindep tox
|
|
||||||
|
|
||||||
# CentOS 7 requires two additional packages:
|
source /etc/os-release || source /usr/lib/os-release
|
||||||
# redhat-lsb-core - for bindep profile support
|
|
||||||
# epel-release - required to install python-ndg_httpsclient/python2-pyasn1
|
|
||||||
if which yum; then
|
|
||||||
sudo yum -y install redhat-lsb-core epel-release
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Get a list of packages to install with bindep. If packages need to be
|
install_pkg_deps() {
|
||||||
# installed, bindep exits with an exit code of 1.
|
pkg_deps="git"
|
||||||
BINDEP_PKGS=$(bindep -b -f bindep.txt test || true)
|
|
||||||
echo "Packages to install: ${BINDEP_PKGS}"
|
|
||||||
|
|
||||||
# Install a list of OS packages provided by bindep.
|
case ${ID,,} in
|
||||||
if which apt-get; then
|
centos|rhel) pkg_mgr_cmd="yum install -y" ;;
|
||||||
sudo apt-get update
|
fedora) pkg_mgr_cmd="dnf -y install" ;;
|
||||||
DEBIAN_FRONTEND=noninteractive \
|
ubuntu|debian) pkg_mgr_cmd="apt-get install -y" ;;
|
||||||
sudo apt-get -q --option "Dpkg::Options::=--force-confold" \
|
*) echo "unsupported distribution: ${ID,,}"; exit 1 ;;
|
||||||
--assume-yes install $BINDEP_PKGS
|
esac
|
||||||
elif which yum; then
|
|
||||||
# Don't run yum with an empty list of packages.
|
|
||||||
# It will fail and cause the script to exit with an error.
|
|
||||||
if [[ ${#BINDEP_PKGS} > 0 ]]; then
|
|
||||||
sudo yum install -y $BINDEP_PKGS
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Loop through each tox environment and run tests.
|
eval sudo $pkg_mgr_cmd $pkg_deps
|
||||||
for tox_env in $(awk -F= '/envlist/ { gsub(",", " "); print $2 }' tox.ini); do
|
}
|
||||||
echo "Executing tox environment: ${tox_env}"
|
|
||||||
if [[ ${tox_env} == ansible-functional ]]; then
|
git_clone_repo() {
|
||||||
if ${FUNCTIONAL_TEST}; then
|
if [[ ! -d tests/common ]]; then
|
||||||
tox -e ${tox_env}
|
# The tests repo doesn't need a clone, we can just
|
||||||
fi
|
# symlink it.
|
||||||
|
if [[ "$(basename ${WORKING_DIR})" == "openstack-ansible-tests" ]]; then
|
||||||
|
ln -s ${WORKING_DIR} ${WORKING_DIR}/tests/common
|
||||||
else
|
else
|
||||||
tox -e ${tox_env}
|
git clone -b stable/ocata \
|
||||||
|
https://git.openstack.org/openstack/openstack-ansible-tests \
|
||||||
|
tests/common
|
||||||
fi
|
fi
|
||||||
done
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
install_pkg_deps
|
||||||
|
|
||||||
|
git_clone_repo
|
||||||
|
|
||||||
|
# start executing the main test script
|
||||||
|
source tests/common/run_tests_common.sh
|
||||||
|
|
||||||
|
|
|
@ -22,8 +22,6 @@ aodh_rabbitmq_userid: aodh
|
||||||
aodh_rabbitmq_vhost: /aodh
|
aodh_rabbitmq_vhost: /aodh
|
||||||
aodh_venv_tag: "testing"
|
aodh_venv_tag: "testing"
|
||||||
aodh_developer_mode: true
|
aodh_developer_mode: true
|
||||||
aodh_git_install_branch: master
|
|
||||||
aodh_requirements_git_install_branch: master
|
|
||||||
aodh_service_password: "secrete"
|
aodh_service_password: "secrete"
|
||||||
aodh_service_publicuri: "{{ aodh_service_proto }}://{{ hostvars[groups['aodh_all'][0]]['ansible_host'] }}:{{ aodh_service_port }}"
|
aodh_service_publicuri: "{{ aodh_service_proto }}://{{ hostvars[groups['aodh_all'][0]]['ansible_host'] }}:{{ aodh_service_port }}"
|
||||||
aodh_service_internaluri: "{{ aodh_service_proto }}://{{ hostvars[groups['aodh_all'][0]]['ansible_host'] }}:{{ aodh_service_port }}"
|
aodh_service_internaluri: "{{ aodh_service_proto }}://{{ hostvars[groups['aodh_all'][0]]['ansible_host'] }}:{{ aodh_service_port }}"
|
||||||
|
@ -34,7 +32,7 @@ tempest_run: yes
|
||||||
tempest_plugins:
|
tempest_plugins:
|
||||||
- name: tempest-aodh
|
- name: tempest-aodh
|
||||||
repo: https://git.openstack.org/openstack/aodh
|
repo: https://git.openstack.org/openstack/aodh
|
||||||
branch: master
|
branch: stable/ocata
|
||||||
|
|
||||||
tempest_test_whitelist:
|
tempest_test_whitelist:
|
||||||
- aodh.tests.tempest.api.test_alarming_api
|
- aodh.tests.tempest.api.test_alarming_api
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
---
|
||||||
|
# Copyright 2017, Rackspace US, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
- project:
|
||||||
|
name: openstack/openstack-ansible-os_aodh
|
||||||
|
check:
|
||||||
|
jobs:
|
||||||
|
- openstack-ansible-linters
|
||||||
|
- openstack-ansible-functional-centos-7
|
||||||
|
- openstack-ansible-functional-ubuntu-xenial
|
||||||
|
gate:
|
||||||
|
jobs:
|
||||||
|
- openstack-ansible-linters
|
||||||
|
- openstack-ansible-functional-centos-7
|
||||||
|
- openstack-ansible-functional-ubuntu-xenial
|
Loading…
Reference in New Issue