openstack-ansible/zuul.d/jobs.yaml
Jonathan Rosser b3932f0e82 Use zuul cached repos for openstack services
In CI there are cached repos for the openstack services as well as
the OSA repos. We are currently using the cached repos for OSA ansible
roles, but not for the wider openstack services which are installed
from specific git repository SHA as defined by
playbooks/defaults/repo_packages/openstack_services.yml.

This patch parses the openstack_services.yml file and generates a
set of OSA override variables to use the locally cached git repos
instead of those at opendev.org. Network traffic is reduced and the
impact of OSA jobs on the opendev git servers is eased which has
caused problems when the proposal bot makes changes to all OSA repos
simultaneously.

Depends-On: https://review.opendev.org/712459
Change-Id: I88087e3b4d6a688670e40165f127049956705801
2020-03-13 18:09:47 +00:00

376 lines
12 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-deploy-aio
parent: base
description: |
Run functional tests for an OpenStack-Ansible project.
Uses the gate-check-commit.sh script, running a default
aio deploy.
required-projects:
# OSA repos
- name: openstack/openstack-ansible
- name: openstack/ansible-hardening
- name: openstack/openstack-ansible-apt_package_pinning
- name: openstack/ansible-config_template
- name: openstack/openstack-ansible-galera_client
- name: openstack/openstack-ansible-galera_server
- name: openstack/openstack-ansible-ceph_client
- 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-openstack_hosts
- name: openstack/openstack-ansible-os_keystone
- name: openstack/openstack-ansible-openstack_openrc
- name: openstack/openstack-ansible-os_aodh
- name: openstack/openstack-ansible-os_barbican
- name: openstack/openstack-ansible-os_blazar
- name: openstack/openstack-ansible-os_ceilometer
- name: openstack/openstack-ansible-os_cinder
- name: openstack/openstack-ansible-os_congress
- name: openstack/openstack-ansible-os_designate
- name: openstack/openstack-ansible-os_glance
- name: openstack/openstack-ansible-os_gnocchi
- name: openstack/openstack-ansible-os_heat
- name: openstack/openstack-ansible-os_horizon
- name: openstack/openstack-ansible-os_ironic
- name: openstack/openstack-ansible-os_magnum
- name: openstack/openstack-ansible-os_manila
- name: openstack/openstack-ansible-os_masakari
- name: openstack/openstack-ansible-os_mistral
- name: openstack/openstack-ansible-os_neutron
- name: openstack/openstack-ansible-os_nova
- name: openstack/openstack-ansible-os_octavia
- name: openstack/openstack-ansible-os_panko
- name: openstack/openstack-ansible-os_placement
- name: openstack/openstack-ansible-os_rally
- name: openstack/openstack-ansible-os_sahara
- name: openstack/openstack-ansible-os_swift
- name: openstack/openstack-ansible-os_tacker
- name: openstack/openstack-ansible-os_tempest
- name: openstack/openstack-ansible-os_trove
- name: openstack/openstack-ansible-plugins
- name: openstack/ansible-role-qdrouterd
- name: openstack/openstack-ansible-rabbitmq_server
- name: openstack/openstack-ansible-repo_server
- name: openstack/openstack-ansible-rsyslog_client
- name: openstack/openstack-ansible-rsyslog_server
- name: openstack/openstack-ansible-nspawn_container_create
- name: openstack/openstack-ansible-nspawn_hosts
- name: openstack/ansible-role-systemd_service
- name: openstack/ansible-role-systemd_mount
- name: openstack/ansible-role-systemd_networkd
- name: openstack/ansible-role-python_venv_build
- name: openstack/ansible-role-uwsgi
# OpenStack service repos - listed here to make cached repos available in CI
- name: openstack/requirements
- name: openstack/aodh
- name: openstack/barbican
- name: openstack/ceilometer
- name: openstack/cinder
- name: openstack/designate
- name: openstack/designate-dashboard
- name: openstack/glance
- name: openstack/heat
- name: openstack/heat-dashboard
- name: openstack/horizon
- name: openstack/ironic-ui
- name: openstack/magnum-ui
- name: openstack/masakari-dashboard
- name: openstack/neutron-fwaas-dashboard
- name: openstack/sahara-dashboard
- name: openstack/keystone
- name: openstack/manila
- name: openstack/neutron
- name: openstack/neutron-vpnaas
- name: openstack/neutron-fwaas
- name: openstack/neutron-dynamic-routing
- name: openstack/networking-odl
- name: openstack/networking-ovn
- name: openstack/networking-bgpvpn
- name: openstack/networking-sfc
- name: openstack/nova
- name: openstack/sahara
- name: openstack/swift
- name: openstack/ironic
- name: openstack/magnum
- name: openstack/masakari
- name: openstack/masakari-monitors
- name: openstack/mistral
- name: openstack/murano
- name: openstack/trove
- name: openstack/trove-dashboard
- name: openstack/octavia
- name: openstack/panko
- name: openstack/placement
- name: openstack/tacker
- name: openstack/congress
- name: openstack/octavia-dashboard
- name: openstack/blazar
- name: openstack/blazar-nova
pre-run:
- zuul.d/playbooks/pre-gate-cleanup.yml
- zuul.d/playbooks/pre-gate-scenario.yml
- zuul.d/playbooks/pre-osa-aio.yml
run: zuul.d/playbooks/run.yml
post-run:
- zuul.d/playbooks/post.yml
timeout: 10800
irrelevant-files:
- ^\.git.*
- ^.*\.(example|md|rst)$
- ^deploy-guide/.*
- ^doc/.*
- ^releasenotes/.*
- ^setup\.(cfg|py)$
- ^tox.ini$
- ^Vagrantfile
# Ensuring overrides work
- job:
name: openstack-ansible-varstest-aio
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic
# Running linters check
- job:
name: openstack-ansible-linters-ubuntu-bionic
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic
# Experimental job for checking our AIO can deploy with
# a different ansible version
- job:
name: openstack-ansible-deploy_with_ansible_devel-aio-ubuntu-bionic
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic
branches: ^(devel|master)$
required-projects:
- name: github.com/ansible/ansible
override-checkout: devel
vars:
ansible_package: "file://{{ ansible_user_dir }}/src/github.com/ansible/ansible"
# Experimental job for checking our AIO can deploy with
# a different ansible version
- job:
name: openstack-ansible-deploy_with_ansible_next-aio-ubuntu-bionic
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic
branches: ^(devel|master)$
required-projects:
- name: github.com/ansible/ansible
override-checkout: stable-2.7
vars:
ansible_package: "file://{{ ansible_user_dir }}/src/github.com/ansible/ansible"
# debian
- job:
name: openstack-ansible-deploy-aio_metal-debian-buster
parent: openstack-ansible-deploy-aio
nodeset: debian-buster
# ubuntu
- job:
name: openstack-ansible-deploy-aio_lxc-ubuntu-bionic
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic
- job:
name: openstack-ansible-deploy-aio_distro_lxc-ubuntu-bionic
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic
- job:
name: openstack-ansible-deploy-aio_ceph-ubuntu-bionic
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic
- job:
name: openstack-ansible-deploy-aio_proxy-ubuntu-bionic
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic
- job:
name: openstack-ansible-deploy-aio_distro_ceph-ubuntu-bionic
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic
- job:
name: openstack-ansible-deploy-aio_metal-ubuntu-bionic
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic
- job:
name: openstack-ansible-deploy-aio_telemetry_metal-ubuntu-bionic
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic
- job:
name: openstack-ansible-deploy-aio_distro_metal-ubuntu-bionic
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic
- job:
name: openstack-ansible-upgrade-aio_lxc-ubuntu-bionic
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic
timeout: 10800
- job:
name: openstack-ansible-upgrade-aio_metal-ubuntu-bionic
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic
timeout: 10800
- job:
name: openstack-ansible-deploy-aio_nspawn-ubuntu-bionic
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic
- job:
name: openstack-ansible-upgrade-aio_ceph-ubuntu-bionic
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic
timeout: 10800
- job:
name: openstack-ansible-deploy-aio_octavia-ubuntu-bionic
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic
- job:
name: openstack-ansible-deploy-aio_qdrouterd-ubuntu-bionic
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic
- job:
name: openstack-ansible-deploy-translations-ubuntu-bionic
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-bionic
# centos
- job:
name: openstack-ansible-deploy-aio_lxc-centos-7
parent: openstack-ansible-deploy-aio
nodeset: centos-7
- job:
name: openstack-ansible-deploy-aio_distro_lxc-centos-7
parent: openstack-ansible-deploy-aio
nodeset: centos-7
- job:
name: openstack-ansible-deploy-aio_ceph-centos-7
parent: openstack-ansible-deploy-aio
nodeset: centos-7
- job:
name: openstack-ansible-deploy-aio_distro_ceph-centos-7
parent: openstack-ansible-deploy-aio
nodeset: centos-7
- job:
name: openstack-ansible-upgrade-aio_lxc-centos-7
parent: openstack-ansible-deploy-aio
nodeset: centos-7
timeout: 10800
- job:
name: openstack-ansible-deploy-aio_metal-centos-7
parent: openstack-ansible-deploy-aio
nodeset: centos-7
- job:
name: openstack-ansible-deploy-aio_telemetry_metal-centos-7
parent: openstack-ansible-deploy-aio
nodeset: centos-7
- job:
name: openstack-ansible-deploy-aio_distro_metal-centos-7
parent: openstack-ansible-deploy-aio
nodeset: centos-7
- job:
name: openstack-ansible-deploy-aio_nspawn-centos-7
parent: openstack-ansible-deploy-aio
nodeset: centos-7
- job:
name: openstack-ansible-upgrade-aio_metal-centos-7
parent: openstack-ansible-deploy-aio
nodeset: centos-7
timeout: 10800
- job:
name: openstack-ansible-upgrade-aio_ceph-centos-7
parent: openstack-ansible-deploy-aio
nodeset: centos-7
timeout: 10800
# debian
- job:
name: openstack-ansible-deploy-aio_telemetry_metal-debian-buster
parent: openstack-ansible-deploy-aio
nodeset: debian-buster
- job:
name: openstack-ansible-deploy-aio_lxc-debian-buster
parent: openstack-ansible-deploy-aio
nodeset: debian-buster
# opensuse
- job:
name: openstack-ansible-deploy-aio_lxc-opensuse-15
parent: openstack-ansible-deploy-aio
nodeset: opensuse-15
- job:
name: openstack-ansible-deploy-aio_distro_lxc-opensuse-15
parent: openstack-ansible-deploy-aio
nodeset: opensuse-15
- job:
name: openstack-ansible-deploy-aio_ceph-opensuse-15
parent: openstack-ansible-deploy-aio
nodeset: opensuse-15
- job:
name: openstack-ansible-deploy-aio_distro_ceph-opensuse-15
parent: openstack-ansible-deploy-aio
nodeset: opensuse-15
- job:
name: openstack-ansible-deploy-aio_metal-opensuse-15
parent: openstack-ansible-deploy-aio
nodeset: opensuse-15
- job:
name: openstack-ansible-deploy-aio_telemetry_metal-opensuse-15
parent: openstack-ansible-deploy-aio
nodeset: opensuse-15
- job:
name: openstack-ansible-deploy-aio_distro_metal-opensuse-15
parent: openstack-ansible-deploy-aio
nodeset: opensuse-15
- job:
name: openstack-ansible-deploy-aio_nspawn-opensuse-15
parent: openstack-ansible-deploy-aio
nodeset: opensuse-15