openstack-ansible-tests/zuul.d/jobs.yaml

238 lines
7.9 KiB
YAML

---
# 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.
- job:
name: openstack-ansible-base
parent: base
description: |
The base job which all other openstack-ansible jobs
should use as a parent to ensure that the correct
repositories ae in place.
required-projects:
- name: openstack/ansible-hardening
- name: openstack/ansible-role-python_venv_build
- name: openstack/ansible-role-systemd_mount
- name: openstack/ansible-role-systemd_networkd
- name: openstack/ansible-role-systemd_service
- name: openstack/openstack-ansible
- name: openstack/openstack-ansible-apt_package_pinning
- name: openstack/openstack-ansible-ceph_client
- name: openstack/openstack-ansible-galera_client
- name: openstack/openstack-ansible-galera_server
- name: openstack/openstack-ansible-haproxy_server
- name: openstack/openstack-ansible-lxc_container_create
- name: openstack/openstack-ansible-lxc_hosts
- name: openstack/openstack-ansible-memcached_server
- name: openstack/openstack-ansible-nspawn_container_create
- name: openstack/openstack-ansible-nspawn_hosts
- name: openstack/openstack-ansible-openstack_hosts
- name: openstack/openstack-ansible-openstack_openrc
- name: openstack/openstack-ansible-ops
- name: openstack/openstack-ansible-os_aodh
- name: openstack/openstack-ansible-os_barbican
- name: openstack/openstack-ansible-os_ceilometer
- name: openstack/openstack-ansible-os_cinder
- name: openstack/openstack-ansible-os_designate
- name: openstack/openstack-ansible-os_glance
- name: openstack/openstack-ansible-os_heat
- name: openstack/openstack-ansible-os_keystone
- name: openstack/openstack-ansible-os_magnum
- name: openstack/openstack-ansible-os_neutron
- name: openstack/openstack-ansible-os_nova
- name: openstack/openstack-ansible-os_octavia
- name: openstack/openstack-ansible-os_swift
- name: openstack/openstack-ansible-os_tempest
- name: openstack/openstack-ansible-os_trove
- name: openstack/openstack-ansible-pip_install
- name: openstack/openstack-ansible-plugins
- name: openstack/openstack-ansible-rabbitmq_server
- name: openstack/openstack-ansible-repo_build
- name: openstack/openstack-ansible-repo_server
- name: openstack/openstack-ansible-rsyslog_client
- name: openstack/openstack-ansible-rsyslog_server
- name: openstack/openstack-ansible-tests
- name: openstack/requirements
run: zuul.d/playbooks/run.yml
post-run: zuul.d/playbooks/post.yml
- job:
name: openstack-ansible-functional
parent: openstack-ansible-base
description: |
Run functional tests for an OpenStack-Ansible project.
Uses tox with the ``functional`` environment by default,
but the environment name can be changed through the use
of the ``tox_env`` variable.
irrelevant-files:
- ^\.git.*
- ^.*\.(example|md|rst)$
- ^deploy-guide/.*
- ^doc/.*
- ^releasenotes/.*
- ^setup\.(cfg|py)$
- ^Vagrantfile
timeout: 5400 # 90 mins
vars:
tox_env: functional
- job:
name: openstack-ansible-linters
parent: openstack-ansible-base
description: |
Run lint tests for an OpenStack-Ansible project.
Uses tox with the ``linters`` environment.
timeout: 900 # 15 mins
nodeset: ubuntu-xenial
vars:
tox_env: linters
- job:
name: openstack-ansible-upgrade
parent: openstack-ansible-functional
# TODO(mnaser): We need to switch to using the integrated repo for the
# upgrade tests down the line because the current role upgrade
# jobs don't properly do upgrades and use roles from master
# with roles from older stable branches.
voting: false
description: |
Run upgrade tests for an OpenStack-Ansible project.
Uses tox with the ``upgrade`` environment.
vars:
tox_env: upgrade
- job:
name: openstack-ansible-functional-ubuntu-bionic
parent: openstack-ansible-functional
nodeset: ubuntu-bionic
- job:
name: openstack-ansible-upgrade-ubuntu-bionic
parent: openstack-ansible-upgrade
nodeset: ubuntu-bionic
- job:
name: openstack-ansible-functional-ubuntu-xenial
parent: openstack-ansible-functional
nodeset: ubuntu-xenial
- job:
name: openstack-ansible-functional-distro_install-ubuntu-xenial
parent: openstack-ansible-functional-ubuntu-xenial
vars:
tox_env: distro_install
- job:
name: openstack-ansible-functional-distro_install-ubuntu-bionic
parent: openstack-ansible-functional-ubuntu-bionic
vars:
tox_env: distro_install
- job:
name: openstack-ansible-upgrade-ubuntu-xenial
parent: openstack-ansible-upgrade
nodeset: ubuntu-xenial
- job:
name: openstack-ansible-upgrade-opensuse-423
parent: openstack-ansible-upgrade
nodeset: opensuse-423
- job:
name: openstack-ansible-functional-opensuse-423
parent: openstack-ansible-functional
nodeset: opensuse-423
- job:
name: openstack-ansible-functional-distro_install-opensuse-423
parent: openstack-ansible-functional
nodeset: opensuse-423
vars:
tox_env: distro_install
- job:
name: openstack-ansible-upgrade-opensuse-150
parent: openstack-ansible-upgrade
nodeset: opensuse-150
- job:
name: openstack-ansible-functional-opensuse-150
parent: openstack-ansible-functional
nodeset: opensuse-150
- job:
name: openstack-ansible-functional-distro_install-opensuse-150
parent: openstack-ansible-functional
nodeset: opensuse-150
vars:
tox_env: distro_install
- job:
name: openstack-ansible-functional-centos-7
parent: openstack-ansible-functional
nodeset: centos-7
- job:
name: openstack-ansible-upgrade-centos-7
parent: openstack-ansible-upgrade
nodeset: centos-7
- job:
name: openstack-ansible-functional-distro_install-centos-7
parent: openstack-ansible-functional
nodeset: centos-7
vars:
tox_env: distro_install
- job:
name: openstack-ansible-cross-repo-functional
parent: openstack-ansible-functional
description: |
Run functional tests for an OpenStack-Ansible project.
Uses tox with the ``functional`` environment by default,
but the environment name can be changed through the use
of the ``tox_env`` variable. The OpenStack-Ansible repo
to execute the tests from must be specified in the
``osa_test_repo`` variable.
nodeset: ubuntu-xenial
- job:
name: openstack-ansible-integrated-deploy-aio
parent: openstack-ansible-deploy-aio
voting: false
required-projects:
- openstack/openstack-ansible
description: |
Run AIO tests for an OpenStack-Ansible project.
This uses the integrated repository openstack-ansible
on Ubuntu Xenial with the scenario ``deploy`` ``aio``.
Any project can then use
the ``openstack-ansible-integrated-deploy-aio`` job in
whatever pipeline is appropriate.
vars:
osa_test_repo: "openstack/openstack-ansible"
- job:
name: openstack-ansible-integrated-deploy-ceph
parent: openstack-ansible-integrated-deploy-aio
voting: false
vars:
scenario: ceph
- job:
name: openstack-ansible-python3-ubuntu-xenial
parent: openstack-ansible-functional-ubuntu-xenial
vars:
tox_env: func_py3