From 7d061c7d2a2b42fed03ff9f42a44e9ee9ed0d825 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Fri, 17 Aug 2018 17:00:04 -0400 Subject: [PATCH] Refactor jobs to use project-templates The patch does a few things to clean up our job management: - Refactor all jobs into project-templates in order to very clearly identify which jobs are voting and non-voting. - Drop all `voting: false` stanza in jobs, the infrastructure team suggests that we place those in job assignment, not in definition. - Set CentOS 7 job to voting for metal, as it is finally passing now. Change-Id: Iaad7a3b50e14d5f0ef25c52bcc070b7601d46a8f --- zuul.d/jobs.yaml | 10 --- zuul.d/project-templates.yaml | 147 ++++++++++++++++++++++++++++++++++ zuul.d/project.yaml | 82 +++---------------- 3 files changed, 156 insertions(+), 83 deletions(-) create mode 100644 zuul.d/project-templates.yaml diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml index ab4b262798..072d485ea1 100644 --- a/zuul.d/jobs.yaml +++ b/zuul.d/jobs.yaml @@ -88,7 +88,6 @@ - job: name: openstack-ansible-deploy-aio_distro_lxc-ubuntu-xenial parent: openstack-ansible-deploy-aio_lxc-ubuntu-xenial - voting: false vars: install_method: distro @@ -117,7 +116,6 @@ - job: name: openstack-ansible-deploy-aio_nspawn-ubuntu-xenial parent: openstack-ansible-deploy-aio_lxc-ubuntu-xenial - voting: false vars: scenario: aio_nspawn @@ -146,7 +144,6 @@ - job: name: openstack-ansible-deploy-congress-ubuntu-xenial parent: openstack-ansible-deploy-aio_lxc-ubuntu-xenial - voting: false vars: action: deploy scenario: congress @@ -154,7 +151,6 @@ - job: name: openstack-ansible-deploy-aio_basekit-ubuntu-xenial parent: openstack-ansible-deploy-aio_lxc-ubuntu-xenial - voting: true vars: action: deploy scenario: aio_basekit @@ -170,7 +166,6 @@ name: openstack-ansible-deploy-aio_lxc-centos-7 parent: openstack-ansible-deploy-aio nodeset: centos-7 - voting: false - job: name: openstack-ansible-deploy-aio_distro_lxc-centos-7 @@ -209,7 +204,6 @@ - job: name: openstack-ansible-deploy-aio_metal-centos-7 parent: openstack-ansible-deploy-aio_lxc-centos-7 - voting: false vars: actio: deploy scenario: aio_metal @@ -233,19 +227,16 @@ name: openstack-ansible-deploy-aio_lxc-opensuse-423 parent: openstack-ansible-deploy-aio nodeset: opensuse-423 - voting: false - job: name: openstack-ansible-deploy-aio_distro_lxc-opensuse-423 parent: openstack-ansible-deploy-aio_lxc-opensuse-423 - voting: true vars: install_method: distro - job: name: openstack-ansible-deploy-aio_basekit-opensuse-423 parent: openstack-ansible-deploy-aio_lxc-opensuse-423 - voting: true vars: action: deploy scenario: aio_basekit @@ -274,7 +265,6 @@ - job: name: openstack-ansible-deploy-aio_metal-opensuse-423 parent: openstack-ansible-deploy-aio_lxc-opensuse-423 - voting: true vars: action: deploy scenario: aio_metal diff --git a/zuul.d/project-templates.yaml b/zuul.d/project-templates.yaml new file mode 100644 index 0000000000..8282021e07 --- /dev/null +++ b/zuul.d/project-templates.yaml @@ -0,0 +1,147 @@ +# Copyright 2018, VEXXHOST, 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-template: + name: openstack-ansible-deploy-base-jobs + check: + jobs: + - openstack-ansible-linters + - openstack-ansible-varstest-aio_lxc-ubuntu-xenial + gate: + jobs: + - openstack-ansible-linters + - openstack-ansible-varstest-aio_lxc-ubuntu-xenial + periodic: + jobs: + - openstack-ansible-deploy-translations-ubuntu-xenial + experimental: + jobs: + - openstack-ansible-deploy-congress-ubuntu-xenial + - openstack-ansible-deploy-octavia-ubuntu-xenial + - openstack-ansible-deploy_with_ansible_devel-aio-ubuntu-xenial + - openstack-ansible-deploy_with_ansible_next-aio-ubuntu-xenial + +# NOTE(mnaser): +# # Some AIO LXC jobs have been disabled due to the fact that they +# # time out. Instead, we rely on the basekit jobs which do not, but +# # give some coverage. +- project-template: + name: openstack-ansible-deploy-aio_lxc-jobs + check: + jobs: + # - openstack-ansible-deploy-aio_lxc-centos-7 + # - openstack-ansible-deploy-aio_lxc-opensuse-423 + - openstack-ansible-deploy-aio_lxc-ubuntu-bionic: + voting: false + - openstack-ansible-deploy-aio_lxc-ubuntu-xenial + gate: + jobs: + # - openstack-ansible-deploy-aio_lxc-centos-7 + # - openstack-ansible-deploy-aio_lxc-opensuse-423 + # - openstack-ansible-deploy-aio_lxc-ubuntu-bionic + - openstack-ansible-deploy-aio_lxc-ubuntu-xenial + periodic: + jobs: + - openstack-ansible-deploy-aio_lxc-ubuntu-bionic + - openstack-ansible-deploy-aio_lxc-ubuntu-xenial + - openstack-ansible-upgrade-aio_lxc-ubuntu-xenial + +# NOTE(mnaser): +# Some AIO LXC jobs have been disabled due to the fact that they +# time out. Instead, we rely on the basekit jobs which do not, but +# give some coverage. +- project-template: + name: openstack-ansible-deploy-aio_distro_lxc-jobs + check: + jobs: + # - openstack-ansible-deploy-aio_distro_lxc-centos-7 + - openstack-ansible-deploy-aio_distro_lxc-opensuse-423 + # - openstack-ansible-deploy-aio_distro_lxc-ubuntu-xenial + gate: + jobs: + # - openstack-ansible-deploy-aio_distro_lxc-centos-7 + - openstack-ansible-deploy-aio_distro_lxc-opensuse-423 + # - openstack-ansible-deploy-aio_distro_lxc-ubuntu-xenial + +- project-template: + name: openstack-ansible-deploy-aio_metal-jobs + check: + jobs: + - openstack-ansible-deploy-aio_metal-centos-7 + - openstack-ansible-deploy-aio_metal-opensuse-423 + - openstack-ansible-deploy-aio_metal-ubuntu-xenial + gate: + jobs: + - openstack-ansible-deploy-aio_metal-centos-7 + - openstack-ansible-deploy-aio_metal-opensuse-423 + - openstack-ansible-deploy-aio_metal-ubuntu-xenial + +# NOTE(mnaser): Basekit jobs disabled for other distros until stable +- project-template: + name: openstack-ansible-deploy-aio_basekit-jobs + check: + jobs: + # - openstack-ansible-deploy-aio_basekit-centos-7 + - openstack-ansible-deploy-aio_basekit-opensuse-423 + # - openstack-ansible-deploy-aio_basekit-ubuntu-xenial + gate: + jobs: + # - openstack-ansible-deploy-aio_basekit-centos-7 + - openstack-ansible-deploy-aio_basekit-opensuse-423 + # - openstack-ansible-deploy-aio_basekit-ubuntu-xenial + +# NOTE(mnaser): Distro basekit jobs disabled for other distros until stable +- project-template: + name: openstack-ansible-deploy-aio_distro_basekit-jobs + check: + jobs: + # - openstack-ansible-deploy-aio_distro_basekit-centos-7 + - openstack-ansible-deploy-aio_distro_basekit-opensuse-423 + # - openstack-ansible-deploy-aio_distro_basekit-ubuntu-xenial + gate: + jobs: + # - openstack-ansible-deploy-aio_distro_basekit-centos-7 + - openstack-ansible-deploy-aio_distro_basekit-opensuse-423 + # - openstack-ansible-deploy-aio_distro_basekit-ubuntu-xenial + +- project-template: + name: openstack-ansible-deploy-aio_nspawn-jobs + check: + jobs: + - openstack-ansible-deploy-aio_nspawn-centos-7 + - openstack-ansible-deploy-aio_nspawn-opensuse-423 + - openstack-ansible-deploy-aio_nspawn-ubuntu-xenial + gate: + jobs: + - openstack-ansible-deploy-aio_nspawn-centos-7 + - openstack-ansible-deploy-aio_nspawn-opensuse-423 + - openstack-ansible-deploy-aio_nspawn-ubuntu-xenial + +# NOTE(mnaser): Ceph jobs disabled for other distros until stable +- project-template: + name: openstack-ansible-deploy-ceph-jobs + check: + jobs: + #- openstack-ansible-deploy-ceph-centos-7 + #- openstack-ansible-deploy-ceph-opensuse-423 + - openstack-ansible-deploy-ceph-ubuntu-xenial + gate: + jobs: + #- openstack-ansible-deploy-ceph-centos-7 + #- openstack-ansible-deploy-ceph-opensuse-423 + - openstack-ansible-deploy-ceph-ubuntu-xenial + periodic: + jobs: + - openstack-ansible-deploy-ceph-ubuntu-xenial + - openstack-ansible-upgrade-ceph-ubuntu-xenial diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 426be36a63..14548f6d0f 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -14,76 +14,12 @@ - project: templates: - - check-requirements - - publish-openstack-docs-pti - - deploy-guide-jobs - - release-notes-jobs-python3 - check: - jobs: - - openstack-ansible-linters - - openstack-ansible-varstest-aio_lxc-ubuntu-xenial - # NOTE(mnaser): CentOS support is currently not working, enable once - # metal job is passing and voting. - # - openstack-ansible-deploy-aio_basekit-centos-7 - - openstack-ansible-deploy-aio_basekit-opensuse-423 - # NOTE(hwoarang) xenial does not currently work. It needs investigation - # - openstack-ansible-deploy-aio_distro_basekit-ubuntu-xenial: - # voting: false - # NOTE(mnaser): CentOS support is currently not working, enable once - # metal job is passing and voting. - # - openstack-ansible-deploy-aio_distro_basekit-centos-7 - - openstack-ansible-deploy-aio_distro_basekit-opensuse-423 - # NOTE(mhayden): Temporarily replacing suse and centos - # with aio_basekit scenario. - #- openstack-ansible-deploy-aio_lxc-centos-7 - #- openstack-ansible-deploy-aio_lxc-opensuse-423 - - openstack-ansible-deploy-aio_lxc-ubuntu-xenial - # NOTE(jrosser): Temporarily mark Bionic as non-voting until other bionic work is complete - - openstack-ansible-deploy-aio_lxc-ubuntu-bionic: - voting: false - - openstack-ansible-deploy-aio_metal-ubuntu-xenial - - openstack-ansible-deploy-aio_metal-opensuse-423 - - openstack-ansible-deploy-aio_metal-centos-7 - # NOTE(mnaser): nspawn jobs have been failing for a long time - # - openstack-ansible-deploy-aio_nspawn-centos-7 - # - openstack-ansible-deploy-aio_nspawn-opensuse-423 - # - openstack-ansible-deploy-aio_nspawn-ubuntu-xenial - # NOTE(mhayden): Temporarily replacing suse and centos - # with aio_basekit scenario. - #- openstack-ansible-deploy-ceph-centos-7 - #- openstack-ansible-deploy-ceph-opensuse-423 - - openstack-ansible-deploy-ceph-ubuntu-xenial - # NOTE(mnaser): CentOS support is currently not working, enable once - # metal job is passing and voting. - # - openstack-ansible-deploy-aio_distro_lxc-centos-7 - - openstack-ansible-deploy-aio_distro_lxc-opensuse-423 - # NOTE(hwoarang) xenial does not currently work. It needs investigation - # - openstack-ansible-deploy-aio_distro_lxc-ubuntu-xenial - experimental: - jobs: - - openstack-ansible-deploy-octavia-ubuntu-xenial - - openstack-ansible-deploy_with_ansible_devel-aio-ubuntu-xenial - - openstack-ansible-deploy_with_ansible_next-aio-ubuntu-xenial - - openstack-ansible-deploy-congress-ubuntu-xenial - gate: - jobs: - - openstack-ansible-linters - - openstack-ansible-varstest-aio_lxc-ubuntu-xenial - - openstack-ansible-deploy-ceph-ubuntu-xenial - - openstack-ansible-deploy-aio_lxc-ubuntu-xenial - - openstack-ansible-deploy-aio_metal-ubuntu-xenial - - openstack-ansible-deploy-aio_metal-opensuse-423 - periodic: - jobs: - # We remove the centos periodics - # until they are more likely to pass on time. - # (Currently timing out). - #- openstack-ansible-deploy-aio_lxc-centos-7 - - openstack-ansible-deploy-aio_lxc-opensuse-423 - - openstack-ansible-deploy-aio_lxc-ubuntu-xenial - #- openstack-ansible-deploy-ceph-centos-7 - - openstack-ansible-deploy-ceph-opensuse-423 - - openstack-ansible-deploy-ceph-ubuntu-xenial - - openstack-ansible-deploy-translations-ubuntu-xenial - - openstack-ansible-upgrade-aio_lxc-ubuntu-xenial - - openstack-ansible-upgrade-ceph-ubuntu-xenial + - openstack-ansible-deploy-base-jobs + - openstack-ansible-deploy-aio_lxc-jobs + - openstack-ansible-deploy-aio_distro_lxc-jobs + - openstack-ansible-deploy-aio_metal-jobs + - openstack-ansible-deploy-aio_basekit-jobs + - openstack-ansible-deploy-aio_distro_basekit-jobs + # NOTE(mnaser): All nspawn jobs disabled until issues resolved + # - openstack-ansible-deploy-aio_nspawn-jobs + - openstack-ansible-deploy-ceph-jobs