From e87b20f719f691f61e35be1054ccb4fbcf65e433 Mon Sep 17 00:00:00 2001
From: Monty Taylor <mordred@inaugust.com>
Date: Wed, 27 Sep 2017 13:36:27 -0500
Subject: [PATCH] Migrate zuul v2 project pipelines to v3

This is the outcome of having run the zuul migration script and then
re-adding the comments.

Update openstack-compare-cover mapping - it's
openstack-tox-compate-cover.

Change-Id: I18da5f00050920bbc5b7b0ef5542576f5c16b9bb
---
 zuul.d/projects.yaml | 52793 ++++++++++++++++++++++++++++++++++++++++-
 zuul/layout.yaml     |     5 -
 zuul/mapping.yaml    |     4 +-
 3 files changed, 52747 insertions(+), 55 deletions(-)

diff --git a/zuul.d/projects.yaml b/zuul.d/projects.yaml
index 8466e6b270..fac0a7d775 100644
--- a/zuul.d/projects.yaml
+++ b/zuul.d/projects.yaml
@@ -1,9 +1,3814 @@
 # Shared zuul config specific to the OpenStack Project
 # Contains project pipeline definitions
 
-# This project definition is here so that the only zuul config in
-# zuul-jobs are the jobs themselves (to make it easy for other users
-# to consume).
+- project:
+    name: openstack-dev/bashate
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-bashate-devstack:
+            voting: false
+        - legacy-bashate-python36-fedora-26:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-dev/ci-sandbox
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack-dev/cookiecutter
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack-dev/devstack
+    templates:
+      - merge-check
+      - integrated-gate-py35
+      - integrated-gate-nova-net
+      - publish-openstack-python-docs
+    check:
+      jobs:
+        - build-openstack-sphinx-docs:
+            branches: ^master
+        - openstack-tox-bashate
+        - legacy-devstack-unit-tests
+        - legacy-tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-devstack-dsvm-updown:
+            branches: ^(?!stable)
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-devstack-dsvm-py35-updown:
+            voting: false
+            branches: ^(?!stable)
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-swift-dsvm-functional:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-grenade-dsvm-neutron-multinode:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-tempest-dsvm-neutron-full-centos-7:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-tempest-dsvm-neutron-linuxbridge:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-tempest-dsvm-neutron-full-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-tempest-dsvm-neutron-multinode-full:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-tempest-dsvm-neutron-full:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+    gate:
+      queue: integrated
+      jobs:
+        - build-openstack-sphinx-docs:
+            branches: ^master
+        - openstack-tox-bashate
+        - legacy-grenade-dsvm-neutron-multinode:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-tempest-dsvm-neutron-linuxbridge:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-tempest-dsvm-neutron-full:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+    experimental:
+      jobs:
+        - legacy-tempest-dsvm-full-devstack-plugin-ceph:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-tempest-dsvm-py35-full-devstack-plugin-ceph:
+            voting: false
+            branches: ^(?!(stable/(newton|ocata)|driverfixes/)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-tempest-dsvm-neutron-dvr:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-tempest-dsvm-neutron-dvr-multinode-full:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-tempest-dsvm-neutron-dvr-ha-multinode-full:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-tempest-dsvm-neutron-nova-next-full:
+            voting: false
+            branches: ^(stable/newton|master)$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-tempest-dsvm-lvm-multibackend:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-tempest-dsvm-neutron-full-fedora-26:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-devstack-dsvm-py36-updown-fedora-26:
+            voting: false
+            branches: ^(?!stable)
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-tempest-dsvm-cells:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-tempest-dsvm-neutron-pg-full:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-tempest-dsvm-neutron-full-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+    periodic:
+      jobs:
+        - propose-updates:
+            vars:
+              update_target: devstack-plugins-list
+        - legacy-periodic-tempest-dsvm-oslo-latest-full-master:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+
+- project:
+    name: openstack-dev/devstack-plugin-cookiecutter
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack-dev/devstack-vagrant
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack-dev/grenade
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-grenade-dsvm-heat:
+            voting: false
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-grenade-dsvm-neutron-multinode:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - build-openstack-sphinx-docs:
+            branches: ^(?!stable/newton).*$
+        - legacy-grenade-dsvm-ironic:
+            voting: false
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+    gate:
+      queue: integrated
+      jobs:
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-grenade-dsvm-neutron-multinode:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - build-openstack-sphinx-docs:
+            branches: ^(?!stable/newton).*$
+    post:
+      jobs:
+        - legacy-grenade-publish-docs:
+            branches: ^(?!bug/).*$
+    experimental:
+      jobs:
+        - legacy-grenade-dsvm-neutron-forward:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-grenade-dsvm-neutron-nova-next:
+            voting: false
+            branches: ^stable/ocata$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-grenade-dsvm-trove:
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-grenade-dsvm-ceilometer:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+
+- project:
+    name: openstack-dev/hacking
+    templates:
+      - merge-check
+      - publish-openstack-python-docs
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - openstack-pypy-jobs-nonvoting
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-hacking-integration-nova:
+            voting: false
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-dev/heat-cfnclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack-dev/openstack-nose
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack-dev/os-http
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-dev/oslo-cookiecutter
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-oslo-cookiecutter-tox-cookiecutter
+    gate:
+      jobs:
+        - legacy-oslo-cookiecutter-tox-cookiecutter
+
+- project:
+    name: openstack-dev/pbr
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - lib-forward-testing
+      - openstack-pypy-jobs-nonvoting
+      - publish-openstack-python-docs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    check:
+      jobs:
+        - legacy-pbr-installation-dsvm
+        - legacy-pbr-installation-dsvm-upstream
+    gate:
+      jobs:
+        - legacy-pbr-installation-dsvm
+    periodic:
+      jobs:
+        - legacy-pbr-installation-dsvm
+        - legacy-pbr-installation-dsvm-upstream
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-dev/sandbox
+    release:
+      jobs:
+        - release-openstack-python
+        - legacy-sandbox-tag
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - legacy-sandbox-tag
+
+- project:
+    name: openstack-dev/specs-cookiecutter
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack-infra/activity-board
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack-infra/ansible-role-puppet
+    templates:
+      - merge-check
+      - ansible-lint-jobs
+      - infra-puppet-apply-jobs
+
+- project:
+    name: openstack-infra/askbot-theme
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack-infra/beaker-localhost
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-beaker-localhost-rake
+    gate:
+      jobs:
+        - legacy-beaker-localhost-rake
+
+- project:
+    name: openstack-infra/beaker-nodepool
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-beaker-nodepool-rake
+    gate:
+      jobs:
+        - legacy-beaker-nodepool-rake
+
+- project:
+    name: openstack-infra/bindep
+    templates:
+      - bindep-fallback
+      - merge-check
+      - openstack-pypy-jobs-nonvoting
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    post:
+      jobs:
+        - openstack-tox-cover
+    release:
+      jobs:
+        - publish-openstack-python-docs-infra
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/bugdaystats
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/ciwatch
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack-infra/devstack-gate
+    templates:
+      - merge-check
+      - integrated-gate-py35
+      - integrated-gate-nova-net
+      - experimental-tripleo-jobs
+    check:
+      jobs:
+        - legacy-devstack-gate-tox-run-tests
+        - legacy-devstack-gate-tox-py3-run-tests
+        - openstack-tox-bashate
+        - legacy-dg-hooks-dsvm
+        - legacy-grenade-dsvm-neutron-multinode:
+            branches: ^(?!stable/newton).*$
+        - legacy-grenade-dsvm-neutron-dvr-multinode:
+            voting: false
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+        - legacy-neutron-dsvm-functional:
+            voting: false
+        - legacy-neutron-dsvm-api:
+            voting: false
+        - legacy-swift-dsvm-functional:
+            voting: false
+        - legacy-tempest-dsvm-nnet-newton:
+            voting: false
+            branches: stable/newton
+        - legacy-tempest-dsvm-nnet-ocata:
+            voting: false
+            branches: stable/newton
+        - legacy-tempest-dsvm-neutron-full-newton:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+        - legacy-tempest-dsvm-neutron-full-ocata:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+        - legacy-tempest-dsvm-neutron-full-pike:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+        - legacy-tempest-dsvm-neutron-full-centos-7:
+            voting: false
+        - legacy-tempest-dsvm-multinode-full:
+            voting: false
+        - legacy-tempest-dsvm-neutron-multinode-full:
+            voting: false
+        - legacy-tempest-dsvm-neutron-full-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-tempest-dsvm-neutron-full:
+            branches: ^(?!driverfixes/).*$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+    gate:
+      queue: integrated
+      jobs:
+        - legacy-devstack-gate-tox-run-tests
+        - legacy-devstack-gate-tox-py3-run-tests
+        - legacy-grenade-dsvm-neutron-multinode:
+            branches: ^(?!stable/newton).*$
+        - legacy-tempest-dsvm-neutron-full:
+            branches: ^(?!driverfixes/).*$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+    experimental:
+      jobs:
+        - legacy-tempest-dsvm-neutron-full-fedora-26:
+            voting: false
+        - legacy-tempest-dsvm-neutron-dvr-multinode-full:
+            voting: false
+        - legacy-tempest-dsvm-neutron-dvr-ha-multinode-full:
+            voting: false
+        - legacy-tempest-dsvm-neutron-pg-full:
+            voting: false
+        - legacy-tempest-dsvm-neutron-full-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+
+- project:
+    name: openstack-infra/elastic-recheck
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+        - openstack-tox-py27
+        - legacy-elastic-recheck-tox-queries:
+            voting: false
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+        - openstack-tox-py27
+    post:
+      jobs:
+        - legacy-elastic-recheck-docs:
+            branches: ^(?!bug/).*$
+
+- project:
+    name: openstack-infra/err2d2
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack-infra/featuretracker
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack-infra/gear
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - docs-on-readthedocs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/gearman-plugin
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-gearman-plugin-maven-build-ubuntu-trusty
+    gate:
+      jobs:
+        - legacy-gearman-plugin-maven-build-ubuntu-trusty
+    post:
+      jobs:
+        - legacy-gearman-plugin-hpi-artifact
+    release:
+      jobs:
+        - legacy-gearman-plugin-jenkinsci-upload:
+            dependencies:
+              - legacy-gearman-plugin-hpi-artifact
+        - legacy-gearman-plugin-hpi-artifact
+
+- project:
+    name: openstack-infra/germqtt
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/gerrit
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-gerrit-buck:
+            branches: ^openstack/(?!2\.4).*$
+    gate:
+      jobs:
+        - legacy-gerrit-buck:
+            branches: ^openstack/(?!2\.4).*$
+    post:
+      jobs:
+        - legacy-gerrit-package-buck:
+            branches: ^openstack/(?!2\.4).*$
+    periodic:
+      jobs:
+        - legacy-javamelody-gerrit-plugin-stable-2.13
+        - legacy-its-storyboard-gerrit-plugin-stable-2.13
+
+- project:
+    name: openstack-infra/gerritbot
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/gerritlib
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/git-restack
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    release:
+      jobs:
+        - publish-openstack-python-docs-infra
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/git-review
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    release:
+      jobs:
+        - publish-openstack-python-docs-infra
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/gitdm
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-gitdm
+    gate:
+      jobs:
+        - legacy-gitdm
+    periodic:
+      jobs:
+        - legacy-periodic-gitdm
+
+- project:
+    name: openstack-infra/glean
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs-infra
+    check:
+      jobs:
+        - legacy-dsvm-nodepool-redhat-src
+        - legacy-dsvm-nodepool-ubuntu-src
+        - legacy-dsvm-nodepool-opensuse-src
+    gate:
+      queue: glean
+      jobs:
+        - legacy-dsvm-nodepool-redhat-src
+        - legacy-dsvm-nodepool-ubuntu-src
+        - legacy-dsvm-nodepool-opensuse-src
+    experimental:
+      jobs:
+        - legacy-dsvm-nodepool-debian-src:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/grafyaml
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs-infra
+    check:
+      jobs:
+        - openstack-tox-cover
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/groups
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-groups-unittests
+    gate:
+      jobs:
+        - legacy-groups-unittests
+    post:
+      jobs:
+        - legacy-groups-release-branch
+    release:
+      jobs:
+        - legacy-groups-release-master
+
+- project:
+    name: openstack-infra/groups-static-pages
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack-infra/infra-ansible
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-infra-ansible
+    gate:
+      jobs:
+        - legacy-infra-ansible
+
+- project:
+    name: openstack-infra/infra-manual
+    templates:
+      - merge-check
+      - publish-openstack-python-docs-infra
+
+- project:
+    name: openstack-infra/infra-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+
+- project:
+    name: openstack-infra/irc-meetings
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - legacy-irc-meetings-tox-ical
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - legacy-irc-meetings-tox-ical
+    post:
+      jobs:
+        - publish-irc-meetings
+
+- project:
+    name: openstack-infra/jeepyb
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/jenkins-job-builder
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs-infra
+    check:
+      jobs:
+        - openstack-tox-cover
+        - build-openstack-sphinx-docs:
+            voting: false
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/js-afs-blob-store
+    templates:
+      - merge-check
+      - nodejs4-jobs
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-npm-upload
+        - legacy-npm-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/js-generator-openstack
+    templates:
+      - merge-check
+      - nodejs4-jobs
+      - nodejs4-docs
+    pre-release:
+      jobs:
+        - legacy-js-generator-openstack-nodejs6-npm-docs:
+            branches: ^(?!bug/).*$
+    release:
+      jobs:
+        - legacy-js-generator-openstack-nodejs6-npm-docs:
+            branches: ^(?!bug/).*$
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-npm-upload
+        - legacy-npm-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/js-openstack-registry-hooks
+    templates:
+      - merge-check
+      - nodejs4-jobs
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-npm-upload
+        - legacy-npm-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/lodgeit
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack-infra/log_processor
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - publish-openstack-python-docs-infra
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/logstash-filters
+    templates:
+      - merge-check
+      - infra-logstash-filter-jobs
+
+- project:
+    name: openstack-infra/lpmqtt
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/meetbot
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack-infra/mqtt_statsd
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/nodepool
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs-infra
+    check:
+      jobs:
+        - openstack-tox-cover
+        - legacy-dsvm-nodepool:
+            voting: false
+            branches: ^(?!feature/zuulv3).*$
+        - legacy-dsvm-nodepool-src:
+            voting: false
+            branches: ^(?!feature/zuulv3).*$
+        - legacy-dsvm-nodepool-py35:
+            voting: false
+        - legacy-dsvm-nodepool-py35-src:
+            voting: false
+    post:
+      jobs:
+        - openstack-tox-cover
+    experimental:
+      jobs:
+        - legacy-zuul-nodepool
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/nose-html-output
+    templates:
+      - merge-check
+      - noop-jobs
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/odsreg
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack-infra/openstack-zuul-jobs
+    post:
+      jobs:
+        - publish-openstack-python-docs-infra:
+            branches: ^(?!bug/).*$
+
+- project:
+    name: openstack-infra/openstack-zuul-roles
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack-infra/openstackid
+    templates:
+      - merge-check
+      - publish-openstack-python-docs-infra
+    check:
+      jobs:
+        - legacy-laravel-openstackid-unittests
+    gate:
+      jobs:
+        - legacy-laravel-openstackid-unittests
+    post:
+      jobs:
+        - legacy-laravel-openstackid-release-branch
+    release:
+      jobs:
+        - legacy-laravel-openstackid-release-master
+
+- project:
+    name: openstack-infra/openstackid-resources
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack-infra/openstackweb
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack-infra/os-loganalyze
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    experimental:
+      jobs:
+        - legacy-dsvm-os-loganalyze:
+            voting: false
+
+- project:
+    name: openstack-infra/project-config
+    templates:
+      - merge-check
+      - noop-jobs
+    check:
+      jobs:
+        - build-openstack-specs-site
+        - openstack-tox-linters:
+            files:
+              - ^.*\.sh$
+              - ^.*\.py$
+              - bindep.txt
+              - other-requirements.txt
+              - test-requirements.txt
+              - tox.ini
+        - project-config-dib
+        - project-config-gerrit
+        - project-config-grafyaml
+        - project-config-infra-docs-index
+        - project-config-irc-access
+        - project-config-nodepool
+        - zuul-migrate:
+            files:
+              - zuul/mapping.yaml
+        - legacy-bindep-fallback-centos-7:
+            branches: master
+            files:
+              - bindep.txt
+              - jenkins/data/bindep-fallback.txt
+              - other-requirements.txt
+        - legacy-bindep-fallback-fedora-26:
+            branches: master
+            files:
+              - bindep.txt
+              - jenkins/data/bindep-fallback.txt
+              - other-requirements.txt
+        - legacy-bindep-fallback-debian-jessie:
+            branches: master
+            files:
+              - bindep.txt
+              - jenkins/data/bindep-fallback.txt
+              - other-requirements.txt
+        - legacy-bindep-fallback-opensuse-423:
+            branches: master
+            files:
+              - bindep.txt
+              - jenkins/data/bindep-fallback.txt
+              - other-requirements.txt
+        - legacy-bindep-fallback-ubuntu-trusty:
+            branches: master
+            files:
+              - bindep.txt
+              - jenkins/data/bindep-fallback.txt
+              - other-requirements.txt
+        - legacy-bindep-fallback:
+            branches: master
+            files:
+              - bindep.txt
+              - jenkins/data/bindep-fallback.txt
+              - other-requirements.txt
+    gate:
+      queue: project-config
+      jobs:
+        - build-openstack-specs-site
+        - openstack-tox-linters:
+            files:
+              - ^.*\.sh$
+              - ^.*\.py$
+              - bindep.txt
+              - other-requirements.txt
+              - test-requirements.txt
+              - tox.ini
+        - project-config-dib
+        - project-config-gerrit
+        - project-config-grafyaml
+        - project-config-infra-docs-index
+        - project-config-irc-access
+        - project-config-nodepool
+        - legacy-bindep-fallback-centos-7:
+            branches: master
+            files:
+              - bindep.txt
+              - jenkins/data/bindep-fallback.txt
+              - other-requirements.txt
+        - legacy-bindep-fallback-fedora-26:
+            branches: master
+            files:
+              - bindep.txt
+              - jenkins/data/bindep-fallback.txt
+              - other-requirements.txt
+        - legacy-bindep-fallback-debian-jessie:
+            branches: master
+            files:
+              - bindep.txt
+              - jenkins/data/bindep-fallback.txt
+              - other-requirements.txt
+        - legacy-bindep-fallback-opensuse-423:
+            branches: master
+            files:
+              - bindep.txt
+              - jenkins/data/bindep-fallback.txt
+              - other-requirements.txt
+        - legacy-bindep-fallback-ubuntu-trusty:
+            branches: master
+            files:
+              - bindep.txt
+              - jenkins/data/bindep-fallback.txt
+              - other-requirements.txt
+        - legacy-bindep-fallback:
+            branches: master
+            files:
+              - bindep.txt
+              - jenkins/data/bindep-fallback.txt
+              - other-requirements.txt
+    post:
+      jobs:
+        - publish-openstack-python-docs-infra-index
+        - publish-openstack-specs-site
+    periodic:
+      jobs:
+        - propose-project-config-update
+        - project-config-build-openafs-centos
+
+- project:
+    name: openstack-infra/project-config-example
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-project-config-layout
+        - openstack-tox-linters
+        - legacy-project-config-jenkins-project
+    gate:
+      jobs:
+        - legacy-project-config-layout
+        - openstack-tox-linters
+        - legacy-project-config-jenkins-project
+
+- project:
+    name: openstack-infra/publications
+    templates:
+      - merge-check
+      - noop-jobs
+    post:
+      jobs:
+        - legacy-infra-publications-publish:
+            branches: ^(?!master).*$
+        - legacy-infra-publications-publish-index:
+            branches: ^(?!master).*$
+    tag:
+      jobs:
+        - legacy-infra-publications-publish:
+            branches: ^(?!master).*$
+        - legacy-infra-publications-publish-index:
+            branches: ^(?!master).*$
+
+- project:
+    name: openstack-infra/puppet-accessbot
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-ansible
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-apparmor
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-apps_site
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-askbot
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-asterisk
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-bandersnatch
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-bugdaystats
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-bup
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-cgit
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-ciwatch
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-diskimage_builder
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-docker_registry
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-drupal
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-elastic_recheck
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-elasticsearch
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-ethercalc
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-etherpad_lite
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-exim
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-featuretracker
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-germqtt
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+
+- project:
+    name: openstack-infra/puppet-gerrit
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-gerritbot
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-github
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-grafyaml
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-graphite
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-haveged
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-hound
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-httpd
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+    release:
+      jobs:
+        - legacy-puppet-httpd-forge-upload
+
+- project:
+    name: openstack-infra/puppet-infra-cookiecutter
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack-infra/puppet-infracloud
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-trusty-nv
+      - puppet-beaker-jobs-xenial-nv
+
+- project:
+    name: openstack-infra/puppet-ipsilon
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-iptables
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-jeepyb
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-jenkins
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-kerberos
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-kibana
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-lodgeit
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-log_processor
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-logrotate
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+
+- project:
+    name: openstack-infra/puppet-logstash
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-lpmqtt
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+
+- project:
+    name: openstack-infra/puppet-mailman
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-mediawiki
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-meetbot
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-mosquitto
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+
+- project:
+    name: openstack-infra/puppet-mqtt_statsd
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+
+- project:
+    name: openstack-infra/puppet-mysql_backup
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-nodepool
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-odsreg
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-openafs
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-openstack_health
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-openstack_infra_spec_helper
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-puppet-openstack-infra-spec-helper-unit-centos-7
+        - legacy-puppet-openstack-infra-spec-helper-unit
+        - legacy-puppet-openstack-infra-spec-helper-unit-ubuntu-trusty
+    gate:
+      jobs:
+        - legacy-puppet-openstack-infra-spec-helper-unit-centos-7
+        - legacy-puppet-openstack-infra-spec-helper-unit
+        - legacy-puppet-openstack-infra-spec-helper-unit-ubuntu-trusty
+
+- project:
+    name: openstack-infra/puppet-openstackci
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - publish-openstack-python-docs-infra
+    check:
+      jobs:
+        - legacy-puppet-openstackci-puppet-beaker-rspec-ubuntu-trusty
+        - legacy-puppet-openstackci-puppet-beaker-rspec-centos-7
+        - legacy-puppet-openstackci-puppet-beaker-rspec
+    gate:
+      jobs:
+        - legacy-puppet-openstackci-puppet-beaker-rspec-ubuntu-trusty
+        - legacy-puppet-openstackci-puppet-beaker-rspec-centos-7
+        - legacy-puppet-openstackci-puppet-beaker-rspec
+
+- project:
+    name: openstack-infra/puppet-openstackid
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-os_client_config
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-packagekit
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-pgsql_backup
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-phabricator
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-pip
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-planet
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-project_config
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-ptgbot
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-puppet
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-redis
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-refstack
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+
+- project:
+    name: openstack-infra/puppet-releasestatus
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-reviewday
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-simpleproxy
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-snmpd
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-ssh
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-ssl_cert_check
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-stackalytics
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-statusbot
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-storyboard
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+    release:
+      jobs:
+        - legacy-puppet-storyboard-forge-upload
+
+- project:
+    name: openstack-infra/puppet-subunit2sql
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-sudoers
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-tmpreaper
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-translation_checksite
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-ulimit
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-unattended_upgrades
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-unbound
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-user
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-vcsrepo
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack-infra/puppet-vinz
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-yum
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-zanata
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/puppet-zuul
+    templates:
+      - merge-check
+      - infra-puppet-check-jobs
+      - infra-puppet-apply-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+
+- project:
+    name: openstack-infra/pynotedb
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/pypi-mirror
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - legacy-requirements-integration-dsvm-ubuntu-trusty:
+            branches: ^stable/newton$
+        - legacy-requirements-integration-dsvm
+    gate:
+      queue: integrated
+      jobs:
+        - openstack-tox-pep8
+        - legacy-requirements-integration-dsvm-ubuntu-trusty:
+            branches: ^stable/newton$
+        - legacy-requirements-integration-dsvm
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/python-storyboardclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs-infra
+    post:
+      jobs:
+        - openstack-tox-cover
+    release:
+      jobs:
+        - publish-openstack-python-docs-infra:
+            branches: ^(?!bug/).*$
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/release-tools
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - openstack-tox-bashate
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - openstack-tox-bashate
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack-infra/releasestatus
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack-infra/requestsexceptions
+    templates:
+      - merge-check
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/reviewday
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/reviewstats
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/shade
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - release-notes-jobs
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-cover
+        - legacy-shade-functional
+        - legacy-shade-functional-legacy
+        - legacy-shade-functional-legacy-libs:
+            voting: false
+        - legacy-shade-functional-legacy-libs-py35:
+            voting: false
+        - legacy-shade-functional-libs:
+            voting: false
+        - legacy-shade-functional-libs-py35:
+            voting: false
+        - legacy-shade-functional-py35
+        - legacy-shade-ansible
+        - legacy-shade-ansible-dev:
+            voting: false
+        - legacy-dsvm-nodepool-src-old:
+            voting: false
+        - legacy-dsvm-nodepool-src:
+            branches: ^(?!feature/zuulv3).*$
+            voting: false
+        - legacy-dsvm-nodepool-src-zuulv3
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-shade-functional
+        - legacy-shade-functional-legacy
+        - legacy-shade-functional-py35
+        - legacy-shade-ansible
+        - legacy-dsvm-nodepool-src:
+            branches: ^(?!feature/zuulv3).*$
+            voting: false
+        - legacy-dsvm-nodepool-src-zuulv3
+        - legacy-python35:
+            voting: false
+    post:
+      jobs:
+        - openstack-tox-cover
+    experimental:
+      jobs:
+        - legacy-shade-functional-magnum:
+            voting: false
+
+- project:
+    name: openstack-infra/statusbot
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/storyboard
+    templates:
+      - publish-openstack-python-docs-infra
+      - merge-check
+      - openstack-python35-jobs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-docs-infra:
+            branches: ^(?!bug/).*$
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-docs-infra:
+            branches: ^(?!bug/).*$
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    experimental:
+      jobs:
+        - legacy-storyboard-js-integration-ubuntu-trusty:
+            branches: ^master$
+        - legacy-storyboard-js-integration
+
+- project:
+    name: openstack-infra/storyboard-webclient
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-storyboard-webclient-nodejs4-npm-run-lint
+        - legacy-storyboard-webclient-nodejs4-npm-run-test-unit
+        - legacy-storyboard-webclient-nodejs4-npm-run-test-functional
+        - legacy-storyboard-webclient-nodejs4-npm-run-test-integration
+        - legacy-storyboard-webclient-js-draft: {}
+    gate:
+      jobs:
+        - legacy-storyboard-webclient-nodejs4-npm-run-lint
+        - legacy-storyboard-webclient-nodejs4-npm-run-test-unit
+        - legacy-storyboard-webclient-nodejs4-npm-run-test-functional
+        - legacy-storyboard-webclient-nodejs4-npm-run-test-integration
+    post:
+      jobs:
+        - legacy-storyboard-webclient-js-release-branch
+    release:
+      jobs:
+        - legacy-storyboard-webclient-js-release-master
+    experimental:
+      jobs:
+        - legacy-storyboard-js-integration-ubuntu-trusty:
+            branches: ^master$
+        - legacy-storyboard-js-integration
+
+- project:
+    name: openstack-infra/subunit2sql
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - release-notes-jobs
+      - publish-openstack-python-docs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/system-config
+    templates:
+      - merge-check
+      - infra-puppet-apply-jobs
+      - publish-openstack-python-docs-infra
+      - infra-logstash-filter-jobs
+    check:
+      jobs:
+        - openstack-tox-linters
+        - legacy-system-config-puppet-syntax-3
+    gate:
+      jobs:
+        - openstack-tox-linters
+        - legacy-system-config-puppet-syntax-3
+
+- project:
+    name: openstack-infra/tripleo-ci
+    templates:
+      - merge-check
+      - check-tripleo-undercloud-jobs
+      - tripleo-scenario-jobs-scenario001
+      - tripleo-scenario-jobs-scenario002
+      - tripleo-scenario-jobs-scenario003
+      - tripleo-scenario-jobs-scenario004
+    check:
+      jobs:
+        - legacy-tripleo-ci-centos-7-multinode-upgrades:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-tripleo-ci-centos-7-containers-multinode-upgrades:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-tripleo-ci-centos-7-3nodes-multinode:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-tripleo-ci-centos-7-undercloud-containers:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq-newton
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq-ocata
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq-pike
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq
+        - legacy-tripleo-ci-centos-7-ovb-containers-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024:
+            irrelevant-files:
+              - ^scripts/quickstart/.*$
+              - ^toci_instack_oooq.sh$
+              - ^toci_instack_oooq_multinode.sh$
+    periodic:
+      jobs:
+        - legacy-periodic-tripleo-ci-centos-7-ovb-fakeha-caserver
+        - legacy-periodic-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024
+        - legacy-periodic-tripleo-ci-centos-7-ovb-ha-oooq
+        - legacy-periodic-tripleo-ci-centos-7-ovb-ha-newton-oooq
+        - legacy-periodic-tripleo-ci-centos-7-ovb-ha-ocata-oooq
+        - legacy-periodic-tripleo-ci-centos-7-ovb-ha-pike-oooq
+        - legacy-periodic-tripleo-ci-centos-7-ovb-nonha-tempest-oooq-master
+        - legacy-periodic-tripleo-ci-centos-7-ovb-nonha-tempest-oooq-ocata
+        - legacy-periodic-tripleo-ci-centos-7-ovb-nonha-tempest-oooq-pike
+        - legacy-periodic-tripleo-ci-centos-7-scenario001-multinode-oooq
+        - legacy-periodic-tripleo-ci-centos-7-scenario002-multinode-oooq
+        - legacy-periodic-tripleo-ci-centos-7-scenario003-multinode-oooq
+        - legacy-periodic-tripleo-ci-centos-7-scenario004-multinode-oooq
+        - legacy-periodic-tripleo-ci-centos-7-ovb-nonha-containers
+    experimental-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-fakeha-caserver:
+            irrelevant-files:
+              - ^scripts/quickstart/.*$
+              - ^toci_instack_oooq.sh$
+              - ^toci_instack_oooq_multinode.sh$
+        - legacy-tripleo-ci-centos-7-ovb-ha-tempest-oooq
+    gate:
+      jobs:
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+    experimental:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario005-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/pacemaker.*$
+              - ^manifests/pacemaker/.*$
+              - ^manifests/profile/pacemaker.*$
+              - manifests/profile/base/pacemaker.pp
+              - ci/environments/scenario005-multinode.yaml
+              - ci/pingtests/scenario005-multinode.yaml
+              - config/general_config/featureset009.yml
+        - legacy-tripleo-ci-centos-7-scenario006-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/kubernetes.*$
+              - ^environments/kubernetes.*$
+              - ci/environments/scenario006-multinode.yaml
+              - ci/pingtests/scenario006-multinode.yaml
+              - config/general_config/featureset026.yml
+        - legacy-tripleo-ci-centos-7-scenario008-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^environments/.*opendaylight.*$
+              - ^puppet/services/.*opendaylight.*$
+              - manifests/profile/base/neutron/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ml2/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ovs/opendaylight.pp
+              - ^manifests/profile/base/neutron/opendaylight/.*$
+              - ci/environments/scenario008-multinode.yaml
+              - ci/pingtests/scenario008-multinode.yaml
+              - config/general_config/featureset031.yml
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq-container:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode-containers.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^(docker|puppet)/services/.*ovn.*$
+              - ^manifests/profile/pacemaker/ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset030.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+        - legacy-tripleo-ci-centos-7-scenario009-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/openshift.*$
+              - ^environments/openshift.*$
+              - ci/environments/scenario009-multinode.yaml
+              - ci/pingtests/scenario009-multinode.yaml
+              - config/general_config/featureset033.yml
+
+- project:
+    name: openstack-infra/trystack-site
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack-infra/vinz
+    templates:
+      - merge-check
+      - nodejs4-jobs
+
+- project:
+    name: openstack-infra/vinz-webclient
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-vinz-webclient-js-draft: {}
+    gate:
+      jobs:
+        - noop
+    post:
+      jobs:
+        - legacy-vinz-webclient-js-release-branch
+    release:
+      jobs:
+        - legacy-vinz-webclient-js-release-master
+
+- project:
+    name: openstack-infra/yaml2ical
+    templates:
+      - merge-check
+      - openstack-python35-jobs
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/zmq-event-publisher
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-zmq-event-publisher-maven-build-ubuntu-trusty
+    gate:
+      jobs:
+        - legacy-zmq-event-publisher-maven-build-ubuntu-trusty
+    post:
+      jobs:
+        - legacy-zmq-event-publisher-hpi-artifact
+    release:
+      jobs:
+        - legacy-zmq-event-publisher-jenkinsci-upload:
+            dependencies:
+              - legacy-zmq-event-publisher-hpi-artifact
+        - legacy-zmq-event-publisher-hpi-artifact
+
+- project:
+    name: openstack-infra/zuul
+    templates: []
+    experimental:
+      jobs:
+        - legacy-zuul-nodepool
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack-infra/zuul-base-jobs
+    templates:
+      - merge-check
+      - noop-jobs
+
 - project:
     name: openstack-infra/zuul-jobs
     templates:
@@ -28,73 +3833,48965 @@
         - base-integration-opensuse423
         - tox-linters
         - tox-py35-on-zuul
+    post:
+      jobs:
+        - publish-openstack-python-docs-infra:
+            branches: ^(?!bug/).*$
 
 - project:
-    name: openstack-dev/sandbox
+    name: openstack-infra/zuul-packaging
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack-infra/zuul-sphinx
+    templates:
+      - merge-check
+      - publish-openstack-python-docs-infra
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
     release:
       jobs:
-        - release-openstack-python
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/adjutant
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    check:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/adjutant-ui
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/aeromancer
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/ailuropoda
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/alexandria
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/almanach
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - docs-on-readthedocs
+    check:
+      jobs:
+        - legacy-tempest-almanach-dsvm
+    gate:
+      jobs:
+        - legacy-tempest-almanach-dsvm
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/anchor
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - openstack-pypy-jobs-nonvoting
+      - publish-openstack-python-docs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/ansible-hardening
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - ansible-role-functional-jobs-centos7
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    check:
+      jobs:
+        - legacy-ansible-hardening-ansible-func_rhel6-ubuntu-trusty:
+            branches: ^stable/(newton|ocata|pike)$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-ansible-hardening-ansible-func-debian-jessie:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-ansible-hardening-ansible-func-fedora-26:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-ansible-hardening-ansible-func_rhel6-ubuntu-trusty:
+            branches: ^stable/(newton|ocata|pike)$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-ansible-hardening-ansible-func-debian-jessie:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-ansible-hardening-ansible-func-fedora-26:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    release:
+      jobs:
+        - legacy-ansible-hardening-announce-release
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/ansible-role-ara
+    templates:
+      - noop-jobs
+      - merge-check
+
+- project:
+    name: openstack/ansible-role-bindep
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - ansible-role-functional-jobs-centos7
+      - ansible-role-functional-jobs-fedora-26
+      - ansible-role-functional-jobs-xenial
+      - docs-on-readthedocs
+      - windmill-jobs-centos7-nv
+
+- project:
+    name: openstack/ansible-role-cloud-launcher
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - ansible-role-functional-dsvm-jobs-centos7
+      - ansible-role-functional-dsvm-jobs-trusty
+      - docs-on-readthedocs
+
+- project:
+    name: openstack/ansible-role-diskimage-builder
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - ansible-role-functional-jobs-centos7
+      - ansible-role-functional-jobs-fedora-26
+      - ansible-role-functional-jobs-xenial
+      - docs-on-readthedocs
+      - windmill-jobs-centos7-nv
+      - windmill-jobs-fedora-26
+      - windmill-jobs-xenial
+
+- project:
+    name: openstack/ansible-role-fedmsg
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - ansible-role-functional-jobs-centos7
+      - ansible-role-functional-jobs-fedora-26
+      - ansible-role-functional-jobs-xenial
+      - docs-on-readthedocs
+      - windmill-jobs-centos7-nv
+      - windmill-jobs-fedora-26
+      - windmill-jobs-xenial
+
+- project:
+    name: openstack/ansible-role-jenkins
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - ansible-role-functional-jobs-xenial-nv
+      - docs-on-readthedocs
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            voting: false
+
+- project:
+    name: openstack/ansible-role-jenkins-job-builder
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - ansible-role-functional-jobs-centos7
+      - ansible-role-functional-jobs-fedora-26
+      - ansible-role-functional-jobs-xenial
+      - docs-on-readthedocs
+      - windmill-jobs-centos7-nv
+      - windmill-jobs-fedora-26-nv
+      - windmill-jobs-xenial-nv
+
+- project:
+    name: openstack/ansible-role-jenkins-plugins
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - ansible-role-functional-jobs-xenial-nv
+      - docs-on-readthedocs
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            voting: false
+
+- project:
+    name: openstack/ansible-role-logrotate
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - ansible-role-functional-jobs-centos7
+      - ansible-role-functional-jobs-fedora-26
+      - ansible-role-functional-jobs-xenial
+      - docs-on-readthedocs
+      - windmill-jobs-fedora-26-nv
+      - windmill-jobs-xenial-nv
+
+- project:
+    name: openstack/ansible-role-nginx
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - ansible-role-functional-jobs-xenial-nv
+      - docs-on-readthedocs
+      - windmill-jobs-centos7-nv
+      - windmill-jobs-fedora-26-nv
+      - windmill-jobs-xenial-nv
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            voting: false
+
+- project:
+    name: openstack/ansible-role-nodepool
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - ansible-role-functional-jobs-centos7
+      - ansible-role-functional-jobs-fedora-26
+      - ansible-role-functional-jobs-xenial
+      - docs-on-readthedocs
+      - windmill-jobs-centos7-nv
+      - windmill-jobs-fedora-26
+      - windmill-jobs-xenial
+
+- project:
+    name: openstack/ansible-role-shade
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - ansible-role-functional-jobs-centos7
+      - ansible-role-functional-jobs-fedora-26
+      - ansible-role-functional-jobs-xenial
+      - docs-on-readthedocs
+      - windmill-jobs-centos7-nv
+      - windmill-jobs-fedora-26
+      - windmill-jobs-xenial
+
+- project:
+    name: openstack/ansible-role-ssh
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - ansible-role-functional-jobs-centos7
+      - ansible-role-functional-jobs-fedora-26
+      - ansible-role-functional-jobs-xenial
+      - docs-on-readthedocs
+      - windmill-jobs-centos7-nv
+      - windmill-jobs-fedora-26
+      - windmill-jobs-xenial
+
+- project:
+    name: openstack/ansible-role-sudoers
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - ansible-role-functional-jobs-centos7
+      - ansible-role-functional-jobs-fedora-26
+      - ansible-role-functional-jobs-xenial
+      - docs-on-readthedocs
+      - windmill-jobs-centos7-nv
+      - windmill-jobs-fedora-26
+      - windmill-jobs-xenial
+
+- project:
+    name: openstack/ansible-role-virtualenv
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - ansible-role-functional-jobs-centos7
+      - ansible-role-functional-jobs-fedora-26
+      - ansible-role-functional-jobs-xenial
+      - docs-on-readthedocs
+      - windmill-jobs-centos7-nv
+      - windmill-jobs-fedora-26
+      - windmill-jobs-xenial
+
+- project:
+    name: openstack/ansible-role-zookeeper
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - ansible-role-functional-jobs-fedora-26
+      - ansible-role-functional-jobs-xenial
+      - docs-on-readthedocs
+      - windmill-jobs-centos7-nv
+      - windmill-jobs-fedora-26
+      - windmill-jobs-xenial
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            voting: false
+
+- project:
+    name: openstack/ansible-role-zuul
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - ansible-role-functional-jobs-fedora-26
+      - ansible-role-functional-jobs-xenial
+      - docs-on-readthedocs
+      - windmill-jobs-centos7-nv
+      - windmill-jobs-fedora-26
+      - windmill-jobs-xenial
+
+- project:
+    name: openstack/anvil
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/aodh
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - translation-jobs
+      - release-notes-jobs
+      - install-guide-jobs
+    check:
+      jobs:
+        - legacy-aodh-dsvm-functional-hbase:
+            branches: stable/newton
+        - legacy-aodh-dsvm-functional-mongodb:
+            branches: stable/newton
+        - legacy-aodh-dsvm-functional-mysql:
+            branches: ^stable/(newton|ocata)$
+        - legacy-aodh-dsvm-functional-postgresql:
+            branches: ^stable/(newton|ocata)$
+        - legacy-aodh-dsvm-tempest-plugin-hbase:
+            branches: stable/newton
+        - legacy-aodh-dsvm-tempest-plugin-mongodb:
+            branches: stable/newton
+        - legacy-aodh-dsvm-tempest-plugin-mysql
+        - legacy-aodh-dsvm-tempest-plugin-postgresql
+        - legacy-telemetry-dsvm-integration-aodh
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            voting: false
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-puppet:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-aodh-dsvm-functional-hbase:
+            branches: stable/newton
+        - legacy-aodh-dsvm-functional-mongodb:
+            branches: stable/newton
+        - legacy-aodh-dsvm-functional-mysql:
+            branches: ^stable/(newton|ocata)$
+        - legacy-aodh-dsvm-functional-postgresql:
+            branches: ^stable/(newton|ocata)$
+        - legacy-aodh-dsvm-tempest-plugin-hbase:
+            branches: stable/newton
+        - legacy-aodh-dsvm-tempest-plugin-mongodb:
+            branches: stable/newton
+        - legacy-aodh-dsvm-tempest-plugin-mysql
+        - legacy-aodh-dsvm-tempest-plugin-postgresql
+        - legacy-telemetry-dsvm-integration-aodh
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/api-site
+    templates:
+      - merge-check
+      - openstack-doc-rst-gate
+    check:
+      jobs:
+        - legacy-api-site-tox-doc-publish-checklang:
+            files:
+              - ^.*\.po$
+              - ^.*\.pot$
+    gate:
+      jobs:
+        - legacy-api-site-tox-doc-publish-checklang:
+            files:
+              - ^.*\.po$
+              - ^.*\.pot$
+    post:
+      jobs:
+        - legacy-api-site-upstream-translation-update
+        - legacy-openstack-api-ref:
+            branches: master
+        - legacy-openstack-api-ref-publish-lang
+    periodic:
+      jobs:
+        - legacy-api-site-propose-translation-update
+
+- project:
+    name: openstack/api-wg
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/app-catalog
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-app-catalog-nodejs4-npm-run-lint
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-app-catalog-nodejs4-npm-run-lint
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/app-catalog-common
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/app-catalog-ui
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - legacy-app-catalog-ui-nodejs4-npm-run-lint:
+            voting: false
+        - legacy-app-catalog-ui-dsvm-integration:
+            voting: false
+    gate:
+      jobs:
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/ara
+    templates:
+      - merge-check
+      - publish-to-pypi-quietly
+      - openstack-python-jobs
+      - docs-on-readthedocs
+    check:
+      jobs:
+        - legacy-ara-integration-py27-2.2.3.0-centos-7
+        - legacy-ara-integration-py27-latest-centos-7
+        - legacy-ara-integration-py27-devel-centos-7:
+            voting: false
+        - legacy-ara-integration-py35-latest
+        - legacy-ara-integration-py35-devel:
+            voting: false
+        - legacy-ara-integration-py35-latest-fedora-26
+        - legacy-ara-integration-py35-devel-fedora-26:
+            voting: false
+        - legacy-ara-integration-openstack-ansible-func-centos-7:
+            voting: false
+        - legacy-ara-integration-openstack-ansible-func:
+            voting: false
+        - openstack-tox-cover
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-ara-integration-py27-2.2.3.0-centos-7
+        - legacy-ara-integration-py27-latest-centos-7
+        - legacy-ara-integration-py35-latest
+        - legacy-ara-integration-py35-latest-fedora-26
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/arch-wg
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/astara
+    templates:
+      - merge-check
+      - docs-on-readthedocs
+      - check-requirements
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-functional-dsvm-astara
+    gate:
+      queue: astara
+      jobs:
+        - legacy-functional-dsvm-astara
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/astara-appliance
+    templates:
+      - merge-check
+      - docs-on-readthedocs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-functional-dsvm-astara-appliance-src
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-functional-dsvm-astara-appliance-src
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    post:
+      jobs:
+        - legacy-astara-appliance-buildimage
+
+- project:
+    name: openstack/astara-horizon
+    templates:
+      - merge-check
+      - docs-on-readthedocs
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - legacy-functional-dsvm-astara
+    gate:
+      queue: astara
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-functional-dsvm-astara
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/astara-neutron
+    templates:
+      - merge-check
+      - docs-on-readthedocs
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-functional-dsvm-astara
+    gate:
+      queue: astara
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-functional-dsvm-astara
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/automaton
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/bandit
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-bandit-integration-barbican
+        - legacy-bandit-integration-glance
+        - legacy-bandit-integration-glance_store
+        - legacy-bandit-integration-keystone
+        - legacy-bandit-integration-keystonemiddleware
+        - legacy-bandit-integration-magnum
+        - legacy-bandit-integration-oslo.config
+        - legacy-bandit-integration-oslo.log
+        - legacy-bandit-integration-oslo.service
+        - legacy-bandit-integration-oslo.utils
+        - legacy-bandit-integration-oslo.vmware
+        - legacy-bandit-integration-python-keystoneclient
+        - legacy-bandit-integration-python-magnumclient
+        - legacy-bandit-integration-sahara
+    gate:
+      jobs:
+        - legacy-bandit-integration-barbican
+        - legacy-bandit-integration-glance
+        - legacy-bandit-integration-glance_store
+        - legacy-bandit-integration-keystone
+        - legacy-bandit-integration-keystonemiddleware
+        - legacy-bandit-integration-magnum
+        - legacy-bandit-integration-oslo.config
+        - legacy-bandit-integration-oslo.log
+        - legacy-bandit-integration-oslo.service
+        - legacy-bandit-integration-oslo.utils
+        - legacy-bandit-integration-oslo.vmware
+        - legacy-bandit-integration-python-keystoneclient
+        - legacy-bandit-integration-python-magnumclient
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/bansho
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/barbican
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - translation-jobs
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - check-requirements
+      - api-guide-jobs
+      - install-guide-jobs
+      - api-ref-jobs
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-puppet:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-barbican-simple-crypto-dsvm-tempest:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-barbican-simple-crypto-dsvm-functional:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-barbican-simple-crypto-dsvm-functional-py35:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-barbican-simple-crypto-dsvm-functional-postgres:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-barbican-dogtag-dsvm-functional-fedora-26:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-barbican-kmip-dsvm-functional:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-grenade-dsvm-barbican:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-octavia-v1-dsvm-scenario:
+            voting: false
+        - legacy-octavia-v1-dsvm-py3x-scenario:
+            voting: false
+            branches: ^(?!stable)
+        - legacy-barbican-simple-crypto-devstack:
+            branches: ^(?:stable/(newton|ocata)).*$
+        - legacy-barbican-simple-crypto-devstack-postgres:
+            voting: false
+            branches: ^(?:stable/(newton|ocata)).*$
+        - legacy-barbican-dogtag-devstack-fedora-26:
+            voting: false
+            branches: ^(?:stable/(newton|ocata)).*$
+    gate:
+      queue: barbican
+      jobs:
+        - legacy-barbican-simple-crypto-dsvm-tempest:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-barbican-simple-crypto-dsvm-functional:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-barbican-simple-crypto-dsvm-functional-py35:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-barbican-kmip-dsvm-functional:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-barbican-dogtag-dsvm-functional-fedora-26:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-grenade-dsvm-barbican:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-barbican-simple-crypto-devstack:
+            branches: ^(?:stable/(newton|ocata)).*$
+    experimental:
+      jobs:
+        - legacy-barbican-simple-crypto-dsvm-tempest-py35:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/barbican-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+
+- project:
+    name: openstack/barbican-tempest-plugin
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - legacy-barbican-simple-crypto-dsvm-tempest:
+            branches: ^(?!stable/(newton|ocata)).*$
+    gate:
+      queue: barbican
+      jobs:
+        - openstack-tox-pep8
+        - legacy-barbican-simple-crypto-dsvm-tempest:
+            branches: ^(?!stable/(newton|ocata)).*$
+    experimental:
+      jobs:
+        - legacy-barbican-simple-crypto-dsvm-tempest-py35:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+
+- project:
+    name: openstack/bareon
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+      - docs-on-readthedocs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/bareon-allocator
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+      - docs-on-readthedocs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/bareon-api
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+      - docs-on-readthedocs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/bareon-image-elements
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/bareon-ironic
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+      - docs-on-readthedocs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/bareon-specs
+    templates:
+      - docs-on-readthedocs
+      - merge-check
+      - build-only-specs-jobs
+
+- project:
+    name: openstack/bifrost
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+    experimental:
+      jobs:
+        - legacy-bifrost-integration-tinyipa-opensuse-423:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+    check:
+      jobs:
+        - legacy-bifrost-integration-tinyipa-centos-7:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-bifrost-integration-dibipa-debian-centos-7:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-bifrost-integration-tinyipa:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-bifrost-integration-tinyipa-opensuse-423:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-bifrost-integration-dibipa-debian:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-bifrost-integration-dibipa-debian-opensuse-423:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-bifrost-integration-dhcp:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-bifrost-integration-dhcp-opensuse-423:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-bifrost-integration-dhcp-centos-7:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+    gate:
+      jobs:
+        - legacy-bifrost-integration-tinyipa:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-bifrost-integration-tinyipa-opensuse-423:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/bilean
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/blazar
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-blazar-devstack-dsvm
+        - legacy-blazar-pylint:
+            voting: false
+        - legacy-blazar-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-blazar-devstack-dsvm
+        - legacy-blazar-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/blazar-dashboard
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-blazar-dashboard-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-blazar-dashboard-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/blazar-nova
+    templates:
+      - merge-check
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/boartty
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/broadview-collector
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/broadview-lib
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/broadview-ui
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/browbeat
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - docs-on-readthedocs
+    check:
+      jobs:
+        - openstack-tox-py27
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-py27
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/castellan
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - release-notes-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    check:
+      jobs:
+        - legacy-castellan-dsvm-functional
+    gate:
+      jobs:
+        - legacy-castellan-dsvm-functional
+    experimental:
+      jobs:
+        - legacy-barbican-simple-crypto-dsvm-tempest-castellan-from-git:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/castellan-ui
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/cathead
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/ceilometer
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - periodic-jobs-with-oslo-master
+      - translation-jobs
+      - translation-jobs-ocata
+      - release-notes-jobs
+      - install-guide-jobs
+    check:
+      jobs:
+        - legacy-ceilometer-dsvm-functional-mongodb:
+            branches: ^stable/newton$
+        - legacy-ceilometer-dsvm-functional-mysql:
+            branches: ^stable/newton$
+        - legacy-ceilometer-dsvm-tempest-plugin-mongodb
+        - legacy-ceilometer-dsvm-tempest-plugin-mysql
+        - legacy-ceilometer-tox-py27-mongodb:
+            branches: ^(?!stable/newton)
+        - legacy-ceilometer-tox-py27-mysql:
+            branches: ^(?!stable/newton)
+        - legacy-ceilometer-tox-py27-postgresql:
+            branches: ^(?!stable/newton)
+        - legacy-grenade-dsvm-ceilometer:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-telemetry-dsvm-integration-ceilometer
+        - legacy-ceilometer-dsvm-tempest-plugin-mongodb-identity-v3-only
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            voting: false
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-puppet:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-ceilometer-dsvm-functional-mongodb:
+            branches: ^stable/newton$
+        - legacy-ceilometer-dsvm-functional-mysql:
+            branches: ^stable/newton$
+        - legacy-ceilometer-dsvm-tempest-plugin-mongodb
+        - legacy-ceilometer-dsvm-tempest-plugin-mysql
+        - legacy-ceilometer-tox-py27-mongodb:
+            branches: ^(?!stable/newton)
+        - legacy-ceilometer-tox-py27-mysql:
+            branches: ^(?!stable/newton)
+        - legacy-ceilometer-tox-py27-postgresql:
+            branches: ^(?!stable/newton)
+        - legacy-grenade-dsvm-ceilometer:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-telemetry-dsvm-integration-ceilometer
+        - legacy-ceilometer-dsvm-tempest-plugin-mongodb-identity-v3-only
+    experimental:
+      jobs:
+        - legacy-ceilometer-dsvm-tempest-plugin-es
+        - legacy-rally-dsvm-fakevirt-ceilometer
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/ceilometer-powervm
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - docs-on-readthedocs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/ceilometer-zvm
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/ceilometermiddleware
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - lib-forward-testing-plugin
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/cerberus
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/cerberus-dashboard
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/charm-6wind-virtual-accelerator
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-aodh
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-barbican
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-barbican-softhsm
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-ceilometer
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-ceilometer-agent
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-ceph
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-ceph-fs
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-ceph-mon
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-ceph-osd
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-ceph-proxy
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-ceph-radosgw
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-cinder
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-cinder-backup
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-cinder-ceph
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-cloudkitty
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-deployment-guide
+    templates:
+      - merge-check
+      - publish-openstack-python-docs
+    check:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+    gate:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+
+- project:
+    name: openstack/charm-designate
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-designate-bind
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-glance
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-glusterfs
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-gnocchi
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-guide
+    templates:
+      - merge-check
+      - publish-openstack-python-docs
+    check:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+    gate:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+
+- project:
+    name: openstack/charm-hacluster
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-heat
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-interface-barbican-hsm
+    templates:
+      - merge-check
+      - python-charm-interface-jobs
+
+- project:
+    name: openstack/charm-interface-bind-rndc
+    templates:
+      - merge-check
+      - python-charm-interface-jobs
+
+- project:
+    name: openstack/charm-interface-ceph-client
+    templates:
+      - merge-check
+      - python-charm-interface-jobs
+
+- project:
+    name: openstack/charm-interface-ceph-mds
+    templates:
+      - merge-check
+      - python-charm-interface-jobs
+
+- project:
+    name: openstack/charm-interface-gnocchi
+    templates:
+      - merge-check
+      - python-charm-interface-jobs
+
+- project:
+    name: openstack/charm-interface-hacluster
+    templates:
+      - merge-check
+      - python-charm-interface-jobs
+
+- project:
+    name: openstack/charm-interface-keystone
+    templates:
+      - merge-check
+      - python-charm-interface-jobs
+
+- project:
+    name: openstack/charm-interface-keystone-admin
+    templates:
+      - merge-check
+      - python-charm-interface-jobs
+
+- project:
+    name: openstack/charm-interface-keystone-credentials
+    templates:
+      - merge-check
+      - python-charm-interface-jobs
+
+- project:
+    name: openstack/charm-interface-keystone-domain-backend
+    templates:
+      - merge-check
+      - python-charm-interface-jobs
+
+- project:
+    name: openstack/charm-interface-manila-plugin
+    templates:
+      - merge-check
+      - python-charm-interface-jobs
+
+- project:
+    name: openstack/charm-interface-mysql-shared
+    templates:
+      - merge-check
+      - python-charm-interface-jobs
+
+- project:
+    name: openstack/charm-interface-neutron-plugin
+    templates:
+      - merge-check
+      - python-charm-interface-jobs
+
+- project:
+    name: openstack/charm-interface-neutron-plugin-api-subordinate
+    templates:
+      - merge-check
+      - python-charm-interface-jobs
+
+- project:
+    name: openstack/charm-interface-odl-controller-api
+    templates:
+      - merge-check
+      - python-charm-interface-jobs
+
+- project:
+    name: openstack/charm-interface-openstack-ha
+    templates:
+      - merge-check
+      - python-charm-interface-jobs
+
+- project:
+    name: openstack/charm-interface-ovsdb-manager
+    templates:
+      - merge-check
+      - python-charm-interface-jobs
+
+- project:
+    name: openstack/charm-interface-rabbitmq
+    templates:
+      - merge-check
+      - python-charm-interface-jobs
+
+- project:
+    name: openstack/charm-interface-service-control
+    templates:
+      - merge-check
+      - python-charm-interface-jobs
+
+- project:
+    name: openstack/charm-keystone
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-keystone-ldap
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-layer-ceph-base
+    templates:
+      - merge-check
+      - python-charm-layer-jobs
+
+- project:
+    name: openstack/charm-layer-openstack
+    templates:
+      - merge-check
+      - python-charm-layer-jobs
+
+- project:
+    name: openstack/charm-layer-openstack-api
+    templates:
+      - merge-check
+      - python-charm-layer-jobs
+
+- project:
+    name: openstack/charm-layer-openstack-principle
+    templates:
+      - merge-check
+      - python-charm-layer-jobs
+
+- project:
+    name: openstack/charm-lxd
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-manila
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-manila-generic
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-manila-glusterfs
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-mistral
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-murano
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-neutron-api
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-neutron-api-odl
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-neutron-api-plumgrid
+    templates:
+      - merge-check
+      - python-charm-jobs
+
+- project:
+    name: openstack/charm-neutron-gateway
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-neutron-openvswitch
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-nova-cloud-controller
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-nova-compute
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-nova-compute-proxy
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-odl-controller
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-openstack-dashboard
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-openvswitch-odl
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-percona-cluster
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-plumgrid-director
+    templates:
+      - merge-check
+      - python-charm-jobs
+
+- project:
+    name: openstack/charm-plumgrid-edge
+    templates:
+      - merge-check
+      - python-charm-jobs
+
+- project:
+    name: openstack/charm-plumgrid-gateway
+    templates:
+      - merge-check
+      - python-charm-jobs
+
+- project:
+    name: openstack/charm-rabbitmq-server
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/charm-swift-proxy
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-swift-storage
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-tempest
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charm-trove
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charms.ceph
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/charms.openstack
+    templates:
+      - merge-check
+      - python-charm-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/ci-cd-pipeline-app-murano
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/cinder
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - release-openstack-server
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - periodic-jobs-with-oslo-master
+      - check-requirements
+      - integrated-gate-py35
+      - translation-jobs
+      - translation-jobs-ocata
+      - release-notes-jobs
+      - api-ref-jobs
+    check:
+      jobs:
+        - legacy-cinder-pylint:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-rally-dsvm-cinder:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-full-devstack-plugin-ceph:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-cinder-tox-functional:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-cinder-tox-compliance:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-cinder-tox-bandit-baseline:
+            voting: false
+            branches: ^(?!(stable/(newton|ocata)|driverfixes/)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-grenade-dsvm-cinder-mn-sub-volbak:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-lvm-multibackend:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-full-sheepdog:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-full-drbd-devstack:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-full-lio:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-full-devstack-plugin-nfs:
+            voting: false
+            branches: ^(?!driverfixes/).*
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(?!driverfixes/mitaka).*$
+        - legacy-tempest-dsvm-neutron-full:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+    gate:
+      queue: integrated
+      jobs:
+        - legacy-cinder-tox-compliance:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-grenade-dsvm-cinder-mn-sub-volbak:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(?!driverfixes/mitaka).*$
+        - legacy-tempest-dsvm-neutron-full:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+    experimental:
+      jobs:
+        - legacy-tempest-dsvm-full-sheepdog-src-os-brick:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-zeromq-multibackend:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-scenario-multinode-lvm-multibackend:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-multibackend-matrix:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-grenade-dsvm-cinder-mn-sub-volschbak:
+            voting: false
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-grenade-dsvm-cinder-mn-sub-bak:
+            voting: false
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-py35-cinder:
+            voting: false
+            branches: master
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-py35-full-devstack-plugin-ceph:
+            voting: false
+            branches: ^(?!(stable/(newton|ocata)|driverfixes/)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-pg-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-full-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^cinder/hacking/.*$
+              - ^cinder/locale/.*$
+              - ^cinder/tests/functional.*$
+              - ^cinder/tests/unit.*$
+              - ^contrib/block-box.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+
+- project:
+    name: openstack/cinder-fusioncompute
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    gate:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+
+- project:
+    name: openstack/cinder-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/cisco-ironic-contrib
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/cl-openstack-client
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-cl-openstack-client-run-tests
+    gate:
+      jobs:
+        - legacy-cl-openstack-client-run-tests
+
+- project:
+    name: openstack/cliff
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - openstack-pypy-jobs-nonvoting
+      - lib-forward-testing
+      - publish-openstack-python-docs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-cliff-tox-neutronclient-tip:
+            branches: ^master$
+        - legacy-cliff-tox-openstackclient-tip:
+            branches: ^master$
+    gate:
+      jobs:
+        - legacy-cliff-tox-neutronclient-tip:
+            branches: ^master$
+        - legacy-cliff-tox-openstackclient-tip:
+            branches: ^master$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/cloud-init
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/cloudbase-init
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/cloudcafe
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/cloudkitty
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-cloudkitty-dsvm-install
+    gate:
+      jobs:
+        - legacy-cloudkitty-dsvm-install
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/cloudkitty-dashboard
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/cloudkitty-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+
+- project:
+    name: openstack/cloudpulse
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/cloudroast
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/cognitive
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/collectd-ceilometer-plugin
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    experimental:
+      jobs:
+        - legacy-dsvm-collectd-ceilometer-plugin-src:
+            voting: false
+        - legacy-dsvm-collectd-ceilometer-plugin-bin:
+            voting: false
+        - legacy-dsvm-collectd-ceilometer-plugin-src-centos-7:
+            voting: false
+        - legacy-dsvm-collectd-ceilometer-plugin-bin-centos-7:
+            voting: false
+
+- project:
+    name: openstack/compass-adapters
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/compass-core
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/compass-install
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/compass-specs
+    templates:
+      - merge-check
+      - build-only-specs-jobs
+
+- project:
+    name: openstack/compass-web
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/compute-hyperv
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/congress
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - release-notes-jobs
+      - publish-openstack-python-docs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    check:
+      jobs:
+        - legacy-congress-dsvm-api-mysql
+        - legacy-congress-dsvm-py35-api-mysql:
+            voting: false
+        - legacy-congress-dsvm-api-postgresql:
+            voting: false
+        - legacy-congress-pe-replicated-mysql:
+            voting: false
+        - legacy-congress-pe-replicated-postgresql:
+            voting: false
+        - openstack-tox-cover:
+            voting: false
+        - legacy-murano-congress-devstack-dsvm:
+            voting: false
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            voting: false
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-congress-dsvm-api-mysql
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/congress-dashboard
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/congress-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/conveyor
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    gate:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+
+- project:
+    name: openstack/cookbook-openstack-application-catalog
+    templates:
+      - merge-check
+      - chef-rake-jobs
+
+- project:
+    name: openstack/cookbook-openstack-block-storage
+    templates:
+      - merge-check
+      - chef-rake-jobs
+
+- project:
+    name: openstack/cookbook-openstack-client
+    templates:
+      - merge-check
+      - chef-rake-jobs
+
+- project:
+    name: openstack/cookbook-openstack-common
+    templates:
+      - merge-check
+      - chef-rake-jobs
+
+- project:
+    name: openstack/cookbook-openstack-compute
+    templates:
+      - merge-check
+      - chef-rake-jobs
+
+- project:
+    name: openstack/cookbook-openstack-dashboard
+    templates:
+      - merge-check
+      - chef-rake-jobs
+
+- project:
+    name: openstack/cookbook-openstack-identity
+    templates:
+      - merge-check
+      - chef-rake-jobs
+
+- project:
+    name: openstack/cookbook-openstack-image
+    templates:
+      - merge-check
+      - chef-rake-jobs
+
+- project:
+    name: openstack/cookbook-openstack-integration-test
+    templates:
+      - merge-check
+      - chef-rake-jobs
+
+- project:
+    name: openstack/cookbook-openstack-network
+    templates:
+      - merge-check
+      - chef-rake-jobs
+
+- project:
+    name: openstack/cookbook-openstack-ops-database
+    templates:
+      - merge-check
+      - chef-rake-jobs
+
+- project:
+    name: openstack/cookbook-openstack-ops-messaging
+    templates:
+      - merge-check
+      - chef-rake-jobs
+
+- project:
+    name: openstack/cookbook-openstack-orchestration
+    templates:
+      - merge-check
+      - chef-rake-jobs
+
+- project:
+    name: openstack/cookbook-openstack-telemetry
+    templates:
+      - merge-check
+      - chef-rake-jobs
+
+- project:
+    name: openstack/coreos-image-builder
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/coupler
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    gate:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+
+- project:
+    name: openstack/coverage2sql
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - release-notes-jobs
+      - publish-openstack-python-docs
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/craton
+    templates:
+      - merge-check
+      - docs-on-readthedocs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+        - legacy-craton-tox-functional
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+        - legacy-craton-tox-functional
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/craton-dashboard
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-craton-dashboard-nodejs4-npm-run-lint
+        - legacy-craton-dashboard-nodejs4-npm-run-test:
+            voting: false
+        - legacy-craton-dashboard-tox-py27dj19
+        - legacy-craton-dashboard-tox-py27dj110
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-craton-dashboard-nodejs4-npm-run-lint
+        - legacy-craton-dashboard-tox-py27dj19
+        - legacy-craton-dashboard-tox-py27dj110
+
+- project:
+    name: openstack/cue
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-cover
+        - legacy-cue-integration-dsvm-rabbitmq
+        - legacy-rally-dsvm-cue-rabbitmq:
+            voting: false
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-cue-integration-dsvm-rabbitmq
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/cue-dashboard
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/cursive
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-barbican-simple-crypto-dsvm-tempest-cursive:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/cyborg
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-cyborg-devstack:
+            voting: false
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    gate:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+
+- project:
+    name: openstack/daisycloud-core
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/dash-stack
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-alembic
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-aodh
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-auto-backports
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-bandit
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-barbican
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-ceilometer
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-ceilometermiddleware
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-cinder
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-congress
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-designate
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-designate-dashboard
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-fonts-materialdesignicons-webfont
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-fonts-roboto-fontface
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-git-review
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-glance
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-glare
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-gnocchi
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-heat
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-heat-cfntools
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-horizon
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-ironic
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-ironic-inspector
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-ironic-ui
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-kazoo
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-keystone
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-liberasurecode
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-libisal
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-magnum
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-manila
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-manila-ui
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-migrate
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-mistral
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-msgpack-python
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-murano
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-murano-agent
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-murano-dashboard
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-networking-arista
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-networking-cisco
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-networking-hyperv
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-networking-l2gw
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-networking-midonet
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-networking-mlnx
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-networking-nec
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-networking-odl
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-networking-ovn
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-neutron
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-neutron-fwaas
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-neutron-lbaas
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-neutron-taas
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-neutron-vpnaas
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-nodepool
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-nova
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-novnc
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-openstack-doc-tools
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-openstack-meta-packages
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-openstack-nose
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-openstack-pkg-tools
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-openstack-trove
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-oslosphinx
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-aioeventlet
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-aodhclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-autobahn
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-automaton
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-barbicanclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-bashate
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-cassandra-driver
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-castellan
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-ceilometerclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-ceilometermiddleware
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-cinderclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-cliff
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-coffin
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-colander
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-concurrent.futures
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-congressclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-cotyledon
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-couleur
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-crank
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-croniter
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-csscompressor
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-cursive
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-daemonize
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-dcos
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-ddt
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-debtcollector
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-designateclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-dib-utils
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-diskimage-builder
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-django-appconf
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-django-babel
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-django-bootstrap-form
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-django-compressor
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-django-discover-runner
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-django-formtools
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-django-openstack-auth
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-django-overextends
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-django-pyscss
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-doc8
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-dogpile.cache
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-dogpile.core
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-editor
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-eventlet
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-extras
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-falcon
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-fasteners
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-fixtures
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-frozendict
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-fuelclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-funcsigs
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-functools32
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-futurist
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-gabbi
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-glance-store
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-glanceclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-gnocchiclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-greenio
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-hacking
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-happybase
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-heatclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-hplefthandclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-httpretty
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-ironic-inspector-client
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-ironic-lib
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-ironicclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-jingo
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-json-patch
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-json-pointer
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-jsonpath-rw
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-jsonpath-rw-ext
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-jsonrpclib
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-jsonschema
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-k8sclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-kafka
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-keystoneauth1
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-keystoneclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-keystonemiddleware
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-kmip
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-ldappool
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-lesscpy
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-linecache2
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-magnumclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-manilaclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-memcache
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-microversion-parse
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-misaka
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-mistralclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-monascaclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-monotonic
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-mox3
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-multi-key-dict
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-muranoclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-neutron-lib
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-neutronclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-nose-exclude
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-nose-parameterized
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-nose-timer
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-nosehtmloutput
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-novaclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-oauth2client
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-openstackclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-openstackdocstheme
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-openstacksdk
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-os-api-ref
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-os-apply-config
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-os-brick
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-os-client-config
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-os-cloud-config
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-os-collect-config
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-os-net-config
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-os-refresh-config
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-os-testr
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-os-vif
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-os-win
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-osc-lib
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-oslo.cache
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-oslo.concurrency
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-oslo.config
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-oslo.context
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-oslo.db
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-oslo.i18n
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-oslo.log
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-oslo.messaging
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-oslo.middleware
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-oslo.policy
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-oslo.privsep
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-oslo.reports
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-oslo.rootwrap
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-oslo.serialization
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-oslo.service
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-oslo.utils
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-oslo.versionedobjects
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-oslo.vmware
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-oslotest
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-osprofiler
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-pager
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-pbr
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-pecan
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-pika-pool
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-pint
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-positional
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-proliantutils
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-pulp
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-pycadf
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-pydot-ng
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-pydotplus
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-pyeclib
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-pyghmi
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-pygit2
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-pykmip
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-pyldap
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-pymemcache
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-pymysql
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-pyngus
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-pysaml2
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-pytimeparse
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-pyvmomi
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-quantumclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-rcssmin
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-rednose
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-reno
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-requestbuilder
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-requests-kerberos
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-requests-mock
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-requests-unixsocket
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-requestsexceptions
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-retrying
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-rfc3986
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-rjsmin
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-rtslib-fb
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-saharaclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-scciclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-seamicroclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-semantic-version
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-semver
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-senlinclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-shotgun
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-sqlalchemy-utils
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-steadymark
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-swiftclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-tackerclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-taskflow
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-tempest-lib
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-testtools
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-toml
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-tooz
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-tosca-parser
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-traceback2
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-trollius
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-troveclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-tuskarclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-txaio
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-warlock
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-watcherclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-weakrefmethod
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-websocket-client
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-wrapt
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-wsgi-intercept
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-wsme
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-angular
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-angular-bootstrap
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-angular-cookies
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-angular-fileupload
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-angular-gettext
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-angular-lrdragndrop
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-angular-mock
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-angular-schema-form
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-bootstrap-datepicker
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-bootstrap-scss
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-bootswatch
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-d3
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-font-awesome
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-hogan
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-jasmine
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-jquery
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-jquery-migrate
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-jquery-ui
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-jquery.bootstrap.wizard
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-jquery.quicksearch
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-jquery.tablesorter
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-jsencrypt
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-magic-search
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-mdi
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-objectpath
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-qunit
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-rickshaw
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-roboto-fontface
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-smart-table
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-spin
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-term.js
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xstatic-tv4
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-xvfbwrapper
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-yaql
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-python-zaqarclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-rally
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-ryu
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-sahara
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-sahara-dashboard
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-senlin
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-senlin-dashboard
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-spice-html5
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-stevedore
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-subunit
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-swauth
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-swift
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-swift-bench
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-swift-plugin-s3
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-tempest
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-testresources
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-trove
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-trove-dashboard
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-watcher
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-websockify
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-zaqar
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/deb-zaqar-ui
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/debtcollector
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/delimiter
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/designate
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - check-requirements
+      - translation-jobs
+      - release-notes-jobs
+      - designate-dsvm-jobs
+      - api-ref-jobs
+      - install-guide-jobs
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+    post:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/designate-dashboard
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - translation-jobs
+      - translation-jobs-ocata
+      - translation-jobs-pike
+      - designate-dsvm-jobs
+    check:
+      jobs:
+        - openstack-tox-cover
+        - legacy-designate-dashboard-nodejs4-npm-run-lint:
+            voting: false
+        - legacy-designate-dashboard-nodejs4-npm-run-test:
+            voting: false
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/designate-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+
+- project:
+    name: openstack/designate-tempest-plugin
+    templates:
+      - merge-check
+      - check-requirements
+      - designate-dsvm-jobs
+      - publish-openstack-python-docs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/development-proposals
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+
+- project:
+    name: openstack/devstack-plugin-additional-pkg-repos
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-bashate
+        - legacy-tempest-dsvm-nova-libvirt-kvm-apr:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - openstack-tox-bashate
+
+- project:
+    name: openstack/devstack-plugin-amqp1
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-bashate
+        - legacy-tempest-dsvm-full-amqp1:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-oslo.messaging-src-dsvm-full-amqp1-hybrid:
+            voting: false
+            branches: ^(?!stable/(?:newton|ocata)).*$
+        - legacy-oslo.messaging-src-dsvm-full-amqp1-dual-centos-7:
+            voting: false
+            branches: ^(?!stable/(?:newton|ocata)).*$
+    gate:
+      jobs:
+        - openstack-tox-bashate
+
+- project:
+    name: openstack/devstack-plugin-bdd
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-bashate
+        - legacy-tempest-dsvm-full-bdd:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - openstack-tox-bashate
+
+- project:
+    name: openstack/devstack-plugin-ceph
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-bashate
+        - legacy-tempest-dsvm-full-devstack-plugin-ceph:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-manila-tempest-minimal-dsvm-cephfs-native-centos-7:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+        - legacy-manila-tempest-minimal-dsvm-cephfs-nfs-centos-7:
+            voting: false
+            branches: ^(?!(driverfixes|stable/(?:newton|ocata))).*$
+    gate:
+      jobs:
+        - openstack-tox-bashate
+    experimental:
+      jobs:
+        - legacy-tempest-dsvm-py35-full-devstack-plugin-ceph:
+            voting: false
+            branches: ^(?!(stable/(newton|ocata)|driverfixes/)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-manila-tempest-minimal-py35-dsvm-cephfs-native-centos-7:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+        - legacy-manila-tempest-minimal-py35-dsvm-cephfs-nfs-centos-7:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+
+- project:
+    name: openstack/devstack-plugin-container
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-devstack-plugin-container-dsvm:
+            voting: false
+    gate:
+      jobs:
+        - noop
+
+- project:
+    name: openstack/devstack-plugin-glusterfs
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-bashate
+        - legacy-manila-tempest-dsvm-glusterfs-nfs:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-manila-tempest-dsvm-glusterfs-native:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - openstack-tox-bashate
+    experimental:
+      jobs:
+        - legacy-manila-tempest-dsvm-glusterfs-nfs:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-manila-tempest-dsvm-glusterfs-native:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-manila-tempest-dsvm-glusterfs-nfs-heketi:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-manila-tempest-dsvm-glusterfs-native-heketi:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+
+- project:
+    name: openstack/devstack-plugin-hdfs
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-bashate
+        - legacy-tempest-dsvm-full-hdfs:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-manila-tempest-dsvm-hdfs:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - openstack-tox-bashate
+        - legacy-tempest-dsvm-full-hdfs:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+
+- project:
+    name: openstack/devstack-plugin-kafka
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-bashate
+        - legacy-tempest-dsvm-full-kafka:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-oslo.messaging-src-dsvm-full-kafka-default:
+            voting: false
+        - legacy-oslo.messaging-src-dsvm-full-kafka-default-centos-7:
+            voting: false
+    gate:
+      jobs:
+        - openstack-tox-bashate
+        - legacy-tempest-dsvm-full-kafka:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+
+- project:
+    name: openstack/devstack-plugin-libvirt-qemu
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-bashate
+    gate:
+      jobs:
+        - openstack-tox-bashate
+
+- project:
+    name: openstack/devstack-plugin-mariadb
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-bashate
+    gate:
+      jobs:
+        - openstack-tox-bashate
+
+- project:
+    name: openstack/devstack-plugin-nfs
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-bashate
+        - legacy-tempest-dsvm-full-devstack-plugin-nfs:
+            voting: false
+            branches: ^(?!driverfixes/).*
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - openstack-tox-bashate
+
+- project:
+    name: openstack/devstack-plugin-pika
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-bashate
+    gate:
+      jobs:
+        - openstack-tox-bashate
+
+- project:
+    name: openstack/devstack-plugin-sheepdog
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-bashate
+        - legacy-tempest-dsvm-full-sheepdog:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - openstack-tox-bashate
+
+- project:
+    name: openstack/devstack-plugin-tar-installer
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-bashate
+    gate:
+      jobs:
+        - openstack-tox-bashate
+
+- project:
+    name: openstack/devstack-plugin-vmax
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-bashate
+    gate:
+      jobs:
+        - openstack-tox-bashate
+
+- project:
+    name: openstack/devstack-plugin-zmq
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-bashate
+        - legacy-tempest-dsvm-full-zmq:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - openstack-tox-bashate
+
+- project:
+    name: openstack/devstack-tools
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/dib-utils
+    templates:
+      - merge-check
+      - check-requirements
+    check:
+      jobs:
+        - legacy-dib-utils-tox-func
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-dib-utils-tox-func
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/diskimage-builder
+    templates:
+      - merge-check
+      - check-requirements
+      - publish-openstack-python-docs
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - release-notes-jobs
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+        - legacy-diskimage-builder-pylint
+        - legacy-dib-dsvm-functests-python2-ubuntu-trusty:
+            branches: (master|feature/v2)
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-dib-dsvm-functests-python2-ubuntu-trusty-extras:
+            voting: false
+            branches: (master|feature/v2)
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-dib-dsvm-functests-python2-ubuntu-trusty-image:
+            voting: false
+            branches: (master|feature/v2)
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-dib-dsvm-functests-python3:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-dib-dsvm-functests-python3-extras:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-dib-dsvm-functests-python3-image:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-dib-dsvm-functests-python2-centos-7:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-dib-dsvm-functests-python2-centos-7-extras:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-dib-dsvm-functests-python2-centos-7-image:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-dsvm-nodepool-redhat-src
+        - legacy-dsvm-nodepool-ubuntu-src
+        - legacy-dsvm-nodepool-opensuse-src
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      queue: glean
+      jobs:
+        - legacy-diskimage-builder-pylint
+        - legacy-dib-dsvm-functests-python2-ubuntu-trusty:
+            branches: (master|feature/v2)
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-dib-dsvm-functests-python3:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-dib-dsvm-functests-python2-centos-7:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-dsvm-nodepool-redhat-src
+        - legacy-dsvm-nodepool-ubuntu-src
+        - legacy-dsvm-nodepool-opensuse-src
+    experimental:
+      jobs:
+        - legacy-tripleo-buildimage-overcloud-full-centos-7
+        - legacy-tripleo-buildimage-overcloud-hardened-full-centos-7:
+            voting: false
+        - legacy-tripleo-buildimage-ironic-python-agent-centos-7:
+            voting: false
+        - legacy-dsvm-nodepool-debian-src:
+            voting: false
+        - legacy-dib-dsvm-functests-python2-opensuse-423:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-dib-dsvm-functests-python3-opensuse-423:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-octavia-v1-dsvm-scenario:
+            voting: false
+        - legacy-octavia-v1-dsvm-py3x-scenario:
+            voting: false
+            branches: ^(?!stable)
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/distil
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/distil-ui
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/django_openstack_auth
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - lib-forward-testing
+      - translation-jobs
+      - translation-jobs-ocata
+      - translation-jobs-pike
+    check:
+      jobs:
+        - legacy-django_openstack_auth-tox-py27dj18:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-django_openstack_auth-tox-py27dj19
+        - legacy-django_openstack_auth-tox-py27dj110
+    gate:
+      jobs:
+        - legacy-django_openstack_auth-tox-py27dj18:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-django_openstack_auth-tox-py27dj19
+        - legacy-django_openstack_auth-tox-py27dj110
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/doc8
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/docker-machine-openstack
+    templates:
+      - merge-check
+      - golang-jobs
+
+- project:
+    name: openstack/docs-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/downpour
+    templates:
+      - noop-jobs
+      - merge-check
+      - docs-on-readthedocs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/dox
+    templates:
+      - merge-check
+      - openstack-python35-jobs-nonvoting
+    check:
+      jobs:
+        - legacy-dox-buildimages:
+            voting: false
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/dragonflow
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - openstack-python35-jobs
+    check:
+      jobs:
+        - legacy-tempest-dsvm-dragonflow:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-dragonflow-dsvm-rally:
+            voting: false
+        - legacy-dragonflow-dsvm-fullstack
+        - legacy-dragonflow-dsvm-fullstack-zmq:
+            voting: false
+        - legacy-install-dsvm-dragonflow-kuryr-kubernetes:
+            voting: false
+        - legacy-openstack-ansible-os_neutron-ansible-dragonflow:
+            voting: false
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-dragonflow-dsvm-fullstack
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/drbd-devstack
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-bashate
+        - legacy-tempest-dsvm-full-drbd-devstack:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+            voting: false
+    gate:
+      jobs:
+        - openstack-tox-bashate
+
+- project:
+    name: openstack/driverlog
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/ec2-api
+    templates:
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - merge-check
+      - check-requirements
+      - install-guide-jobs
+      - api-ref-jobs
+    check:
+      jobs:
+        - legacy-functional-neutron-dsvm-ec2api
+        - legacy-functional-nova-network-dsvm-ec2api:
+            branches: ^stable/newton$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-puppet:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    experimental:
+      jobs:
+        - legacy-ec2-api-functional-neutron-dsvm-full:
+            voting: false
+        - legacy-ec2-api-rally-dsvm-fakevirt:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/ec2-driver
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/ekko
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/election
+    templates:
+      - merge-check
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-py27
+        - build-openstack-sphinx-docs: {}
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+        - legacy-python35:
+            voting: false
+    post:
+      jobs:
+        - legacy-static-election-publish
+
+- project:
+    name: openstack/enterprise-wg
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/entropy
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/eslint-config-openstack
+    templates:
+      - merge-check
+      - nodejs4-jobs
+      - nodejs4-docs
+      - publish-openstack-python-docs
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-npm-upload
+        - legacy-npm-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/evoque
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    gate:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+
+- project:
+    name: openstack/evoque-dashboard
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    gate:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+
+- project:
+    name: openstack/faafo
+    templates:
+      - merge-check
+      - publish-openstack-python-docs
+    check:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/flame
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/foxnut
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/freezer
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-osbackup-freezer-dsvm
+        - legacy-osbackup-freezer-dsvm-centos-7:
+            voting: false
+        - legacy-freezer-pylint
+    gate:
+      jobs:
+        - legacy-osbackup-freezer-dsvm
+        - legacy-freezer-pylint
+    experimental:
+      jobs:
+        - legacy-osbackup-freezer-dsvm-opensuse-423:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/freezer-api
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - release-notes-jobs
+      - api-ref-jobs
+    check:
+      jobs:
+        - legacy-osbackup-freezer-api-dsvm-centos-7:
+            voting: false
+        - legacy-osbackup-freezer-api-dsvm
+        - legacy-freezer-api-pylint
+    gate:
+      jobs:
+        - legacy-osbackup-freezer-api-dsvm
+        - legacy-freezer-api-pylint
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/freezer-dr
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+    check:
+      jobs:
+        - legacy-freezer-dr-pylint
+    gate:
+      jobs:
+        - legacy-freezer-dr-pylint
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/freezer-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/freezer-tempest-plugin
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+
+- project:
+    name: openstack/freezer-web-ui
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - translation-jobs
+    check:
+      jobs:
+        - legacy-osbackup-freezer-web-ui-dsvm
+        - legacy-freezer-web-ui-pylint
+    gate:
+      jobs:
+        - legacy-osbackup-freezer-web-ui-dsvm
+        - legacy-freezer-web-ui-pylint
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/fuel-agent
+    templates:
+      - merge-check
+      - openstack-python35-jobs
+    check:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(driverfixes/mitaka).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+        - openstack-tox-pep8
+        - openstack-tox-py27:
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+        - legacy-python34:
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+    gate:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(driverfixes/mitaka).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+        - openstack-tox-pep8
+        - openstack-tox-py27:
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+        - legacy-python34:
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+
+- project:
+    name: openstack/fuel-astute
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-fuel-astute-puppet-unit-3.8-centos-7
+    gate:
+      jobs:
+        - legacy-fuel-astute-puppet-unit-3.8-centos-7
+
+- project:
+    name: openstack/fuel-ccp
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - docs-on-readthedocs
+      - fuel-ccp-cross-repo-gate
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/fuel-ccp-ceph
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-ci-config
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-cinder
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-debian-base
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-designate
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-elasticsearch
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-entrypoint
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - fuel-ccp-cross-repo-gate
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/fuel-ccp-etcd
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-galera
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-glance
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-grafana
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-heat
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-horizon
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-installer
+    templates:
+      - merge-check
+      - noop-jobs
+      - docs-on-readthedocs
+
+- project:
+    name: openstack/fuel-ccp-ironic
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-keystone
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-mariadb
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-memcached
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-murano
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-neutron
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-nginx
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-nova
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-openstack-base
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-rabbitmq
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-rally
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-sahara
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-searchlight
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-specs
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-stacklight
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-ccp-tests
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/fuel-ccp-zmq
+    templates:
+      - merge-check
+      - fuel-ccp-component
+
+- project:
+    name: openstack/fuel-dev-tools
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(driverfixes/mitaka).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+        - openstack-tox-pep8
+        - openstack-tox-py27:
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+    gate:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(driverfixes/mitaka).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+        - openstack-tox-pep8
+        - openstack-tox-py27:
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+
+- project:
+    name: openstack/fuel-devops
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-fuel-devops-pylint-ubuntu-trusty:
+            voting: false
+            branches: ^(?!(release/(?:2\.9)|stable)).*$
+        - legacy-fuel-devops-pylint:
+            voting: false
+            branches: ^(?!(release/(?:2\.9)|stable)).*$
+        - openstack-tox-cover:
+            branches: ^(?!(release/(?:2\.9)|stable)).*$
+        - legacy-python35:
+            branches: ^(?!(release/(?:2\.9)|stable)).*$
+            voting: false
+    gate:
+      jobs:
+        - openstack-tox-cover:
+            branches: ^(?!(release/(?:2\.9)|stable)).*$
+        - legacy-python35:
+            branches: ^(?!(release/(?:2\.9)|stable)).*$
+            voting: false
+
+- project:
+    name: openstack/fuel-docs
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+    gate:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+
+- project:
+    name: openstack/fuel-library
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-fuel-library-puppet-lint
+        - legacy-fuel-library-puppet-unit-3.8-centos-7:
+            branches: ^(?!stable/(?:4\.0|4\.1|5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+        - legacy-fuel-library-puppet-unit-4.5-centos-7:
+            branches: ^(?!stable/(?:4\.0|4\.1|5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+        - legacy-puppet-syntax-3-centos-7:
+            branches: ^(?!stable/(?:4\.0|4\.1|5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+        - legacy-puppet-syntax-4-centos-7:
+            branches: ^(?!stable/(?:4\.0|4\.1|5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+    gate:
+      jobs:
+        - legacy-fuel-library-puppet-lint
+        - legacy-fuel-library-puppet-unit-3.8-centos-7:
+            branches: ^(?!stable/(?:4\.0|4\.1|5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+        - legacy-fuel-library-puppet-unit-4.5-centos-7:
+            branches: ^(?!stable/(?:4\.0|4\.1|5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+        - legacy-puppet-syntax-3-centos-7:
+            branches: ^(?!stable/(?:4\.0|4\.1|5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+        - legacy-puppet-syntax-4-centos-7:
+            branches: ^(?!stable/(?:4\.0|4\.1|5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+
+- project:
+    name: openstack/fuel-main
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-menu
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(driverfixes/mitaka).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(driverfixes/mitaka).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/fuel-mirror
+    templates:
+      - merge-check
+      - openstack-python35-jobs
+    check:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(driverfixes/mitaka).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^stable/8\.0.*$
+        - openstack-tox-pep8
+        - openstack-tox-py27:
+            branches: ^stable/8\.0.*$
+        - legacy-python34:
+            branches: ^stable/8\.0.*$
+    gate:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(driverfixes/mitaka).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^stable/8\.0.*$
+        - openstack-tox-pep8
+        - openstack-tox-py27:
+            branches: ^stable/8\.0.*$
+        - legacy-python34:
+            branches: ^stable/8\.0.*$
+
+- project:
+    name: openstack/fuel-nailgun-agent
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-fuel-nailgun-agent-puppet-unit-3.8-centos-7
+    gate:
+      jobs:
+        - legacy-fuel-nailgun-agent-puppet-unit-3.8-centos-7
+
+- project:
+    name: openstack/fuel-nailgun-extension-cluster-upgrade
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(driverfixes/mitaka).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^stable/8\.0.*$
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(driverfixes/mitaka).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^stable/8\.0.*$
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/fuel-nailgun-extension-converted-serializers
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(driverfixes/mitaka).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^stable/8\.0.*$
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(driverfixes/mitaka).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^stable/8\.0.*$
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/fuel-nailgun-extension-iac
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(driverfixes/mitaka).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^stable/8\.0.*$
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(driverfixes/mitaka).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^stable/8\.0.*$
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/fuel-noop-fixtures
+    templates:
+      - merge-check
+      - docs-on-readthedocs
+    check:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+        - build-openstack-sphinx-docs: {}
+    gate:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+        - build-openstack-sphinx-docs: {}
+
+- project:
+    name: openstack/fuel-octane
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(driverfixes/mitaka).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^stable/8\.0.*$
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - openstack-tox-cover:
+            nodeset: ubuntu-trusty
+            voting: false
+            branches: ^stable/[87]\.0.*$
+        - openstack-tox-cover:
+            voting: false
+            branches: ^(?!stable/(?:[456]\.[01]|[78]\.0)).*$
+        - legacy-fuel-octane-puppet-lint:
+            branches: ^(?!stable/(6.[01]|[78].0)).*$
+        - legacy-puppet-syntax-3-centos-7:
+            branches: ^(?!stable/(6.[01]|[78].0)).*$
+        - legacy-puppet-syntax-4-centos-7:
+            branches: ^(?!stable/(6.[01]|[78].0)).*$
+    gate:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(driverfixes/mitaka).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^stable/8\.0.*$
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-fuel-octane-puppet-lint:
+            branches: ^(?!stable/(6.[01]|[78].0)).*$
+        - legacy-puppet-syntax-3-centos-7:
+            branches: ^(?!stable/(6.[01]|[78].0)).*$
+        - legacy-puppet-syntax-4-centos-7:
+            branches: ^(?!stable/(6.[01]|[78].0)).*$
+
+- project:
+    name: openstack/fuel-ostf
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(driverfixes/mitaka).*$
+        - openstack-tox-pep8
+        - openstack-tox-py27:
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+    gate:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(driverfixes/mitaka).*$
+        - openstack-tox-pep8
+        - openstack-tox-py27:
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+
+- project:
+    name: openstack/fuel-plugin-6wind-virtual-accelerator
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-astara
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-availability-zones
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-bgpvpn
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-bigswitch
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-block-device
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-calamari
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-calico
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-ceilometer-redis
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-ceph-multibackend
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-ci
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-cinder-gcs
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-cinder-kaminario
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-cinder-netapp
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-cisco-aci
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-congress
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-contrail
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-datera-cinder
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-dbaas-trove
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-debug
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-designate
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-detach-database
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-detach-haproxy
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-detach-horizon
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-detach-keystone
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-detach-netnode
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-detach-rabbitmq
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-detach-swift
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-dns-updater
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-dynatrace
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-elasticsearch-kibana
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-emailnotifyd
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-external-emc
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-external-glusterfs
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-external-lb
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-external-zabbix
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-fortinet
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-glance-nfs
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-gluon
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-ha-fencing
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-hedvig-cinder
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-influxdb-grafana
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-inkscope
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-ironic
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-kafka
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-ldap
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-ldap-slaves
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-lma-collector
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-lma-infrastructure-alerting
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-manila
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-mellanox
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-midonet
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-mistral
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-murano
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-murano-networking-sfc
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-murano-tests
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-network-node
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-networking-sfc
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-neutron-fwaas
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-neutron-lbaas
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-neutron-vpnaas
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-nimblestorage-cinder
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-nitrous
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-nova-nfs
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-nsx-t
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-nsxv
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-nuage
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-onos
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-openbook
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-opendaylight
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-openstack-telemetry
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-ovs
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-plumgrid
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-purestorage-cinder
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-qemu
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-qlogic-sriov-vxlan
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-rally
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-saltstack
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-scaleio
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-scaleio-cinder
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-sensu
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-solidfire-cinder
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-swiftstack
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-tacker
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-tempest
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-tintri-cinder
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-tls
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-unity
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-vmware-dvs
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-vxlan
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-watcher
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-wstunnel
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-xenserver
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-zabbix-agents
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-zabbix-monitoring-emc
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-zabbix-monitoring-extreme-networks
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugin-zabbix-snmptrapd
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-plugins
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(driverfixes/mitaka).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+        - openstack-tox-pep8
+        - openstack-tox-py27:
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+    gate:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(driverfixes/mitaka).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+        - openstack-tox-pep8
+        - openstack-tox-py27:
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/fuel-qa
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^(?!stable(-mu)?/(?:4\.0|4\.1|5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(?!stable(-mu)?/(?:4\.0|4\.1|5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+        - openstack-tox-py27:
+            branches: ^(?!stable(-mu)?/(?:4\.0|4\.1|5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+        - openstack-tox-pep8:
+            branches: ^(?!stable(-mu)?/(?:4\.0|4\.1|5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+        - legacy-fuel-qa-pylint-ubuntu-trusty:
+            branches: ^(?!stable(-mu)?/(?:4\.0|4\.1|5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+        - legacy-fuel-qa-pylint:
+            branches: ^(?!stable(-mu)?/(?:4\.0|4\.1|5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+    gate:
+      jobs:
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^(?!stable(-mu)?/(?:4\.0|4\.1|5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^(?!stable(-mu)?/(?:4\.0|4\.1|5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+        - openstack-tox-py27:
+            branches: ^(?!stable(-mu)?/(?:4\.0|4\.1|5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+        - openstack-tox-pep8:
+            branches: ^(?!stable(-mu)?/(?:4\.0|4\.1|5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+        - legacy-fuel-qa-pylint-ubuntu-trusty:
+            branches: ^(?!stable(-mu)?/(?:4\.0|4\.1|5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+        - legacy-fuel-qa-pylint:
+            branches: ^(?!stable(-mu)?/(?:4\.0|4\.1|5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+
+- project:
+    name: openstack/fuel-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/fuel-stats
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^stable(-mu)?/(8\.0|7\.0|6\.1).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+        - openstack-tox-pep8
+        - openstack-tox-py27:
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+    gate:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^stable(-mu)?/(8\.0|7\.0|6\.1).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+        - openstack-tox-pep8
+        - openstack-tox-py27:
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0)).*$
+
+- project:
+    name: openstack/fuel-ui
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-fuel-ui-nodejs4-npm-run-lint
+    gate:
+      jobs:
+        - legacy-fuel-ui-nodejs4-npm-run-lint
+
+- project:
+    name: openstack/fuel-virtualbox
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/fuel-web
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^stable(-mu)?/(8\.0|7\.0|6\.1).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+        - build-openstack-sphinx-docs:
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+            voting: false
+        - openstack-tox-pep8
+        - openstack-tox-py27:
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+    gate:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^stable(-mu)?/(8\.0|7\.0|6\.1).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+        - build-openstack-sphinx-docs:
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+            voting: false
+        - openstack-tox-pep8
+        - openstack-tox-py27:
+            branches: ^(?!stable/(?:5\.0|5\.1|6\.0|6\.1|7\.0|8\.0)).*$
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/futurist
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/fuxi
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-fuxi-dsvm-fullstack
+        - legacy-fuxi-dsvm-py35-fullstack
+    gate:
+      jobs:
+        - legacy-fuxi-dsvm-fullstack
+        - legacy-fuxi-dsvm-py35-fullstack
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/fuxi-golang
+    templates:
+      - merge-check
+      - golang-jobs
+
+- project:
+    name: openstack/fuxi-kubernetes
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/gantt
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/gce-api
+    templates:
+      - openstack-python-jobs
+      - merge-check
+      - check-requirements
+    check:
+      jobs:
+        - legacy-functional-neutron-dsvm-gceapi:
+            voting: false
+        - legacy-functional-nova-network-dsvm-gceapi:
+            voting: false
+            branches: ^stable/newton$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/gerrit-dash-creator
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/gertty
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/giftwrap
+    templates:
+      - merge-check
+      - openstack-python35-jobs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/git-repo-manifests
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/git-upstream
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+      - openstack-python35-jobs
+    check:
+      jobs:
+        - build-openstack-sphinx-docs:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/glance
+    templates:
+      - merge-check
+      - openstack-python35-jobs
+      - openstack-python-jobs
+      - publish-openstack-python-docs
+      - release-openstack-server
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - periodic-jobs-with-oslo-master
+      - check-requirements
+      - integrated-gate-py35
+      - translation-jobs
+      - translation-jobs-ocata
+      - release-notes-jobs
+      - api-ref-jobs
+    check:
+      jobs:
+        - legacy-tempest-dsvm-full-devstack-plugin-ceph:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tox.ini$
+        - legacy-rally-dsvm-glance:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-py35-glance:
+            voting: false
+            branches: master
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-full:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tox.ini$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tox.ini$
+    experimental:
+      jobs:
+        - legacy-glance-dsvm-grenade-multinode:
+            voting: false
+        - legacy-tempest-dsvm-py35-full-devstack-plugin-ceph:
+            voting: false
+            branches: ^(?!(stable/(newton|ocata)|driverfixes/)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tox.ini$
+        - legacy-barbican-simple-crypto-dsvm-tempest-glance:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-tempest-dsvm-neutron-pg-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-full-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tox.ini$
+    gate:
+      jobs:
+        - legacy-tempest-dsvm-neutron-full:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tox.ini$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tox.ini$
+
+- project:
+    name: openstack/glance-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/glance_store
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - check-requirements
+      - translation-jobs
+      - lib-forward-testing
+    check:
+      jobs:
+        - legacy-tempest-dsvm-full-ceph-plugin-src-glance_store:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-full-sheepdog:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    experimental:
+      jobs:
+        - legacy-glance_store-dsvm-functional-filesystem:
+            voting: false
+        - legacy-glance_store-dsvm-functional-swift:
+            voting: false
+        - legacy-glance_store-dsvm-functional-cinder:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/glare
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-glare-dsvm
+    gate:
+      jobs:
+        - legacy-glare-dsvm
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/glare-specs
+    templates:
+      - merge-check
+      - build-only-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/gluon
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/golang-client
+    templates:
+      - merge-check
+      - golang-jobs
+
+- project:
+    name: openstack/golang-commons
+    templates:
+      - merge-check
+      - golang-jobs
+
+- project:
+    name: openstack/gos-brick
+    templates:
+      - merge-check
+      - golang-jobs
+
+- project:
+    name: openstack/governance
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-linters
+        - build-openstack-sphinx-docs: {}
+        - legacy-governance-tox-validate:
+            voting: false
+            files:
+              - ^reference/projects.yaml$
+    gate:
+      jobs:
+        - openstack-tox-linters
+        - build-openstack-sphinx-docs: {}
+    post:
+      jobs:
+        - legacy-static-governance-publish
+
+- project:
+    name: openstack/governance-uc
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+    gate:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+    post:
+      jobs:
+        - legacy-static-governance-uc-publish
+
+- project:
+    name: openstack/governance-website
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+    gate:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+    post:
+      jobs:
+        - legacy-static-governance-website-publish
+
+- project:
+    name: openstack/group-based-policy
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python-jobs-trusty
+    check:
+      jobs:
+        - legacy-group-based-policy-dsvm-functional-ubuntu-trusty:
+            voting: false
+            branches: ^stable/mitaka
+        - legacy-group-based-policy-dsvm-functional:
+            voting: false
+            branches: ^(?!stable/mitaka).*$
+        - legacy-group-based-policy-dsvm-aim:
+            voting: false
+            branches: ^(?!stable/mitaka).*$
+        - legacy-group-based-policy-dsvm-nfp-ubuntu-trusty:
+            voting: false
+            branches: ^stable/mitaka
+        - legacy-group-based-policy-dsvm-nfp:
+            voting: false
+            branches: ^(?!stable/mitaka).*$
+        - legacy-group-based-policy-dsvm-rally-ubuntu-trusty:
+            voting: false
+            branches: ^stable/mitaka
+        - legacy-group-based-policy-dsvm-rally:
+            voting: false
+            branches: ^(?!stable/mitaka).*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/group-based-policy-automation
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python-jobs-trusty
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/group-based-policy-specs
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-py27:
+            branches: ^(?!stable/mitaka).*$
+        - build-openstack-sphinx-docs:
+            branches: ^(?!stable/mitaka).*$
+    gate:
+      jobs:
+        - openstack-tox-py27:
+            branches: ^(?!stable/mitaka).*$
+        - build-openstack-sphinx-docs:
+            branches: ^(?!stable/mitaka).*$
+
+- project:
+    name: openstack/group-based-policy-ui
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python-jobs-trusty
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/heat
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - periodic-jobs-with-oslo-master
+      - check-requirements
+      - translation-jobs
+      - translation-jobs-ocata
+      - experimental-tripleo-jobs
+      - release-notes-jobs
+      - api-ref-jobs
+      - install-guide-jobs
+    check:
+      jobs:
+        - legacy-heat-dsvm-functional-orig-mysql-lbaasv2:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^heat/locale/.*$
+              - ^heat/tests/.*$
+              - ^releasenotes/.*$
+        - legacy-heat-dsvm-functional-convg-mysql-lbaasv2:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^heat/locale/.*$
+              - ^heat/tests/.*$
+              - ^releasenotes/.*$
+        - legacy-heat-dsvm-functional-convg-mysql-lbaasv2-amqp1:
+            voting: false
+            branches: master
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^heat/locale/.*$
+              - ^heat/tests/.*$
+              - ^releasenotes/.*$
+        - legacy-heat-dsvm-functional-convg-mysql-lbaasv2-non-apache:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^heat/locale/.*$
+              - ^heat/tests/.*$
+              - ^releasenotes/.*$
+        - legacy-heat-dsvm-functional-convg-mysql-lbaasv2-py35:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^heat/locale/.*$
+              - ^heat/tests/.*$
+              - ^releasenotes/.*$
+        - legacy-grenade-dsvm-heat:
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^heat/locale/.*$
+              - ^heat/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+            voting: false
+        - legacy-heat-dsvm-functional-convg-mysql-lbaasv2-identity-v3-only:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^heat/locale/.*$
+              - ^heat/tests/.*$
+              - ^releasenotes/.*$
+    gate:
+      jobs:
+        - legacy-heat-dsvm-functional-orig-mysql-lbaasv2:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^heat/locale/.*$
+              - ^heat/tests/.*$
+              - ^releasenotes/.*$
+        - legacy-heat-dsvm-functional-convg-mysql-lbaasv2:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^heat/locale/.*$
+              - ^heat/tests/.*$
+              - ^releasenotes/.*$
+        - legacy-heat-dsvm-functional-convg-mysql-lbaasv2-non-apache:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^heat/locale/.*$
+              - ^heat/tests/.*$
+              - ^releasenotes/.*$
+        - legacy-heat-dsvm-functional-convg-mysql-lbaasv2-py35:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^heat/locale/.*$
+              - ^heat/tests/.*$
+              - ^releasenotes/.*$
+        - legacy-grenade-dsvm-heat:
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^heat/locale/.*$
+              - ^heat/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+            voting: false
+    post:
+      jobs:
+        - openstack-tox-cover
+    periodic:
+      jobs:
+        - legacy-rally-dsvm-fakevirt-heat:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^heat/locale/.*$
+              - ^heat/tests/.*$
+              - ^releasenotes/.*$
+    experimental:
+      jobs:
+        - legacy-rally-dsvm-fakevirt-heat:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^heat/locale/.*$
+              - ^heat/tests/.*$
+              - ^releasenotes/.*$
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-grenade-dsvm-heat-multinode:
+            voting: false
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^heat/locale/.*$
+              - ^heat/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+    experimental-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-convergence-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/heat-agents
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/heat-cfntools
+    templates:
+      - merge-check
+      - check-requirements
+      - publish-openstack-python-docs
+      - openstack-python35-jobs
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/heat-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/heat-templates
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-heat-templates-dsvm
+    gate:
+      jobs:
+        - legacy-heat-templates-dsvm
+
+- project:
+    name: openstack/heat-translator
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-heat-translator-tox-py27-tp:
+            voting: false
+            branches: master
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/horizon
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - check-requirements
+      - translation-jobs
+      - translation-jobs-ocata
+      - translation-jobs-pike
+      - release-notes-jobs
+      - nodejs4-jobs
+    check:
+      jobs:
+        - legacy-horizon-tox-py27dj18:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^horizon/locale/.*$
+              - ^openstack_dashboard/locale/.*$
+              - ^releasenotes/.*$
+        - legacy-horizon-tox-py27dj19:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^horizon/locale/.*$
+              - ^openstack_dashboard/locale/.*$
+              - ^releasenotes/.*$
+        - legacy-horizon-tox-py27dj110:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^horizon/locale/.*$
+              - ^openstack_dashboard/locale/.*$
+              - ^releasenotes/.*$
+        - legacy-horizon-selenium-headless-legacy:
+            branches: ^(stable/newton).*$
+        - legacy-horizon-selenium-headless:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^horizon/locale/.*$
+              - ^openstack_dashboard/locale/.*$
+              - ^releasenotes/.*$
+        - legacy-horizon-dsvm-tempest-plugin:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^horizon/locale/.*$
+              - ^openstack_dashboard/locale/.*$
+              - ^releasenotes/.*$
+    gate:
+      queue: horizon
+      jobs:
+        - legacy-horizon-tox-py27dj18:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^horizon/locale/.*$
+              - ^openstack_dashboard/locale/.*$
+              - ^releasenotes/.*$
+        - legacy-horizon-tox-py27dj19:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^horizon/locale/.*$
+              - ^openstack_dashboard/locale/.*$
+              - ^releasenotes/.*$
+        - legacy-horizon-tox-py27dj110:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^horizon/locale/.*$
+              - ^openstack_dashboard/locale/.*$
+              - ^releasenotes/.*$
+        - legacy-horizon-selenium-headless-legacy:
+            branches: ^(stable/newton).*$
+        - legacy-horizon-selenium-headless:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^horizon/locale/.*$
+              - ^openstack_dashboard/locale/.*$
+              - ^releasenotes/.*$
+        - legacy-horizon-dsvm-tempest-plugin:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^horizon/locale/.*$
+              - ^openstack_dashboard/locale/.*$
+              - ^releasenotes/.*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/horizon-cisco-ui
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/horizon-mellanox
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/hurricane
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/i18n
+    templates:
+      - merge-check
+      - translation-jobs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    post:
+      jobs:
+        - legacy-i18n-tox-doc-docs:
+            branches: ^(?!bug/).*$
+
+- project:
+    name: openstack/i18n-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/inception
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/instack
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - publish-to-pypi
+      - experimental-tripleo-jobs
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-undercloud-containers:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-containers-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    experimental:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario005-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/pacemaker.*$
+              - ^manifests/pacemaker/.*$
+              - ^manifests/profile/pacemaker.*$
+              - manifests/profile/base/pacemaker.pp
+              - ci/environments/scenario005-multinode.yaml
+              - ci/pingtests/scenario005-multinode.yaml
+              - config/general_config/featureset009.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario006-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/kubernetes.*$
+              - ^environments/kubernetes.*$
+              - ci/environments/scenario006-multinode.yaml
+              - ci/pingtests/scenario006-multinode.yaml
+              - config/general_config/featureset026.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario008-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^environments/.*opendaylight.*$
+              - ^puppet/services/.*opendaylight.*$
+              - manifests/profile/base/neutron/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ml2/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ovs/opendaylight.pp
+              - ^manifests/profile/base/neutron/opendaylight/.*$
+              - ci/environments/scenario008-multinode.yaml
+              - ci/pingtests/scenario008-multinode.yaml
+              - config/general_config/featureset031.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq-container:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode-containers.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^(docker|puppet)/services/.*ovn.*$
+              - ^manifests/profile/pacemaker/ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset030.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario009-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/openshift.*$
+              - ^environments/openshift.*$
+              - ci/environments/scenario009-multinode.yaml
+              - ci/pingtests/scenario009-multinode.yaml
+              - config/general_config/featureset033.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/instack-undercloud
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-tripleo-undercloud-jobs
+      - publish-to-pypi
+      - experimental-tripleo-jobs
+      - check-requirements
+      - release-notes-jobs
+      - puppet-syntax
+    check:
+      jobs:
+        - legacy-instack-undercloud-puppet-lint
+        - openstack-tox-cover:
+            voting: false
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-undercloud-containers:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-instack-undercloud-puppet-lint
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-containers-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    experimental:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario005-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/pacemaker.*$
+              - ^manifests/pacemaker/.*$
+              - ^manifests/profile/pacemaker.*$
+              - manifests/profile/base/pacemaker.pp
+              - ci/environments/scenario005-multinode.yaml
+              - ci/pingtests/scenario005-multinode.yaml
+              - config/general_config/featureset009.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario006-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/kubernetes.*$
+              - ^environments/kubernetes.*$
+              - ci/environments/scenario006-multinode.yaml
+              - ci/pingtests/scenario006-multinode.yaml
+              - config/general_config/featureset026.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario008-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^environments/.*opendaylight.*$
+              - ^puppet/services/.*opendaylight.*$
+              - manifests/profile/base/neutron/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ml2/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ovs/opendaylight.pp
+              - ^manifests/profile/base/neutron/opendaylight/.*$
+              - ci/environments/scenario008-multinode.yaml
+              - ci/pingtests/scenario008-multinode.yaml
+              - config/general_config/featureset031.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq-container:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode-containers.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^(docker|puppet)/services/.*ovn.*$
+              - ^manifests/profile/pacemaker/ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset030.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario009-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/openshift.*$
+              - ^environments/openshift.*$
+              - ci/environments/scenario009-multinode.yaml
+              - ci/pingtests/scenario009-multinode.yaml
+              - config/general_config/featureset033.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/intel-nfv-ci-tests
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/interop
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+        - legacy-interop-tox-doc8
+        - legacy-interop-tox-jsonlint
+        - legacy-interop-tox-jsonschema
+    gate:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+        - legacy-interop-tox-doc8
+        - legacy-interop-tox-jsonlint
+        - legacy-interop-tox-jsonschema
+
+- project:
+    name: openstack/interop-workloads
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+    gate:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+
+- project:
+    name: openstack/iotronic
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/iotronic-lightning-rod
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/iotronic-ui
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/ipa-example-hardware-managers
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/ironic
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - periodic-jobs-with-oslo-master
+      - check-requirements
+      - translation-jobs
+      - experimental-tripleo-jobs
+      - release-notes-jobs
+      - api-ref-jobs
+      - install-guide-jobs
+    check:
+      jobs:
+        - legacy-tempest-dsvm-ironic-pxe_ipmitool-postgres:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+            voting: false
+        - legacy-tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_ipmitool-tinyipa:
+            branches: ^stable/(newton|ocata).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_snmp-tinyipa:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-partition-bios-agent_ipmitool-tinyipa:
+            branches: ^stable/(newton|ocata).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-partition-bios-pxe_ipmitool-tinyipa:
+            branches: ^stable/(newton|ocata).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-partition-uefi-pxe_ipmitool-tinyipa:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode:
+            voting: false
+            branches: ^stable/(newton|ocata).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-partition-pxe_ipmitool-tinyipa-python3:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode:
+            branches: ^stable/(newton|ocata).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+            voting: false
+        - legacy-tempest-dsvm-ironic-ipa-partition-redfish-tinyipa:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-bfv:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-ironic-dsvm-standalone:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-inspector:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-grenade-dsvm-ironic:
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+            voting: false
+        - legacy-grenade-dsvm-ironic-multinode-multitenant:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-multitenant-network:
+            branches: ^stable/(newton|ocata).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - openstack-tox-cover
+    gate:
+      queue: ironic
+      jobs:
+        - legacy-tempest-dsvm-ironic-ipa-partition-bios-pxe_ipmitool-tinyipa:
+            branches: ^stable/(newton|ocata).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-partition-uefi-pxe_ipmitool-tinyipa:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-partition-bios-agent_ipmitool-tinyipa:
+            branches: ^stable/(newton|ocata).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_ipmitool-tinyipa:
+            branches: ^stable/(newton|ocata).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+            voting: false
+        - legacy-tempest-dsvm-ironic-ipa-partition-redfish-tinyipa:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-bfv:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-ironic-dsvm-standalone:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-grenade-dsvm-ironic:
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+            voting: false
+        - legacy-grenade-dsvm-ironic-multinode-multitenant:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - openstack-tox-cover
+        - legacy-tempest-dsvm-ironic-multitenant-network:
+            branches: ^stable/(newton|ocata).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode:
+            branches: ^stable/(newton|ocata).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+            voting: false
+    post:
+      jobs:
+        - openstack-tox-cover
+    experimental:
+      jobs:
+        - legacy-ironic-dsvm-functional:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-parallel:
+            voting: false
+            branches: ^(?!stable)
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-pxe_ipa-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-resourceclasses-partition-pxe_ipmitool-tinyipa:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^ironic/locale/.*$
+              - ^ironic/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/ironic-inspector
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - translation-jobs
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-ironic-inspector-tox-func:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-ironic-inspector-tox-func3:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-grenade-dsvm-ironic-inspector:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_inspector/test/(?!.*tempest).*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-inspector:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_inspector/test/(?!.*tempest).*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tox.ini$
+            voting: false
+        - legacy-tempest-dsvm-ironic-inspector-discovery:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_inspector/test/(?!.*tempest).*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tox.ini$
+    gate:
+      jobs:
+        - legacy-ironic-inspector-tox-func:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-ironic-inspector-tox-func3:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-grenade-dsvm-ironic-inspector:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_inspector/test/(?!.*tempest).*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-inspector:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_inspector/test/(?!.*tempest).*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tox.ini$
+            voting: false
+        - legacy-tempest-dsvm-ironic-inspector:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_inspector/test/(?!.*tempest).*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tox.ini$
+            voting: false
+        - legacy-tempest-dsvm-ironic-inspector-discovery:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_inspector/test/(?!.*tempest).*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tox.ini$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/ironic-inspector-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/ironic-inspector-tempest-plugin
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    gate:
+      queue: ironic-inspector-tempest-plugin
+      jobs:
+        - openstack-tox-pep8
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+
+- project:
+    name: openstack/ironic-lib
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-cover
+        - legacy-tempest-dsvm-ironic-lib-wholedisk-agent_ipmitool:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^ironic_lib/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-lib-wholedisk-pxe_ipmitool:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^ironic_lib/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-lib-partition-agent_ipmitool:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^ironic_lib/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-lib-partition-pxe_ipmitool:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^ironic_lib/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+    gate:
+      jobs:
+        - legacy-tempest-dsvm-ironic-lib-wholedisk-agent_ipmitool:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^ironic_lib/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-lib-partition-agent_ipmitool:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^ironic_lib/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-lib-wholedisk-pxe_ipmitool:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^ironic_lib/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-lib-partition-pxe_ipmitool:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^ironic_lib/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/ironic-python-agent
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-ironic-python-agent-tox-func:
+            voting: false
+        - legacy-tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-coreos-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_python_agent/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-partition-bios-agent_ipmitool-coreos-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_python_agent/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_python_agent/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-partition-bios-agent_ipmitool-tinyipa-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_python_agent/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-partition-bios-pxe_ipmitool-tinyipa-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_python_agent/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_ipmitool-tinyipa-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_python_agent/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-partition-bios-pxe_ipmitool-coreos-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_python_agent/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_ipmitool-coreos-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_python_agent/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-inspector-src:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_python_agent/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+    gate:
+      jobs:
+        - legacy-tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_ipmitool-coreos-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_python_agent/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_ipmitool-tinyipa-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_python_agent/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-coreos-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_python_agent/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_python_agent/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-partition-bios-pxe_ipmitool-tinyipa-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_python_agent/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-partition-bios-pxe_ipmitool-coreos-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_python_agent/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-partition-bios-agent_ipmitool-coreos-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_python_agent/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-partition-bios-agent_ipmitool-tinyipa-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_python_agent/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+    experimental:
+      jobs:
+        - legacy-tempest-dsvm-ironic-ipa-partition-bios-pxe_ipmitool-tinyipa256-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_python_agent/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-partition-pxe_ipmitool-tinyipa-python3:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^ironic_python_agent/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+    post:
+      jobs:
+        - legacy-ironic-python-agent-buildimage-coreos
+        - legacy-ironic-python-agent-buildimage-tinyipa
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/ironic-python-agent-builder
+    templates:
+      - merge-check
+      - publish-openstack-python-docs
+      - check-requirements
+      - release-notes-jobs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/ironic-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/ironic-staging-drivers
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - docs-on-readthedocs
+    check:
+      jobs:
+        - legacy-ironic-staging-drivers-dsvm
+        - legacy-tempest-dsvm-ironic-staging-drivers-ansible-wholedisk:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - legacy-ironic-staging-drivers-dsvm
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/ironic-tempest-plugin
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    gate:
+      queue: ironic-inspector-tempest-plugin
+      jobs:
+        - openstack-tox-pep8
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+
+- project:
+    name: openstack/ironic-ui
+    templates:
+      - check-requirements
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - nodejs4-jobs
+      - publish-openstack-python-docs
+      - translation-jobs
+      - translation-jobs-ocata
+      - translation-jobs-pike
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/jacket
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    gate:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+
+- project:
+    name: openstack/jenkins-plugins-for-murano
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/js-openstack-lib
+    templates:
+      - merge-check
+      - nodejs4-jobs
+      - nodejs6-jobs
+      - nodejs6-docs
+    check:
+      jobs:
+        - legacy-js-openstack-lib-dsvm-nodejs6-npm-run-functional-test
+        - legacy-js-openstack-lib-dsvm-nodejs4-npm-run-functional-test
+    gate:
+      jobs:
+        - legacy-js-openstack-lib-dsvm-nodejs6-npm-run-functional-test
+        - legacy-js-openstack-lib-dsvm-nodejs4-npm-run-functional-test
+    pre-release:
+      jobs:
+        - legacy-js-openstack-lib-nodejs6-npm-sdk-docs:
+            branches: ^(?!bug/).*$
+    release:
+      jobs:
+        - legacy-js-openstack-lib-nodejs6-npm-sdk-docs:
+            branches: ^(?!bug/).*$
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-npm-upload
+        - legacy-npm-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/k8s-cloud-provider
+    templates:
+      - merge-check
+      - golang-jobs
+    check:
+      jobs:
+        - legacy-k8s-cloud-provider-golang-dsvm-local
+        - legacy-k8s-cloud-provider-golang-dsvm-external
+    gate:
+      jobs:
+        - legacy-k8s-cloud-provider-golang-dsvm-local
+        - legacy-k8s-cloud-provider-golang-dsvm-external
+
+- project:
+    name: openstack/k8s-docker-suite-app-murano
+    templates:
+      - merge-check
+      - docs-on-readthedocs
+    check:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+        - legacy-k8s-docker-suite-app-murano-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+        - legacy-k8s-docker-suite-app-murano-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/karbor
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - api-ref-jobs
+      - translation-jobs
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+        - legacy-karbor-dsvm-fullstack:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/karbor-dashboard
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - translation-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/karma-subunit-reporter
+    templates:
+      - merge-check
+      - nodejs4-jobs
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-npm-upload
+        - legacy-npm-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/keystone
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - release-openstack-server
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - periodic-jobs-with-oslo-master
+      - check-requirements
+      - integrated-gate-py35
+      - translation-jobs
+      - translation-jobs-ocata
+      - release-notes-jobs
+      - api-ref-jobs
+    check:
+      jobs:
+        - legacy-keystoneclient-dsvm-functional:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^keystone/tests/unit/.*$
+              - ^releasenotes/.*$
+        - legacy-keystone-dsvm-functional:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^keystone/tests/unit/.*$
+              - ^releasenotes/.*$
+        - legacy-keystone-dsvm-functional-v3-only:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^keystone/tests/unit/.*$
+              - ^releasenotes/.*$
+        - legacy-keystone-dsvm-py35-functional-v3-only:
+            voting: false
+            branches: ^(?!stable)
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^keystone/tests/unit/.*$
+              - ^releasenotes/.*$
+        - legacy-openstack-ansible-os_keystone-ansible-upgrade:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - openstack-tox-cover
+        - legacy-tempest-dsvm-ldap-domain-specific-driver:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^keystone/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-neutron-full:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^keystone/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^keystone/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+    gate:
+      queue: integrated
+      jobs:
+        - legacy-keystone-dsvm-functional:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^keystone/tests/unit/.*$
+              - ^releasenotes/.*$
+        - legacy-tempest-dsvm-neutron-full:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^keystone/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^keystone/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+    experimental:
+      jobs:
+        - legacy-rally-dsvm-keystone:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^keystone/tests/unit/.*$
+              - ^releasenotes/.*$
+        - legacy-keystone-tox-patch_cover:
+            voting: false
+        - legacy-keystone-dsvm-grenade-multinode:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^keystone/tests/unit/.*$
+              - ^releasenotes/.*$
+        - legacy-tempest-dsvm-neutron-pg-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^keystone/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-neutron-full-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^keystone/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+
+- project:
+    name: openstack/keystone-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/keystone-tempest-plugin
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - legacy-keystone-dsvm-functional
+        - legacy-keystone-dsvm-functional-v3-only:
+            voting: false
+        - legacy-keystone-dsvm-py35-functional-v3-only:
+            voting: false
+            branches: ^(?!stable)
+    gate:
+      queue: integrated
+      jobs:
+        - openstack-tox-pep8
+        - legacy-keystone-dsvm-functional
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/keystoneauth
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - lib-forward-testing
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/keystonemiddleware
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - lib-forward-testing
+      - release-notes-jobs
+      - translation-jobs
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/kiloeyes
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/kingbird
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-kingbird-dsvm-multiregion:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/kloudbuster
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - docs-on-readthedocs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/kolla
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    check:
+      jobs:
+        - legacy-kolla-dsvm-build-centos-binary-centos-7:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-dsvm-deploy-centos-binary-centos-7:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-gate-kolla-dsvm-build-centos-source-centos-7:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-dsvm-deploy-centos-source-centos-7:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-dsvm-build-ubuntu-binary:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-gate-kolla-dsvm-build-ubuntu-source:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-dsvm-deploy-ubuntu-binary:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-dsvm-deploy-ubuntu-source:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-dsvm-build-oraclelinux-binary-centos-7:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-dsvm-deploy-oraclelinux-binary-centos-7:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-gate-kolla-dsvm-build-oraclelinux-source-centos-7:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-dsvm-deploy-oraclelinux-source-centos-7:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - openstack-tox-cover:
+            voting: false
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-gate-kolla-dsvm-build-centos-source-centos-7:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-gate-kolla-dsvm-build-ubuntu-source:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-gate-kolla-dsvm-build-oraclelinux-source-centos-7:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+    experimental:
+      jobs:
+        - legacy-publish-kolla-dsvm-save-ubuntu-source:
+            dependencies:
+              - legacy-publish-kolla-dsvm-kubernetes-deploy-multinode-ubuntu-source-ubuntu-xenial-2-node
+        - legacy-publish-kolla-dsvm-kubernetes-deploy-multinode-ubuntu-source-ubuntu-xenial-2-node:
+            dependencies:
+              - legacy-publish-kolla-dsvm-ansible-deploy-multinode-ubuntu-source-ubuntu-xenial-2-node
+        - legacy-publish-kolla-dsvm-ansible-deploy-multinode-ubuntu-source-ubuntu-xenial-2-node:
+            dependencies:
+              - legacy-publish-kolla-dsvm-build-ubuntu-source
+        - legacy-publish-kolla-dsvm-build-ubuntu-source
+    post:
+      jobs:
+        - legacy-kolla-dsvm-build-centos-binary-centos-7:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+            voting: false
+        - legacy-kolla-dsvm-build-centos-source-centos-7:
+            branches: ^(?!stable/newton).*$
+        - legacy-kolla-dsvm-build-ubuntu-binary:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+            voting: false
+        - legacy-kolla-dsvm-build-ubuntu-source:
+            branches: ^(?!stable/newton).*$
+        - legacy-kolla-dsvm-build-oraclelinux-binary-centos-7:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+            voting: false
+        - legacy-kolla-dsvm-build-oraclelinux-source-centos-7:
+            branches: ^(?!stable/newton).*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/kolla-ansible
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - deploy-guide-jobs
+    check:
+      jobs:
+        - legacy-kolla-ansible-dsvm-deploy-centos-binary-centos-7:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-ansible-dsvm-deploy-centos-source-centos-7:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-ansible-dsvm-deploy-ubuntu-binary:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-ansible-dsvm-deploy-ubuntu-source:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-ansible-dsvm-deploy-oraclelinux-binary-centos-7:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-ansible-dsvm-deploy-oraclelinux-source-centos-7:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-ansible-dsvm-deploy-multinode-ubuntu-source-ubuntu-xenial-2-node:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-ansible-dsvm-deploy-multinode-ubuntu-binary-ubuntu-xenial-2-node:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-ansible-dsvm-deploy-multinode-centos-source-centos-7-2-node:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-ansible-dsvm-deploy-multinode-centos-binary-centos-7-2-node:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-ansible-dsvm-deploy-multinode-oraclelinux-source-centos-7-2-node:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-ansible-dsvm-deploy-multinode-oraclelinux-binary-centos-7-2-node:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-ansible-dsvm-deploy-ceph-ubuntu-source-ubuntu-xenial-2-node:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-ansible-dsvm-deploy-ceph-ubuntu-binary-ubuntu-xenial-2-node:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-ansible-dsvm-deploy-ceph-centos-source-centos-7-2-node:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-ansible-dsvm-deploy-ceph-centos-binary-centos-7-2-node:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-ansible-dsvm-deploy-ceph-oraclelinux-source-centos-7-2-node:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-ansible-dsvm-deploy-ceph-oraclelinux-binary-centos-7-2-node:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+    experimental:
+      jobs:
+        - legacy-kolla-ansible-dsvm-upgrade-multinode-centos-source-centos-7-2-node:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/kolla-kubernetes
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-kolla-kubernetes-deploy-centos-binary-2-ceph-multi:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-deploy-centos-binary-2-ceph:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-deploy-centos-binary-2-external-ovs:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-deploy-centos-binary-2-helm-entrypoint:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-deploy-centos-binary-2-helm-compute-kit:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-deploy-centos-binary-2-iscsi:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-deploy-ubuntu-binary-2-iscsi:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-deploy-ubuntu-binary-2-ceph:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-deploy-centos-binary-3-ceph-multi:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-deploy-centos-source-4-ironic:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-deploy-ubuntu-source-4-microchart-ansible:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-deploy-centos-source-4-microchart-ansible:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+    experimental:
+      jobs:
+        - legacy-kolla-kubernetes-deploy-centos-binary-2-helm-operator:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-deploy-centos-binary-2-ceph-reboot:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-deploy-centos-binary-4-helm-compute-kit:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-deploy-centos-binary-4-helm-entrypoint:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-deploy-centos-binary-4-ceph-multi:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-deploy-centos-source-4-helm-compute-kit:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-deploy-centos-source-4-helm-entrypoint:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-deploy-ubuntu-source-4-ironic:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-upgrade-centos-binary-2-ceph:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-upgrade-centos-binary-3-ceph:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-deploy-centos-binary-t-ceph-multi:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-deploy-centos-source-t-iscsi:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+        - legacy-kolla-kubernetes-deploy-ubuntu-source-t-iscsi:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^deploy-guide/source/.*
+              - ^doc/.*
+    periodic:
+      jobs:
+        - legacy-periodic-kolla-kubernetes-deploy-centos-binary-2-ceph
+        - legacy-periodic-kolla-kubernetes-deploy-ubuntu-binary-2-ceph
+        - legacy-periodic-kolla-kubernetes-deploy-centos-binary-3-ceph
+        - legacy-periodic-kolla-kubernetes-deploy-ubuntu-binary-3-ceph
+        - legacy-periodic-kolla-kubernetes-deploy-centos-binary-4-ceph
+        - legacy-periodic-kolla-kubernetes-deploy-ubuntu-binary-4-ceph
+        - legacy-periodic-kolla-kubernetes-deploy-centos-binary-2-iscsi
+        - legacy-periodic-kolla-kubernetes-deploy-ubuntu-binary-2-iscsi
+        - legacy-periodic-kolla-kubernetes-deploy-centos-binary-3-iscsi
+        - legacy-periodic-kolla-kubernetes-deploy-ubuntu-binary-3-iscsi
+        - legacy-periodic-kolla-kubernetes-deploy-centos-binary-4-iscsi
+        - legacy-periodic-kolla-kubernetes-deploy-ubuntu-binary-4-iscsi
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/kosmos
+    templates:
+      - check-requirements
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/kosmos-specs
+    templates:
+      - merge-check
+      - build-only-specs-jobs
+
+- project:
+    name: openstack/kuryr
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - release-notes-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/kuryr-kubernetes
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-install-dsvm-default-kuryr-kubernetes
+        - legacy-install-dsvm-dragonflow-kuryr-kubernetes:
+            voting: false
+        - legacy-tempest-dsvm-lbaasv2-kuryr-kubernetes:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-octavia-kuryr-kubernetes:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - legacy-install-dsvm-default-kuryr-kubernetes
+    experimental:
+      jobs:
+        - legacy-tempest-dsvm-kuryr-kubernetes-multinode:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/kuryr-libnetwork
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - release-notes-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+        - legacy-install-dsvm-kuryr-libnetwork:
+            voting: false
+        - legacy-kuryr-libnetwork-kuryr_lib-src-dsvm-fullstack:
+            branches: master
+        - legacy-kuryr-libnetwork-dsvm-fullstack
+        - legacy-kuryr-libnetwork-kuryr_lib-src-dsvm-rally:
+            voting: false
+            branches: master
+        - legacy-kuryr-libnetwork-dsvm-fullstack-py35
+        - legacy-kuryr-libnetwork-dsvm-rally:
+            voting: false
+    gate:
+      jobs:
+        - legacy-kuryr-libnetwork-kuryr_lib-src-dsvm-fullstack:
+            branches: master
+        - legacy-kuryr-libnetwork-dsvm-fullstack
+        - legacy-kuryr-libnetwork-dsvm-fullstack-py35
+    experimental:
+      jobs:
+        - legacy-install-dsvm-kuryr-libnetwork-multinode:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/kuryr-tempest-plugin
+    templates:
+      - merge-check
+      - check-requirements
+      - publish-openstack-python-docs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/kwapi
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/ldappool
+    templates:
+      - check-requirements
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/liberasurecode
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-liberasurecode-unit
+    gate:
+      jobs:
+        - legacy-liberasurecode-unit
+    experimental:
+      jobs:
+        - legacy-liberasurecode-unit-centos-7
+
+- project:
+    name: openstack/loci
+    templates:
+      - merge-check
+      - noop-jobs
+    post:
+      jobs:
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/loci-cinder
+    templates:
+      - merge-check
+      - loci-jobs
+
+- project:
+    name: openstack/loci-designate
+    templates:
+      - merge-check
+      - loci-jobs
+
+- project:
+    name: openstack/loci-glance
+    templates:
+      - merge-check
+      - loci-jobs
+
+- project:
+    name: openstack/loci-heat
+    templates:
+      - merge-check
+      - loci-jobs
+
+- project:
+    name: openstack/loci-horizon
+    templates:
+      - merge-check
+      - loci-jobs
+
+- project:
+    name: openstack/loci-ironic
+    templates:
+      - merge-check
+      - loci-jobs
+
+- project:
+    name: openstack/loci-keystone
+    templates:
+      - merge-check
+      - loci-jobs
+
+- project:
+    name: openstack/loci-murano
+    templates:
+      - merge-check
+      - loci-jobs
+
+- project:
+    name: openstack/loci-neutron
+    templates:
+      - merge-check
+      - loci-jobs
+
+- project:
+    name: openstack/loci-nova
+    templates:
+      - merge-check
+      - loci-jobs
+
+- project:
+    name: openstack/loci-requirements
+    templates:
+      - merge-check
+      - loci-jobs
+
+- project:
+    name: openstack/loci-swift
+    templates:
+      - merge-check
+      - loci-jobs
+
+- project:
+    name: openstack/loci-trove
+    templates:
+      - merge-check
+      - loci-jobs
+
+- project:
+    name: openstack/magnum
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - translation-jobs
+      - install-guide-jobs
+      - api-ref-jobs
+    check:
+      jobs:
+        - legacy-functional-dsvm-magnum-api:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-functional-dsvm-magnum-k8s:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^magnum/drivers/mesos.*$
+              - ^magnum/drivers/swarm.*$
+        - legacy-functional-dsvm-magnum-swarm-mode:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^magnum/drivers/k8s.*$
+              - ^magnum/drivers/mesos.*$
+        - openstack-tox-cover:
+            voting: false
+    gate:
+      jobs:
+        - legacy-functional-dsvm-magnum-api:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+    periodic:
+      jobs:
+        - legacy-periodic-magnum-dib-buildimage-fedora-atomic-25
+        - legacy-periodic-magnum-dib-buildimage-ubuntu-mesos
+        - legacy-periodic-magnum-dib-buildimage-centos-dcos
+    experimental:
+      jobs:
+        - legacy-functional-dsvm-magnum-k8s-multinode:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^magnum/drivers/mesos.*$
+              - ^magnum/drivers/swarm.*$
+        - legacy-functional-dsvm-magnum-swarm-multinode:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^magnum/drivers/k8s.*$
+              - ^magnum/drivers/mesos.*$
+        - legacy-functional-dsvm-magnum-dcos:
+            voting: false
+        - legacy-functional-dsvm-magnum-swarm-ironic:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^magnum/drivers/k8s.*$
+              - ^magnum/drivers/mesos.*$
+        - legacy-magnum-tox-migration:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-functional-dsvm-magnum-mesos:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^magnum/drivers/k8s.*$
+              - ^magnum/drivers/swarm.*$
+        - legacy-functional-dsvm-magnum-swarm:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^magnum/drivers/k8s.*$
+              - ^magnum/drivers/mesos.*$
+        - legacy-functional-dsvm-magnum-k8s-ironic:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^magnum/drivers/mesos.*$
+              - ^magnum/drivers/swarm.*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/magnum-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+
+- project:
+    name: openstack/magnum-ui
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - nodejs4-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - translation-jobs
+      - translation-jobs-ocata
+      - translation-jobs-pike
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/manila
+    templates:
+      - merge-check
+      - publish-openstack-python-docs
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - translation-jobs
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - api-ref-jobs
+      - install-guide-jobs
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+        - legacy-manila-tox-genconfig
+        - legacy-manila-pylint:
+            voting: false
+        - legacy-manila-tempest-dsvm-mysql-generic:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-manila-tempest-dsvm-postgres-container:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-manila-tempest-dsvm-postgres-zfsonlinux:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-manila-tempest-dsvm-postgres-generic-singlebackend:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-manila-tempest-dsvm-generic-no-share-servers:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-manila-tempest-dsvm-scenario:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-manila-tempest-minimal-dsvm-cephfs-native-centos-7:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/(?!.*\/dummy.py$)
+              - ^rally-jobs/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-manila-tempest-minimal-dsvm-cephfs-nfs-centos-7:
+            voting: false
+            branches: ^(?!(driverfixes|stable/(?:newton|ocata))).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/(?!.*\/dummy.py$)
+              - ^rally-jobs/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-manila-tempest-dsvm-glusterfs-nfs:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-manila-tempest-dsvm-glusterfs-native:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-manila-tempest-dsvm-hdfs:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-manila-tempest-minimal-dsvm-dummy:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/(?!.*\/dummy.py$)
+              - ^rally-jobs/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-manila-tempest-minimal-dsvm-lvm-centos-7:
+            branches: ^(?!(driverfixes|stable/newton)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/(?!.*\/dummy.py$)
+              - ^manila/tests/.*$
+              - ^rally-jobs/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-grenade-dsvm-manila:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-manila-multibackend:
+            voting: false
+            branches: ^(?!stable/newton|driverfixes/).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-manila-multibackend-no-ss:
+            voting: false
+            branches: ^(?!stable/newton|driverfixes/).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-manila-ui-dsvm:
+            voting: false
+            branches: ^(?!driverfixes|stable/newton).*$
+    gate:
+      jobs:
+        - legacy-manila-tox-genconfig
+        - legacy-manila-tempest-minimal-dsvm-dummy:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/(?!.*\/dummy.py$)
+              - ^rally-jobs/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-manila-tempest-minimal-dsvm-lvm-centos-7:
+            branches: ^(?!(driverfixes|stable/newton)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/(?!.*\/dummy.py$)
+              - ^manila/tests/.*$
+              - ^rally-jobs/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^tools/.*$
+              - ^tox.ini$
+    post:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+    experimental:
+      jobs:
+        - legacy-manila-tempest-dsvm-glusterfs-nfs:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-manila-tempest-dsvm-glusterfs-native:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-manila-tempest-dsvm-glusterfs-nfs-heketi:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-manila-tempest-dsvm-glusterfs-native-heketi:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^manila/hacking/.*$
+              - ^manila/tests/.*$
+              - ^releasenotes/.*$
+              - ^run_tests.sh$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/manila-image-elements
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+        - legacy-manila-buildimage-generic
+        - legacy-manila-buildimage-docker:
+            voting: false
+        - legacy-manila-tempest-dsvm-container-scenario-custom-image:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-manila-tempest-dsvm-generic-scenario-custom-image:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+        - legacy-manila-buildimage-generic
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    post:
+      jobs:
+        - legacy-manila-publishimage-generic
+    release:
+      jobs:
+        - legacy-manila-publishimage-generic
+
+- project:
+    name: openstack/manila-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/manila-test-image
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-bashate
+    gate:
+      jobs:
+        - openstack-tox-bashate
+    experimental:
+      jobs:
+        - legacy-manila-test-image-build
+
+- project:
+    name: openstack/manila-ui
+    templates:
+      - check-requirements
+      - merge-check
+      - openstack-python-jobs
+      - translation-jobs
+      - translation-jobs-ocata
+      - translation-jobs-pike
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-manila-ui-tox-py27dj19:
+            branches: ^(?!driverfixes/).*$
+        - legacy-manila-ui-tox-py27dj110:
+            branches: ^(?!driverfixes/).*$
+        - openstack-tox-cover:
+            voting: false
+        - legacy-manila-ui-dsvm:
+            voting: false
+            branches: ^(?!driverfixes|stable/newton).*$
+    gate:
+      jobs:
+        - legacy-manila-ui-tox-py27dj19:
+            branches: ^(?!driverfixes/).*$
+        - legacy-manila-ui-tox-py27dj110:
+            branches: ^(?!driverfixes/).*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/marshal
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    gate:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+
+- project:
+    name: openstack/masakari
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+      - openstack-python35-jobs-nonvoting
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/masakari-monitors
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+      - openstack-python35-jobs-nonvoting
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/masakari-specs
+    templates:
+      - merge-check
+      - build-only-specs-jobs
+
+- project:
+    name: openstack/meghdwar
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/merlin
+    templates:
+      - merge-check
+      - nodejs4-jobs
+    post:
+      jobs:
+        - legacy-merlin-js-release-branch
+    release:
+      jobs:
+        - legacy-merlin-js-release-master
+
+- project:
+    name: openstack/meteos
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/meteos-ui
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/microversion-parse
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/mistral
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - experimental-tripleo-jobs
+      - check-requirements
+      - release-notes-jobs
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+        - legacy-rally-dsvm-mistral-task:
+            voting: false
+        - legacy-mistral-devstack-dsvm:
+            voting: false
+        - legacy-mistral-devstack-dsvm-non-apache:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-mistral-tox-unit-mysql:
+            voting: false
+        - legacy-mistral-tox-unit-postgresql:
+            voting: false
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-puppet:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-mistral-devstack-dsvm-kombu:
+            voting: false
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-puppet:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    post:
+      jobs:
+        - legacy-mistral-docker-buildimage:
+            branches: master
+    experimental:
+      jobs:
+        - legacy-mistral-docker-buildimage:
+            branches: master
+        - legacy-mistral-ha:
+            voting: false
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/mistral-dashboard
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/mistral-extra
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/mistral-lib
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/mistral-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/mitmstack
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/mixmatch
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    check:
+      jobs:
+        - legacy-mixmatch-dsvm-functional:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/mogan
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+        - legacy-mogan-tox-functional
+        - legacy-mogan-dsvm-tempest-plugin:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^mogan/tests/functional.*$
+              - ^mogan/tests/unit.*$
+              - ^releasenotes/.*$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-mogan-tox-functional
+        - legacy-mogan-dsvm-tempest-plugin:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^mogan/tests/functional.*$
+              - ^mogan/tests/unit.*$
+              - ^releasenotes/.*$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/mogan-specs
+    templates:
+      - merge-check
+      - build-only-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/mogan-ui
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/molteniron
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/monasca-agent
+    templates:
+      - merge-check
+      - openstack-python35-jobs-nonvoting
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-tempest-dsvm-monasca-python-mysql-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-monasca-java-mysql-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/monasca-analytics
+    templates:
+      - merge-check
+      - openstack-python35-jobs-nonvoting
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/monasca-api
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs-nonvoting
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - api-ref-jobs
+    check:
+      jobs:
+        - legacy-monasca-api-maven-build
+        - legacy-tempest-dsvm-monasca-python-mysql-full:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.md$
+              - ^setup.cfg$
+            voting: false
+        - legacy-tempest-dsvm-monasca-java-mysql-full:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.md$
+              - ^setup.cfg$
+            voting: false
+        - openstack-tox-cover
+    gate:
+      jobs:
+        - legacy-monasca-api-maven-build
+        - legacy-tempest-dsvm-monasca-python-mysql-full:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.md$
+              - ^setup.cfg$
+            voting: false
+        - legacy-tempest-dsvm-monasca-java-mysql-full:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.md$
+              - ^setup.cfg$
+            voting: false
+        - openstack-tox-cover
+    experimental:
+      jobs:
+        - legacy-tempest-dsvm-monasca-python-postgresql-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.md$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-monasca-java-postgresql-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.md$
+              - ^setup.cfg$
+    post:
+      jobs:
+        - legacy-monasca-api-localrepo-upload
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/monasca-ceilometer
+    templates:
+      - merge-check
+      - openstack-python35-jobs
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/monasca-common
+    templates:
+      - merge-check
+      - openstack-python35-jobs
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-monasca-common-maven-build
+        - legacy-tempest-dsvm-monasca-python-mysql-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-monasca-java-mysql-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-monasca-common-maven-build
+    post:
+      jobs:
+        - legacy-monasca-common-localrepo-upload
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/monasca-events-api
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - periodic-jobs-with-oslo-master
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - api-ref-jobs
+    check:
+      jobs:
+        - openstack-tox-cover
+        - legacy-tempest-dsvm-monasca-pipeline-events:
+            voting: false
+            branches: ^(?!stable/(newton|ocata|pike)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/monasca-grafana-datasource
+    templates:
+      - merge-check
+      - noop-jobs
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-npm-upload
+        - legacy-npm-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/monasca-kibana-plugin
+    templates:
+      - merge-check
+      - nodejs4-jobs
+    check:
+      jobs:
+        - legacy-tempest-dsvm-monasca-log-api:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-monasca-pipeline-logs:
+            voting: false
+            branches: ^(?!stable/(newton|ocata|pike)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-npm-upload
+        - legacy-npm-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/monasca-log-api
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - periodic-jobs-with-oslo-master
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - api-guide-jobs
+      - api-ref-jobs
+    check:
+      jobs:
+        - openstack-tox-cover
+        - legacy-tempest-dsvm-monasca-log-api:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+            voting: false
+        - legacy-tempest-dsvm-monasca-pipeline-logs:
+            voting: false
+            branches: ^(?!stable/(newton|ocata|pike)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - legacy-tempest-dsvm-monasca-log-api:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+            voting: false
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/monasca-notification
+    templates:
+      - merge-check
+      - openstack-python35-jobs
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-tempest-dsvm-monasca-python-mysql-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-monasca-java-mysql-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - openstack-tox-cover
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - openstack-tox-cover
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/monasca-persister
+    templates:
+      - merge-check
+      - openstack-python35-jobs
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-monasca-persister-maven-build
+        - legacy-tempest-dsvm-monasca-python-mysql-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-monasca-java-mysql-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - openstack-tox-cover
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-monasca-persister-maven-build
+        - openstack-tox-cover
+    post:
+      jobs:
+        - legacy-monasca-persister-localrepo-upload
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/monasca-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+
+- project:
+    name: openstack/monasca-statsd
+    templates:
+      - merge-check
+      - openstack-python35-jobs
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-tempest-dsvm-monasca-python-mysql-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-monasca-java-mysql-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - openstack-tox-cover
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - openstack-tox-cover
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/monasca-thresh
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-monasca-thresh-maven-build
+        - legacy-tempest-dsvm-monasca-python-mysql-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-monasca-java-mysql-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - legacy-monasca-thresh-maven-build
+    post:
+      jobs:
+        - legacy-monasca-thresh-localrepo-upload
+
+- project:
+    name: openstack/monasca-transform
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-tempest-dsvm-monasca-transform-python-functional:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-monasca-transform-python35-functional:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - legacy-tempest-dsvm-monasca-transform-python-functional:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/monasca-ui
+    templates:
+      - merge-check
+      - openstack-python35-jobs-nonvoting
+      - translation-jobs
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    post:
+      jobs:
+        - openstack-tox-cover
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/monasca-vagrant
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/monitorstack
+    templates:
+      - merge-check
+      - check-requirements
+      - ansible-role-jobs
+      - ansible-role-functional-jobs-xenial
+    check:
+      jobs:
+        - legacy-monitorstack-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+        - legacy-ansible-func-centos-7:
+            voting: false
+    gate:
+      jobs:
+        - legacy-monitorstack-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/mors
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/mox3
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/murano
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - release-notes-jobs
+      - translation-jobs
+      - periodic-jobs-with-oslo-master
+      - install-guide-jobs
+      - api-ref-jobs
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+        - legacy-murano-congress-devstack-dsvm:
+            voting: false
+        - legacy-rally-dsvm-murano-task:
+            voting: false
+        - legacy-tempest-dsvm-murano-api:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-murano-cfapi:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - build-openstack-sphinx-docs:
+            branches: master
+            files:
+              - ^tox.ini$
+              - ^doc/source/first-app/.*
+              - bindep.txt
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-tempest-dsvm-murano-api:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - build-openstack-sphinx-docs:
+            branches: master
+            files:
+              - ^tox.ini$
+              - ^doc/source/first-app/.*
+              - bindep.txt
+              - ^.*requirements.txt$
+    experimental:
+      jobs:
+        - legacy-murano-dsvm-functional
+    post:
+      jobs:
+        - openstack-tox-cover
+        - legacy-murano-firstapp-docs:
+            branches: ^(?!bug/).*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/murano-agent
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/murano-apps
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-dsvm-murano-apps-refstackclient-unittest:
+            voting: false
+            files:
+              - RefStackClient/.*
+        - openstack-tox-linters:
+            voting: false
+    gate:
+      jobs:
+        - noop
+
+- project:
+    name: openstack/murano-dashboard
+    templates:
+      - merge-check
+      - check-requirements
+      - release-notes-jobs
+      - openstack-python35-jobs
+      - translation-jobs
+      - translation-jobs-ocata
+      - translation-jobs-pike
+      - nodejs4-jobs
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+        - openstack-tox-cover:
+            voting: false
+    experimental:
+      jobs:
+        - legacy-dashboard-dsvm-selenium-package:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/murano-deployment
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/murano-pkg-check
+    templates:
+      - check-requirements
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - translation-jobs
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/murano-plugin-networking-sfc
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/murano-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+
+- project:
+    name: openstack/murano-tempest-plugin
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/namos
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/nemesis
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/nerd-reviewer
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - docs-on-readthedocs
+    check:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/network-checker
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-6wind
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/networking-ale-omniswitch
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-arista
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-avaya
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/networking-bagpipe
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - check-requirements
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - periodic-jobs-with-neutron-lib-master
+    check:
+      jobs:
+        - openstack-tox-cover
+        - legacy-tempest-dsvm-networking-bagpipe:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-networking-bgpvpn-bagpipe:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-networking-bagpipe-dsvm-fullstack:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+    gate:
+      queue: networking-bagpipe
+      jobs:
+        - openstack-tox-cover
+        - legacy-tempest-dsvm-networking-bagpipe:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-networking-bgpvpn-bagpipe:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-baremetal
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-bgpvpn
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - check-requirements
+      - periodic-jobs-with-neutron-lib-master
+      - tripleo-scenario-jobs-scenario004
+    check:
+      jobs:
+        - legacy-tempest-dsvm-networking-bgpvpn-bagpipe:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - openstack-tox-cover
+        - legacy-networking-bgpvpn-dsvm-functional
+    gate:
+      queue: networking-bagpipe
+      jobs:
+        - legacy-tempest-dsvm-networking-bgpvpn-bagpipe:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - openstack-tox-cover
+        - legacy-networking-bgpvpn-dsvm-functional
+    experimental:
+      jobs:
+        - legacy-networking-bgpvpn-dsvm-install
+        - legacy-networking-bgpvpn-bagpipe-dsvm-install
+        - legacy-networking-bgpvpn-bagpipe-dsvm-functional
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-bigswitch
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python-jobs-trusty
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-brocade
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/networking-calico
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-tempest-dsvm-networking-calico:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - legacy-tempest-dsvm-networking-calico:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    periodic:
+      jobs:
+        - legacy-periodic-tempest-dsvm-networking-calico-master:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-cisco
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - docs-on-readthedocs
+    check:
+      jobs:
+        - openstack-tox-compare-cover:
+            voting: false
+        - legacy-networking-cisco-tox-newton
+        - legacy-networking-cisco-tox-ocata
+        - legacy-networking-cisco-tox-pike:
+            voting: false
+        - legacy-networking-cisco-tox-master:
+            voting: false
+    gate:
+      jobs:
+        - legacy-networking-cisco-tox-newton
+        - legacy-networking-cisco-tox-ocata
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-cumulus
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-dpm
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - docs-on-readthedocs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-edge-vpn
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/networking-extreme
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    gate:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+
+- project:
+    name: openstack/networking-fortinet
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-fujitsu
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-generic-switch
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-networking-generic-switch-dsvm-tempest
+        - legacy-tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode:
+            branches: ^stable/(newton|ocata).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+            voting: false
+        - legacy-tempest-dsvm-ironic-multitenant-network:
+            branches: ^stable/(newton|ocata).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      queue: ironic
+      jobs:
+        - legacy-networking-generic-switch-dsvm-tempest
+        - legacy-tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode:
+            branches: ^stable/(newton|ocata).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+            voting: false
+        - legacy-tempest-dsvm-ironic-multitenant-network:
+            branches: ^stable/(newton|ocata).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-gluon
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    gate:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+
+- project:
+    name: openstack/networking-h3c
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-hpe
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-huawei
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-hyperv
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-icc
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-infoblox
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-l2gw
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - tripleo-scenario-jobs-scenario004
+    check:
+      jobs:
+        - legacy-networking-l2gw-dsvm-tempest-api-dummy-driver:
+            voting: false
+    experimental:
+      jobs:
+        - legacy-networking-l2gw-dsvm-functional:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-lagopus
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-lenovo
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-midonet
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - periodic-jobs-with-neutron-lib-master
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - translation-jobs
+    check:
+      jobs:
+        - legacy-tempest-dsvm-networking-midonet-aio-v2:
+            branches: ^stable/(newton|ocata)
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^setup.cfg$
+              - ^specs/.*$
+        - legacy-tempest-dsvm-networking-midonet-aio-v2-full:
+            voting: false
+            branches: ^stable/ocata
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^setup.cfg$
+              - ^specs/.*$
+        - legacy-tempest-dsvm-networking-midonet-aio-ml2:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^setup.cfg$
+              - ^specs/.*$
+        - legacy-tempest-dsvm-networking-midonet-aio-ml2-full:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^setup.cfg$
+              - ^specs/.*$
+        - legacy-tempest-dsvm-networking-midonet-aio-ml2-full-legacy:
+            voting: false
+            branches: ^(?!stable/(newton|ocata|pike)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^setup.cfg$
+              - ^specs/.*$
+        - legacy-tempest-dsvm-networking-midonet-aio-ml2-centos-7:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^setup.cfg$
+              - ^specs/.*$
+        - legacy-tempest-dsvm-networking-midonet-aio-ml2-full-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^setup.cfg$
+              - ^specs/.*$
+        - openstack-tox-cover:
+            voting: false
+        - legacy-grenade-dsvm-networking-midonet-ml2:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^setup.cfg$
+              - ^specs/.*$
+        - legacy-grenade-dsvm-networking-midonet-v2:
+            branches: ^stable/pike$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^setup.cfg$
+              - ^specs/.*$
+        - legacy-networking-midonet-rally-dsvm-ml2:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^specs/.*$
+        - legacy-networking-midonet-rally-dsvm-v2:
+            branches: ^stable/ocata
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^specs/.*$
+    gate:
+      jobs:
+        - legacy-tempest-dsvm-networking-midonet-aio-v2:
+            branches: ^stable/(newton|ocata)
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^setup.cfg$
+              - ^specs/.*$
+        - legacy-tempest-dsvm-networking-midonet-aio-ml2:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^setup.cfg$
+              - ^specs/.*$
+        - legacy-tempest-dsvm-networking-midonet-aio-ml2-centos-7:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^setup.cfg$
+              - ^specs/.*$
+        - legacy-grenade-dsvm-networking-midonet-ml2:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^setup.cfg$
+              - ^specs/.*$
+        - legacy-grenade-dsvm-networking-midonet-v2:
+            branches: ^stable/pike$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^setup.cfg$
+              - ^specs/.*$
+        - legacy-networking-midonet-rally-dsvm-ml2:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^specs/.*$
+        - legacy-networking-midonet-rally-dsvm-v2:
+            branches: ^stable/ocata
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^specs/.*$
+    periodic:
+      jobs:
+        - legacy-periodic-tempest-dsvm-networking-midonet-aio-v2-newton:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^setup.cfg$
+              - ^specs/.*$
+        - legacy-periodic-tempest-dsvm-networking-midonet-aio-ml2-newton:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^setup.cfg$
+              - ^specs/.*$
+        - legacy-periodic-tempest-dsvm-networking-midonet-aio-v2-full-ocata:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^setup.cfg$
+              - ^specs/.*$
+        - legacy-periodic-tempest-dsvm-networking-midonet-aio-ml2-full-ocata:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^setup.cfg$
+              - ^specs/.*$
+    experimental:
+      jobs:
+        - legacy-tempest-dsvm-networking-midonet-multinode-ml2:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^midonet/neutron/tests/unit/.*$
+              - ^setup.cfg$
+              - ^specs/.*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-mlnx
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/networking-nec
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/networking-odl
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - periodic-jobs-with-neutron-lib-master
+      - publish-openstack-python-docs
+      - check-requirements
+      - release-notes-jobs
+      - translation-jobs
+    check:
+      jobs:
+        - legacy-grenade-dsvm-networking-odl:
+            voting: false
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-networking-odl-boron-snapshot-v2driver:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-networking-odl-carbon-snapshot-vpnservice-v2driver:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-networking-odl-nitrogen-snapshot-vpnservice-v2driver:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-networking-odl-multinode-carbon-snapshot:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-networking-odl-multinode-nitrogen-snapshot:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+        - legacy-rally-dsvm-networking-odl-carbon-snapshot:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-rally-dsvm-networking-odl-nitrogen-snapshot:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-dsvm-networking-odl-fullstack-carbon-snapshot:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-dsvm-networking-odl-functional-carbon-snapshot:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-dsvm-networking-odl-fullstack-nitrogen-snapshot:
+            branches: ^(?!stable/(newton|ocata|pike)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-dsvm-networking-odl-functional-nitrogen-snapshot:
+            branches: ^(?!stable/(newton|ocata|pike)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - openstack-tox-cover
+    gate:
+      jobs:
+        - legacy-rally-dsvm-networking-odl-carbon-snapshot:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-rally-dsvm-networking-odl-nitrogen-snapshot:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-dsvm-networking-odl-fullstack-carbon-snapshot:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-dsvm-networking-odl-functional-carbon-snapshot:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-dsvm-networking-odl-fullstack-nitrogen-snapshot:
+            branches: ^(?!stable/(newton|ocata|pike)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-dsvm-networking-odl-functional-nitrogen-snapshot:
+            branches: ^(?!stable/(newton|ocata|pike)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - openstack-tox-cover
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-onos
+    templates:
+      - check-requirements
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-tempest-dsvm-networking-onos:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-opencontrail
+    templates:
+      - check-requirements
+      - merge-check
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-ovn
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - translation-jobs
+      - check-requirements
+      - openstack-python35-jobs
+      - periodic-jobs-with-neutron-lib-master
+      - periodic-jobs-with-ovsdbapp-master
+      - tripleo-scenario-jobs-scenario007-nv
+    check:
+      jobs:
+        - legacy-tempest-dsvm-networking-ovn-ovs-master:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+              - ^vagrant/.*$
+        - legacy-tempest-dsvm-networking-ovn-ovs-release:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+              - ^vagrant/.*$
+        - legacy-rally-dsvm-networking-ovn:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^tools/.*$
+              - ^tox.ini$
+              - ^vagrant/.*$
+        - legacy-networking-ovn-dsvm-functional
+        - legacy-networking-ovn-dsvm-functional-py35:
+            branches: ^(?!stable/newton).*$
+        - legacy-install-dsvm-networking-ovn-kuryr:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^tools/.*$
+              - ^tox.ini$
+              - ^vagrant/.*$
+        - openstack-tox-cover:
+            voting: false
+        - legacy-tempest-dsvm-networking-ovn-neutron-api-ovs-release:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+              - ^vagrant/.*$
+    gate:
+      jobs:
+        - legacy-tempest-dsvm-networking-ovn-ovs-release:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+              - ^vagrant/.*$
+        - legacy-rally-dsvm-networking-ovn:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^tools/.*$
+              - ^tox.ini$
+              - ^vagrant/.*$
+        - legacy-networking-ovn-dsvm-functional
+        - legacy-networking-ovn-dsvm-functional-py35:
+            branches: ^(?!stable/newton).*$
+        - legacy-install-dsvm-networking-ovn-kuryr:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^tools/.*$
+              - ^tox.ini$
+              - ^vagrant/.*$
+    experimental:
+      jobs:
+        - legacy-tempest-dsvm-networking-ovn-ovs-master-python3:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+              - ^vagrant/.*$
+        - legacy-grenade-dsvm-networking-ovn:
+            voting: false
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+              - ^vagrant/.*$
+        - legacy-tempest-dsvm-networking-ovn-multinode:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+              - ^vagrant/.*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-ovs-dpdk
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    experimental:
+      jobs:
+        - legacy-tempest-dsvm-networking-ovs-dpdk:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+
+- project:
+    name: openstack/networking-peregrine
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-plumgrid
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-powervm
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - docs-on-readthedocs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-sfc
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - openstack-python35-jobs
+      - periodic-jobs-with-neutron-lib-master
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-networking-sfc-functional-dsvm
+        - legacy-tempest-dsvm-networking-sfc:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-networking-sfc-multinode:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - legacy-networking-sfc-functional-dsvm
+        - legacy-tempest-dsvm-networking-sfc:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    periodic:
+      jobs:
+        - legacy-periodic-tempest-dsvm-networking-sfc:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-vpp
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-networking-vpp-smoke:
+            voting: false
+
+- project:
+    name: openstack/networking-vsphere
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-zte
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/networking-zvm
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/neutron
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - release-openstack-server
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - periodic-jobs-with-oslo-master
+      - periodic-jobs-with-neutron-lib-master
+      - periodic-jobs-with-ovsdbapp-master
+      - check-requirements
+      - integrated-gate-py35
+      - translation-jobs
+      - translation-jobs-ocata
+      - experimental-tripleo-jobs
+      - release-notes-jobs
+    check:
+      jobs:
+        - openstack-tox-cover
+        - legacy-neutron-dsvm-api:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^releasenotes/.*$
+            voting: false
+        - legacy-neutron-dsvm-functional:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^releasenotes/.*$
+            voting: false
+        - legacy-neutron-dsvm-fullstack:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^releasenotes/.*$
+        - legacy-rally-dsvm-neutron-neutron:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-dvr:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-linuxbridge:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-grenade-dsvm-neutron-multinode:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-grenade-dsvm-neutron-dvr-multinode:
+            voting: false
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-multinode-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-dvr-ha-multinode-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-dvr-multinode-scenario:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-scenario-linuxbridge:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-ovsfw:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            voting: false
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tempest-dsvm-neutron-full:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+    gate:
+      queue: integrated
+      jobs:
+        - openstack-tox-cover
+        - legacy-neutron-dsvm-api:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^releasenotes/.*$
+            voting: false
+        - legacy-neutron-dsvm-functional:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^releasenotes/.*$
+            voting: false
+        - legacy-tempest-dsvm-neutron-dvr:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-linuxbridge:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-grenade-dsvm-neutron-multinode:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-full:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+    post:
+      jobs:
+        - openstack-tox-cover
+    experimental:
+      jobs:
+        - openstack-tox-py35:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^releasenotes/.*$
+        - openstack-tox-py35:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^releasenotes/.*$
+        - legacy-grenade-dsvm-neutron-linuxbridge-multinode:
+            voting: false
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-grenade-dsvm-neutron-forward:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-ipv6only:
+            voting: false
+            branches: master
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-serviceipv6:
+            voting: false
+            branches: master
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-neutron-dsvm-api-pecan
+        - legacy-tempest-dsvm-neutron-pg-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-pecan:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-full-centos-7:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-dvr-multinode-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-with-ryu-master:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-py35-neutron-neutron:
+            voting: false
+            branches: master
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-pg-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-full-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+    experimental-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    periodic:
+      jobs:
+        - legacy-periodic-tempest-dsvm-neutron-pg-full:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-periodic-neutron-dsvm-functional:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^releasenotes/.*$
+        - legacy-periodic-tempest-dsvm-neutron-with-ryu-master:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^neutron/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+
+- project:
+    name: openstack/neutron-classifier
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    gate:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+
+- project:
+    name: openstack/neutron-dynamic-routing
+    templates:
+      - check-requirements
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - periodic-jobs-with-neutron-lib-master
+    check:
+      jobs:
+        - legacy-neutron-dynamic-routing-dsvm-functional
+        - legacy-neutron-dynamic-routing-dsvm-tempest-api
+        - legacy-neutron-dynamic-routing-dsvm-tempest-scenario-ipv4:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-neutron-dynamic-routing-dsvm-tempest-scenario-ipv6:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-neutron-dynamic-routing-dsvm-tempest-scenario-basic:
+            voting: false
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-neutron-dynamic-routing-dsvm-functional
+        - legacy-neutron-dynamic-routing-dsvm-tempest-api
+    post:
+      jobs:
+        - openstack-tox-cover
+    experimental:
+      jobs:
+        - legacy-neutron-dynamic-routing-dsvm-tempest-with-ryu-master-scenario-ipv4:
+            voting: false
+    periodic:
+      jobs:
+        - legacy-periodic-neutron-dynamic-routing-dsvm-tempest-with-ryu-master-scenario-ipv4
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/neutron-fwaas
+    templates:
+      - check-requirements
+      - merge-check
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - release-notes-jobs
+      - translation-jobs
+      - publish-openstack-python-docs
+      - periodic-jobs-with-neutron-lib-master
+    check:
+      jobs:
+        - legacy-neutron-fwaas-v2-dsvm-tempest
+        - legacy-neutron-fwaas-v1-dsvm-tempest
+        - legacy-neutron-fwaas-dsvm-functional
+        - legacy-grenade-dsvm-neutron-fwaas-multinode:
+            voting: false
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-neutron-fwaas-v1-dsvm-tempest-multinode:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-neutron-fwaas-v2-dsvm-tempest-multinode:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-cross-networking-midonet-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-neutron-fwaas-v2-dsvm-tempest
+        - legacy-neutron-fwaas-v1-dsvm-tempest
+        - legacy-neutron-fwaas-dsvm-functional
+    experimental:
+      jobs:
+        - legacy-neutron-fwaas-dsvm-fullstack:
+            voting: false
+            branches: ^(?!stable/newton).*$
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/neutron-fwaas-dashboard
+    templates:
+      - check-requirements
+      - merge-check
+      - publish-openstack-python-docs
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - release-notes-jobs
+      - translation-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/neutron-lbaas
+    templates:
+      - check-requirements
+      - merge-check
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - release-notes-jobs
+      - translation-jobs
+    check:
+      jobs:
+        - legacy-neutron-lbaasv2-dsvm-api:
+            branches: ^(?!stable/newton).*$
+        - legacy-neutron-lbaasv2-dsvm-py3x-api:
+            branches: ^(?!stable)
+        - legacy-neutron-lbaasv2-dsvm-api-namespace
+        - legacy-neutron-lbaasv2-dsvm-py3x-api-namespace:
+            branches: ^(?!stable)
+        - legacy-neutron-lbaasv2-dsvm-minimal:
+            branches: ^stable/newton
+        - legacy-neutron-lbaasv2-dsvm-loadbalancer:
+            branches: ^stable/newton
+        - legacy-neutron-lbaasv2-dsvm-listener:
+            branches: ^stable/newton
+        - legacy-neutron-lbaasv2-dsvm-pool:
+            branches: ^stable/newton
+        - legacy-neutron-lbaasv2-dsvm-member:
+            branches: ^stable/newton
+        - legacy-neutron-lbaasv2-dsvm-healthmonitor:
+            branches: ^stable/newton
+        - legacy-neutron-lbaasv2-dsvm-scenario
+        - legacy-neutron-lbaasv2-dsvm-py3x-scenario:
+            branches: ^(?!stable)
+        - legacy-neutron-lbaasv2-dsvm-scenario-namespace
+        - legacy-neutron-lbaasv2-dsvm-py3x-scenario-namespace:
+            branches: ^(?!stable)
+    gate:
+      queue: neutron-lbaas
+      jobs:
+        - legacy-neutron-lbaasv2-dsvm-api:
+            branches: ^(?!stable/newton).*$
+        - legacy-neutron-lbaasv2-dsvm-minimal:
+            branches: ^stable/newton
+        - legacy-neutron-lbaasv2-dsvm-loadbalancer:
+            branches: ^stable/newton
+        - legacy-neutron-lbaasv2-dsvm-listener:
+            branches: ^stable/newton
+        - legacy-neutron-lbaasv2-dsvm-pool:
+            branches: ^stable/newton
+        - legacy-neutron-lbaasv2-dsvm-member:
+            branches: ^stable/newton
+        - legacy-neutron-lbaasv2-dsvm-healthmonitor:
+            branches: ^stable/newton
+        - legacy-neutron-lbaasv2-dsvm-py3x-api:
+            branches: ^(?!stable)
+        - legacy-neutron-lbaasv2-dsvm-api-namespace
+        - legacy-neutron-lbaasv2-dsvm-py3x-api-namespace:
+            branches: ^(?!stable)
+        - legacy-neutron-lbaasv2-dsvm-scenario
+        - legacy-neutron-lbaasv2-dsvm-py3x-scenario:
+            branches: ^(?!stable)
+        - legacy-neutron-lbaasv2-dsvm-scenario-namespace
+        - legacy-neutron-lbaasv2-dsvm-py3x-scenario-namespace:
+            branches: ^(?!stable)
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/neutron-lbaas-dashboard
+    templates:
+      - check-requirements
+      - merge-check
+      - openstack-python-jobs
+      - publish-openstack-python-docs
+      - translation-jobs
+      - translation-jobs-ocata
+      - translation-jobs-pike
+    check:
+      jobs:
+        - legacy-neutron-lbaas-dashboard-nodejs4-npm-run-lint
+        - legacy-neutron-lbaas-dashboard-nodejs4-npm-run-test
+    gate:
+      jobs:
+        - legacy-neutron-lbaas-dashboard-nodejs4-npm-run-lint
+        - legacy-neutron-lbaas-dashboard-nodejs4-npm-run-test
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/neutron-lib
+    templates:
+      - check-requirements
+      - merge-check
+      - publish-openstack-python-docs
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - lib-forward-testing
+      - translation-jobs
+      - api-ref-jobs
+      - release-notes-jobs
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/neutron-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/neutron-tempest-plugin
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/neutron-vpnaas
+    templates:
+      - check-requirements
+      - merge-check
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    check:
+      jobs:
+        - legacy-neutron-vpnaas-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+        - legacy-neutron-vpnaas-dsvm-functional-sswan:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron-vpnaas/tests/unit/.*$
+        - legacy-neutron-dsvm-tempest-vpnaas
+        - openstack-tox-cover:
+            voting: false
+    gate:
+      jobs:
+        - legacy-neutron-vpnaas-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+        - legacy-neutron-vpnaas-dsvm-functional-sswan:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron-vpnaas/tests/unit/.*$
+        - legacy-neutron-dsvm-tempest-vpnaas
+    experimental:
+      jobs:
+        - legacy-neutron-vpnaas-dsvm-rally:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron-vpnaas/tests/unit/.*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/neutron-vpnaas-dashboard
+    templates:
+      - check-requirements
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    check:
+      jobs:
+        - legacy-neutron-vpnaas-dashboard-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-neutron-vpnaas-dashboard-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/nfv-filters
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/nova
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - periodic-jobs-with-oslo-master
+      - publish-openstack-python-docs
+      - release-openstack-server
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - check-requirements
+      - integrated-gate-py35
+      - integrated-gate-nova-net
+      - translation-jobs
+      - translation-jobs-ocata
+      - experimental-tripleo-jobs
+      - release-notes-jobs
+      - api-guide-jobs
+      - api-ref-jobs
+    check:
+      jobs:
+        - legacy-nova-tox-functional:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-.*$
+              - ^doc/source/.*$
+              - ^nova/locale/.*$
+              - ^placement-api-ref/.*$
+              - ^releasenotes/.*$
+        - legacy-nova-tox-functional-py35:
+            branches: master
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-.*$
+              - ^doc/source/.*$
+              - ^nova/locale/.*$
+              - ^placement-api-ref/.*$
+              - ^releasenotes/.*$
+        - legacy-grenade-dsvm-neutron-multinode:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-grenade-dsvm-neutron-multinode-live-migration:
+            voting: false
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^api-.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^nova/tests/.*\.py$
+              - ^nova/tests/functional/.*$
+              - ^nova/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-cells:
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-full-devstack-plugin-ceph:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-linuxbridge:
+            irrelevant-files:
+              - ^(?!nova/network/.*)(?!nova/virt/libvirt/vif.py).*$
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-multinode-full:
+            voting: false
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-nova-next-full:
+            voting: false
+            branches: ^(stable/newton|master)$
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-multinode-live-migration:
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^api-.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^nova/tests/.*\.py$
+              - ^nova/tests/functional/.*$
+              - ^nova/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa:
+            voting: false
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-gate-placement-api-ref:
+            branches: master
+            files:
+              - ^tox.ini$
+              - ^placement-api-ref/.*
+        - legacy-tempest-dsvm-neutron-full:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+    gate:
+      queue: integrated
+      jobs:
+        - legacy-nova-tox-functional:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-.*$
+              - ^doc/source/.*$
+              - ^nova/locale/.*$
+              - ^placement-api-ref/.*$
+              - ^releasenotes/.*$
+        - legacy-nova-tox-functional-py35:
+            branches: master
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-.*$
+              - ^doc/source/.*$
+              - ^nova/locale/.*$
+              - ^placement-api-ref/.*$
+              - ^releasenotes/.*$
+        - legacy-tempest-dsvm-cells:
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-multinode-live-migration:
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^api-.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^nova/tests/.*\.py$
+              - ^nova/tests/functional/.*$
+              - ^nova/tests/unit/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-gate-placement-api-ref:
+            branches: master
+            files:
+              - ^tox.ini$
+              - ^placement-api-ref/.*
+        - legacy-tempest-dsvm-neutron-full:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+    post:
+      jobs:
+        - openstack-tox-cover
+        - legacy-placement-api-ref:
+            branches: master
+    experimental:
+      jobs:
+        - legacy-tempest-dsvm-nova-v20-api:
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-grenade-dsvm-neutron-nova-next:
+            voting: false
+            branches: ^stable/ocata$
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-nova-wsgi-full:
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-multinode-full:
+            voting: false
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-dvr-multinode-full:
+            voting: false
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-dvr-ha-multinode-full:
+            voting: false
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-scenario-multinode-lvm-multibackend:
+            voting: false
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-pxe_ipa-full:
+            voting: false
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-lxc:
+            branches: master
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-lvm:
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-src-oslo.versionedobjects:
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-nova-os-vif:
+            voting: false
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-nova-libvirt-kvm-apr:
+            voting: false
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-grenade-dsvm-neutron-multinode-zero-downtime:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-multitenant-network:
+            branches: ^stable/(newton|ocata).*$
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-ironic-ipa-resourceclasses-partition-pxe_ipmitool-tinyipa:
+            voting: false
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-full-devstack-plugin-nfs:
+            voting: false
+            branches: ^(?!driverfixes/).*
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-barbican-simple-crypto-dsvm-tempest-nova:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-tempest-dsvm-py35-full-devstack-plugin-ceph:
+            voting: false
+            branches: ^(?!(stable/(newton|ocata)|driverfixes/)).*$
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-pg-full:
+            voting: false
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-tempest-dsvm-neutron-full-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^(placement-)?api-.*$
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^.git.*$
+              - ^doc/.*$
+              - ^nova/hacking/.*$
+              - ^nova/locale/.*$
+              - ^nova/tests/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tests-py3.txt$
+              - ^tools/.*$
+              - ^tox.ini$
+
+- project:
+    name: openstack/nova-dpm
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - docs-on-readthedocs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-nova-dpm-tox-functional
+        - legacy-nova-dpm-tox-functional-py35
+    gate:
+      jobs:
+        - legacy-nova-dpm-tox-functional
+        - legacy-nova-dpm-tox-functional-py35
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/nova-fusioncompute
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    gate:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+
+- project:
+    name: openstack/nova-lxd
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-tempest-dsvm-lxd-ovs:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - legacy-tempest-dsvm-lxd-ovs:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    experimental:
+      jobs:
+        - legacy-tempest-dsvm-lxd-linuxbridge:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-openstack-ansible-os_nova-ansible-func_lxd:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/nova-mksproxy
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/nova-powervm
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - docs-on-readthedocs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/nova-solver-scheduler
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/nova-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/nova-zvm-virt-driver
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/novajoin
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/novajoin-tempest-plugin
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/oaktree
+    templates:
+      - merge-check
+      - publish-to-pypi-quietly
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-oaktree-dsvm-functional
+        - legacy-python35:
+            voting: false
+    gate:
+      queue: oaktree
+      jobs:
+        - legacy-oaktree-dsvm-functional
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/oaktreemodel
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-oaktree-dsvm-functional
+        - legacy-oaktreemodel-distcheck
+    gate:
+      queue: oaktree
+      jobs:
+        - legacy-oaktree-dsvm-functional
+        - legacy-oaktreemodel-distcheck
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/octavia
+    templates:
+      - check-requirements
+      - merge-check
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - periodic-jobs-with-oslo-master
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - translation-jobs
+      - api-ref-jobs
+    check:
+      jobs:
+        - legacy-neutron-lbaasv2-dsvm-minimal:
+            branches: ^stable/newton
+        - legacy-neutron-lbaasv2-dsvm-loadbalancer:
+            branches: ^stable/newton
+        - legacy-neutron-lbaasv2-dsvm-listener:
+            branches: ^stable/newton
+        - legacy-neutron-lbaasv2-dsvm-pool:
+            branches: ^stable/newton
+        - legacy-neutron-lbaasv2-dsvm-member:
+            branches: ^stable/newton
+        - legacy-neutron-lbaasv2-dsvm-healthmonitor:
+            branches: ^stable/newton
+        - openstack-tox-cover
+        - legacy-neutron-lbaasv2-dsvm-api:
+            branches: ^(?!stable/newton).*$
+        - legacy-neutron-lbaasv2-dsvm-py3x-api:
+            voting: false
+            branches: ^(?!stable)
+        - legacy-neutron-lbaasv2-dsvm-scenario:
+            voting: false
+        - legacy-neutron-lbaasv2-dsvm-py3x-scenario:
+            voting: false
+            branches: ^(?!stable)
+        - legacy-octavia-tox-functional:
+            branches: ^(?!stable/newton).*$
+        - legacy-octavia-tox-functional-py35:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-octavia-v1-dsvm-scenario:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+            voting: false
+        - legacy-octavia-v1-dsvm-py3x-scenario:
+            branches: ^(?!stable)
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+            voting: false
+        - legacy-octavia-v1-dsvm-scenario-multinode:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-octavia-v1-dsvm-py3x-scenario-multinode:
+            branches: ^(?!stable)
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-octavia-v1-dsvm-scenario-kvm-centos.7:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-octavia-v1-dsvm-scenario-lxd:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+    gate:
+      queue: neutron-lbaas
+      jobs:
+        - legacy-neutron-lbaasv2-dsvm-loadbalancer:
+            branches: ^stable/newton
+        - legacy-neutron-lbaasv2-dsvm-listener:
+            branches: ^stable/newton
+        - legacy-neutron-lbaasv2-dsvm-pool:
+            branches: ^stable/newton
+        - legacy-neutron-lbaasv2-dsvm-member:
+            branches: ^stable/newton
+        - legacy-neutron-lbaasv2-dsvm-healthmonitor:
+            branches: ^stable/newton
+        - openstack-tox-cover
+        - legacy-octavia-tox-functional:
+            branches: ^(?!stable/newton).*$
+        - legacy-octavia-tox-functional-py35:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-octavia-v1-dsvm-scenario:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+            voting: false
+        - legacy-octavia-v1-dsvm-py3x-scenario:
+            branches: ^(?!stable)
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+            voting: false
+        - legacy-octavia-v1-dsvm-scenario-multinode:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-octavia-v1-dsvm-py3x-scenario-multinode:
+            branches: ^(?!stable)
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-neutron-lbaasv2-dsvm-api:
+            branches: ^(?!stable/newton).*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/octavia-dashboard
+    templates:
+      - check-requirements
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - translation-jobs
+    check:
+      jobs:
+        - legacy-octavia-dashboard-nodejs4-npm-run-lint
+        - legacy-octavia-dashboard-nodejs4-npm-run-test
+    gate:
+      jobs:
+        - legacy-octavia-dashboard-nodejs4-npm-run-lint
+        - legacy-octavia-dashboard-nodejs4-npm-run-test
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/octavia-tempest-plugin
+    templates:
+      - merge-check
+      - check-requirements
+      - publish-openstack-python-docs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/omni
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-omni-tests
+    gate:
+      jobs:
+        - legacy-omni-tests
+
+- project:
+    name: openstack/ooi
+    templates:
+      - docs-on-readthedocs
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    check:
+      jobs:
+        - legacy-ooi-tox-functional
+    gate:
+      jobs:
+        - legacy-ooi-tox-functional
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/opencafe
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/openstack
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/openstack-ansible
+    templates:
+      - merge-check
+      - check-requirements
+      - publish-openstack-python-docs
+      - deploy-guide-jobs
+      - ansible-role-jobs
+    check:
+      jobs:
+        - legacy-openstack-ansible-openstack-ansible-aio-ubuntu-trusty:
+            branches: ^stable/newton$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-openstack-ansible-aio:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-openstack-ansible-aio:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-openstack-ansible-ceph:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-openstack-ansible-ceph-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-openstack-ansible-aio-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-openstack-ansible-aio-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-openstack-ansible-openstack-ansible-aio-ubuntu-trusty:
+            branches: ^stable/newton$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-openstack-ansible-aio:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-openstack-ansible-ceph:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    experimental:
+      jobs:
+        - legacy-openstack-ansible-openstack-ansible-ceph-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-openstack-ansible-aio-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-openstack-ansible-octavia:
+            voting: false
+            branches: ^(?!stable/newton|ocata).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+    release:
+      jobs:
+        - legacy-openstack-ansible-announce-release
+    periodic:
+      jobs:
+        - legacy-periodic-openstack-ansible-deploy-aio-master-centos-7
+        - legacy-periodic-openstack-ansible-deploy-aio-master-opensuse-423
+        - legacy-periodic-openstack-ansible-deploy-aio-master
+        - legacy-periodic-openstack-ansible-deploy-aio-ocata-centos-7
+        - legacy-periodic-openstack-ansible-deploy-aio-ocata
+        - legacy-periodic-openstack-ansible-deploy-aio-pike-centos-7
+        - legacy-periodic-openstack-ansible-deploy-aio-pike-opensuse-423
+        - legacy-periodic-openstack-ansible-deploy-aio-pike
+        - legacy-periodic-openstack-ansible-deploy-ceph-master-centos-7
+        - legacy-periodic-openstack-ansible-deploy-ceph-master
+        - legacy-periodic-openstack-ansible-deploy-ceph-ocata-centos-7
+        - legacy-periodic-openstack-ansible-deploy-ceph-ocata
+        - legacy-periodic-openstack-ansible-deploy-ceph-pike-centos-7
+        - legacy-periodic-openstack-ansible-deploy-ceph-pike
+        - legacy-periodic-openstack-ansible-deploy-translations-master
+        - legacy-periodic-openstack-ansible-upgrade-aio-master-centos-7
+        - legacy-periodic-openstack-ansible-upgrade-aio-master
+        - legacy-periodic-openstack-ansible-upgrade-aio-ocata
+        - legacy-periodic-openstack-ansible-upgrade-aio-pike-centos-7
+        - legacy-periodic-openstack-ansible-upgrade-aio-pike
+        - legacy-periodic-openstack-ansible-upgrade-ceph-master-centos-7
+        - legacy-periodic-openstack-ansible-upgrade-ceph-master
+        - legacy-periodic-openstack-ansible-upgrade-ceph-pike-centos-7
+        - legacy-periodic-openstack-ansible-upgrade-ceph-pike
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-ansible-apt_package_pinning
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-ansible-ceph_client
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-galera_client
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-galera_server
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    release:
+      jobs:
+        - legacy-openstack-ansible-galera_server-announce-release
+    check:
+      jobs:
+        - legacy-openstack-ansible-galera_server-ansible-ssl-centos-7:
+            voting: false
+            branches: ^(?!stable/newton|ocata).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-galera_server-ansible-ssl:
+            voting: false
+            branches: ^(?!stable/newton|ocata).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-galera_server-ansible-upgrade-centos-7:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-galera_server-ansible-upgrade:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-openstack-ansible-galera_server-ansible-upgrade-centos-7:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-galera_server-ansible-upgrade:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-haproxy_server
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    release:
+      jobs:
+        - legacy-openstack-ansible-haproxy_server-announce-release
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-lxc_container_create
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-lxc_hosts
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-memcached_server
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    release:
+      jobs:
+        - legacy-openstack-ansible-memcached_server-announce-release
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-openstack_hosts
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-openstack_openrc
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-ops
+    templates:
+      - merge-check
+      - check-requirements
+      - publish-openstack-python-docs
+      - ansible-role-jobs
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-ansible-os_almanach
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - ansible-role-functional-jobs-xenial
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_almanach-announce-release
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-ansible-os_aodh
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_aodh-announce-release
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-os_barbican
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+    experimental:
+      jobs:
+        - legacy-openstack-ansible-os_barbican-ansible-func-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_barbican-ansible-func-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_barbican-announce-release
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-ansible-os_ceilometer
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    check:
+      jobs:
+        - legacy-openstack-ansible-os_ceilometer-ansible-gnocchi-ubuntu-trusty:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_ceilometer-ansible-gnocchi:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_ceilometer-ansible-gnocchi-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_ceilometer-announce-release
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-os_cinder
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    check:
+      jobs:
+        - legacy-openstack-ansible-os_cinder-ansible-upgrade:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-openstack-ansible-os_cinder-ansible-upgrade:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_cinder-announce-release
+
+- project:
+    name: openstack/openstack-ansible-os_cloudkitty
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+    experimental:
+      jobs:
+        - legacy-openstack-ansible-os_cloudkitty-ansible-func-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_cloudkitty-ansible-func-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_cloudkitty-announce-release
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-ansible-os_designate
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_designate-announce-release
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-os_freezer
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-xenial
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_freezer-announce-release
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-os_glance
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    check:
+      jobs:
+        - legacy-openstack-ansible-os_glance-ansible-upgrade:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    experimental:
+      jobs:
+        - legacy-openstack-ansible-os_glance-ansible-upgrade-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+    gate:
+      jobs:
+        - legacy-openstack-ansible-os_glance-ansible-upgrade:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_glance-announce-release
+
+- project:
+    name: openstack/openstack-ansible-os_gnocchi
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_gnocchi-announce-release
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-os_heat
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_heat-announce-release
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-os_horizon
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_horizon-announce-release
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-os_ironic
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+    experimental:
+      jobs:
+        - legacy-openstack-ansible-os_ironic-ansible-func-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_ironic-ansible-func-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_ironic-announce-release
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-ansible-os_karbor
+    templates:
+      - merge-check
+      - check-requirements
+      - ansible-role-jobs
+      - publish-openstack-python-docs
+      - ansible-role-functional-jobs-xenial
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-ansible-os_keystone
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    check:
+      jobs:
+        - legacy-openstack-ansible-os_keystone-ansible-uw_apache-centos-7:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_keystone-ansible-uw_apache-ubuntu-trusty:
+            branches: ^stable/newton$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_keystone-ansible-uw_apache:
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_keystone-ansible-uw_nginx-centos-7:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_keystone-ansible-uw_nginx-ubuntu-trusty:
+            branches: ^stable/newton$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_keystone-ansible-uw_nginx:
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_keystone-ansible-upgrade:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+            voting: false
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    experimental:
+      jobs:
+        - legacy-openstack-ansible-os_keystone-ansible-upgrade-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+    gate:
+      jobs:
+        - legacy-openstack-ansible-os_keystone-ansible-uw_apache-centos-7:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_keystone-ansible-uw_apache-ubuntu-trusty:
+            branches: ^stable/newton$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_keystone-ansible-uw_apache:
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_keystone-ansible-uw_nginx-centos-7:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_keystone-ansible-uw_nginx-ubuntu-trusty:
+            branches: ^stable/newton$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_keystone-ansible-uw_nginx:
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_keystone-ansible-upgrade:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+            voting: false
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_keystone-announce-release
+
+- project:
+    name: openstack/openstack-ansible-os_magnum
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+    experimental:
+      jobs:
+        - legacy-openstack-ansible-os_magnum-ansible-func-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_magnum-ansible-func-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_magnum-announce-release
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-ansible-os_molteniron
+    templates:
+      - merge-check
+      - check-requirements
+      - ansible-role-jobs
+      - publish-openstack-python-docs
+      - ansible-role-functional-jobs-xenial
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-ansible-os_monasca
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+    experimental:
+      jobs:
+        - legacy-openstack-ansible-os_monasca-ansible-func-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_monasca-ansible-func-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_monasca-announce-release
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-ansible-os_monasca-agent
+    templates:
+      - merge-check
+      - check-requirements
+      - ansible-role-jobs
+      - publish-openstack-python-docs
+      - ansible-role-functional-jobs-xenial
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-ansible-os_monasca-ui
+    templates:
+      - merge-check
+      - check-requirements
+      - ansible-role-jobs
+      - publish-openstack-python-docs
+      - ansible-role-functional-jobs-xenial
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-ansible-os_neutron
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    check:
+      jobs:
+        - legacy-openstack-ansible-os_neutron-ansible-calico:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_neutron-ansible-func_ovs-ubuntu-trusty:
+            branches: ^stable/newton$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_neutron-ansible-func_ovs:
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_neutron-ansible-upgrade:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-openstack-ansible-os_neutron-ansible-calico:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_neutron-ansible-func_ovs-ubuntu-trusty:
+            branches: ^stable/newton$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_neutron-ansible-func_ovs:
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_neutron-ansible-upgrade:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    experimental:
+      jobs:
+        - legacy-openstack-ansible-os_neutron-ansible-dragonflow:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_neutron-announce-release
+
+- project:
+    name: openstack/openstack-ansible-os_nova
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    check:
+      jobs:
+        - legacy-openstack-ansible-os_nova-ansible-func_lxd-ubuntu-trusty:
+            branches: ^stable/newton$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_nova-ansible-func_lxd:
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+            voting: false
+        - legacy-openstack-ansible-os_nova-ansible-upgrade:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-ansible-func-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-openstack-ansible-os_nova-ansible-func_lxd-ubuntu-trusty:
+            branches: ^stable/newton$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_nova-ansible-func_lxd:
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+            voting: false
+        - legacy-openstack-ansible-os_nova-ansible-upgrade:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_nova-announce-release
+
+- project:
+    name: openstack/openstack-ansible-os_octavia
+    templates:
+      - merge-check
+      - check-requirements
+      - ansible-role-jobs
+      - publish-openstack-python-docs
+      - ansible-role-functional-jobs-xenial
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-ansible-os_rally
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+    experimental:
+      jobs:
+        - legacy-openstack-ansible-os_rally-ansible-func-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_rally-ansible-func-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_rally-announce-release
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-ansible-os_sahara
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    experimental:
+      jobs:
+        - legacy-openstack-ansible-os_sahara-ansible-func-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_sahara-ansible-func-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_sahara-announce-release
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-os_searchlight
+    templates:
+      - merge-check
+      - check-requirements
+      - ansible-role-jobs
+      - publish-openstack-python-docs
+      - ansible-role-functional-jobs-xenial
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-ansible-os_swift
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    check:
+      jobs:
+        - legacy-openstack-ansible-os_swift-ansible-multi_reg-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_swift-ansible-multi_reg-ubuntu-trusty:
+            voting: false
+            branches: ^stable/newton$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_swift-ansible-multi_reg:
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_swift-ansible-upgrade:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    experimental:
+      jobs:
+        - legacy-openstack-ansible-os_swift-ansible-func_pypy-ubuntu-trusty:
+            voting: false
+            branches: ^stable/newton$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_swift-ansible-func_pypy:
+            voting: false
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_swift-ansible-upgrade-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+    gate:
+      jobs:
+        - legacy-openstack-ansible-os_swift-ansible-multi_reg:
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_swift-ansible-upgrade:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_swift-announce-release
+
+- project:
+    name: openstack/openstack-ansible-os_tacker
+    templates:
+      - merge-check
+      - check-requirements
+      - ansible-role-jobs
+      - publish-openstack-python-docs
+      - ansible-role-functional-jobs-xenial
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-ansible-os_tempest
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-os_trove
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+    experimental:
+      jobs:
+        - legacy-openstack-ansible-os_trove-ansible-func-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_trove-ansible-func-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_trove-announce-release
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-ansible-os_watcher
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+    experimental:
+      jobs:
+        - legacy-openstack-ansible-os_watcher-ansible-func-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_watcher-ansible-func-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_watcher-announce-release
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-ansible-os_zaqar
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+    experimental:
+      jobs:
+        - legacy-openstack-ansible-os_zaqar-ansible-func-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-os_zaqar-ansible-func-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+    release:
+      jobs:
+        - legacy-openstack-ansible-os_zaqar-announce-release
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-ansible-pip_install
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-pip_lock_down
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial-nv
+    experimental:
+      jobs:
+        - legacy-openstack-ansible-pip_lock_down-ansible-func-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-ansible-plugins
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    experimental:
+      jobs:
+        - legacy-openstack-ansible-plugins-ansible-func_py3:
+            voting: false
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+        - legacy-openstack-ansible-plugins-ansible-func_py3-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.(example|md|rst)$
+              - ^Vagrantfile
+              - ^\.git.*
+              - ^deploy-guide/.*
+              - ^doc/.*
+              - ^releasenotes/.*
+              - ^setup\.(cfg|py)$
+              - ^tox.ini$
+    release:
+      jobs:
+        - legacy-openstack-ansible-plugins-announce-release
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-rabbitmq_server
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    release:
+      jobs:
+        - legacy-openstack-ansible-rabbitmq_server-announce-release
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-repo_build
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-repo_server
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-rsyslog_client
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-rsyslog_server
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    release:
+      jobs:
+        - legacy-openstack-ansible-rsyslog_server-announce-release
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-ansible-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    gate:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+
+- project:
+    name: openstack/openstack-ansible-tests
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - ansible-role-functional-jobs-trusty
+      - ansible-role-functional-jobs-xenial
+      - ansible-role-functional-jobs-opensuse-423
+    post:
+      jobs:
+        - propose-updates:
+            vars:
+              update_target: openstack-ansible-tests
+    check:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-ansible-func-centos-7:
+            branches: ^(?!stable/newton).*$
+
+- project:
+    name: openstack/openstack-chef-repo
+    templates:
+      - merge-check
+      - chef-rake-jobs
+
+- project:
+    name: openstack/openstack-chef-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+
+- project:
+    name: openstack/openstack-doc-tools
+    templates:
+      - merge-check
+      - check-requirements
+      - release-notes-jobs
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/openstack-health
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - nodejs4-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/openstack-helm
+    templates:
+      - merge-check
+      - docs-on-readthedocs
+    check:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+        - legacy-openstack-helm-nocluster-linter-ovs-rbd
+        - legacy-openstack-helm-aio-basic-ovs-rbd:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-openstack-helm-aio-basic-ovs-swift:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-openstack-helm-aio-basic-ovs-radosgw:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-openstack-helm-aio-basic-ovs-pvc:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-openstack-helm-aio-basic-linuxbridge-rbd:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-openstack-helm-aio-basic-ovs-rbd-centos-7:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-openstack-helm-aio-basic-ovs-rbd-fedora-26:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-openstack-helm-multi-basic-ovs-rbd-ubuntu-xenial-3-node:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-openstack-helm-multi-basic-linuxbridge-rbd-ubuntu-xenial-3-node:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-openstack-helm-multi-armada-ovs-rbd-ubuntu-xenial-3-node:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+    gate:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+        - legacy-openstack-helm-nocluster-linter-ovs-rbd
+
+- project:
+    name: openstack/openstack-helm-addons
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-openstack-helm-addons-nocluster-linter-ovs-rbd
+        - legacy-openstack-helm-addons-multi-basic-ovs-rbd-ubuntu-xenial-3-node:
+            voting: false
+    gate:
+      jobs:
+        - legacy-openstack-helm-addons-nocluster-linter-ovs-rbd
+
+- project:
+    name: openstack/openstack-helm-infra
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-openstack-helm-infra-nocluster-linter-ovs-rbd
+        - legacy-openstack-helm-infra-aio-basic-ovs-rbd:
+            voting: false
+        - legacy-openstack-helm-infra-aio-basic-ovs-rbd-centos-7:
+            voting: false
+        - legacy-openstack-helm-infra-aio-basic-ovs-rbd-fedora-26:
+            voting: false
+    gate:
+      jobs:
+        - legacy-openstack-helm-infra-nocluster-linter-ovs-rbd
+
+- project:
+    name: openstack/openstack-manuals
+    templates:
+      - merge-check
+      - openstack-doc-rst-gate
+      - openstack-doc-translation
+      - translation-jobs-ocata
+    post:
+      jobs:
+        - legacy-openstack-manuals-tox-doc-publishdocs
+        - propose-updates:
+            vars:
+              update_target: openstack-manuals
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/openstack-mentoring-scripts
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/openstack-planet
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-openstack-planet-unittest
+    gate:
+      jobs:
+        - legacy-openstack-planet-unittest
+
+- project:
+    name: openstack/openstack-resource-agents
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/openstack-resource-agents-specs
+    templates:
+      - merge-check
+      - build-only-specs-jobs
+
+- project:
+    name: openstack/openstack-spaceport
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/openstack-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+
+- project:
+    name: openstack/openstack-ux
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+
+- project:
+    name: openstack/openstackclient
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/openstackdocstheme
+    templates:
+      - merge-check
+      - check-requirements
+      - release-notes-jobs
+      - publish-openstack-python-docs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+        - legacy-openstackdocstheme-api-ref:
+            branches: master
+            files:
+              - ^tox.ini$
+              - ^api-ref/.*
+              - ^doc/.*$
+              - ^openstackdocstheme/.*$
+              - ^.*\.txt$
+              - ^.*\.rst$
+        - legacy-openstackdocstheme-tox-doc-publish-buildpdf
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+        - legacy-openstackdocstheme-api-ref:
+            branches: master
+            files:
+              - ^tox.ini$
+              - ^api-ref/.*
+              - ^doc/.*$
+              - ^openstackdocstheme/.*$
+              - ^.*\.txt$
+              - ^.*\.rst$
+        - legacy-openstackdocstheme-tox-doc-publish-buildpdf
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/ops-tags-team
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/ops-telecom-nfv
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/os-api-ref
+    templates:
+      - merge-check
+      - check-requirements
+      - publish-openstack-python-docs
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-nova-api-ref-src: {}
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/os-apply-config
+    templates:
+      - merge-check
+      - check-requirements
+      - publish-to-pypi
+      - openstack-python35-jobs
+      - experimental-tripleo-jobs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - openstack-tox-cover:
+            voting: false
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-undercloud-containers:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-containers-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    experimental:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario005-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/pacemaker.*$
+              - ^manifests/pacemaker/.*$
+              - ^manifests/profile/pacemaker.*$
+              - manifests/profile/base/pacemaker.pp
+              - ci/environments/scenario005-multinode.yaml
+              - ci/pingtests/scenario005-multinode.yaml
+              - config/general_config/featureset009.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario006-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/kubernetes.*$
+              - ^environments/kubernetes.*$
+              - ci/environments/scenario006-multinode.yaml
+              - ci/pingtests/scenario006-multinode.yaml
+              - config/general_config/featureset026.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario008-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^environments/.*opendaylight.*$
+              - ^puppet/services/.*opendaylight.*$
+              - manifests/profile/base/neutron/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ml2/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ovs/opendaylight.pp
+              - ^manifests/profile/base/neutron/opendaylight/.*$
+              - ci/environments/scenario008-multinode.yaml
+              - ci/pingtests/scenario008-multinode.yaml
+              - config/general_config/featureset031.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq-container:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode-containers.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^(docker|puppet)/services/.*ovn.*$
+              - ^manifests/profile/pacemaker/ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset030.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario009-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/openshift.*$
+              - ^environments/openshift.*$
+              - ci/environments/scenario009-multinode.yaml
+              - ci/pingtests/scenario009-multinode.yaml
+              - config/general_config/featureset033.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/os-brick
+    templates:
+      - check-requirements
+      - merge-check
+      - publish-openstack-python-docs
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - lib-forward-testing
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-tempest-dsvm-full-ceph-plugin-src-os-brick:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-full-lio-src-os-brick:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - legacy-tempest-dsvm-full-lio-src-os-brick:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    experimental:
+      jobs:
+        - legacy-os-brick-pylint:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/os-client-config
+    templates:
+      - check-requirements
+      - merge-check
+      - publish-openstack-python-docs
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - openstack-pypy-jobs-nonvoting
+      - lib-forward-testing
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-shade-functional-legacy-libs:
+            voting: false
+        - legacy-shade-functional-libs:
+            voting: false
+        - legacy-osc-dsvm-functional-tips:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/os-collect-config
+    templates:
+      - merge-check
+      - check-requirements
+      - publish-to-pypi
+      - openstack-python35-jobs
+      - experimental-tripleo-jobs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - openstack-tox-cover:
+            voting: false
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-undercloud-containers:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-containers-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    experimental:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario005-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/pacemaker.*$
+              - ^manifests/pacemaker/.*$
+              - ^manifests/profile/pacemaker.*$
+              - manifests/profile/base/pacemaker.pp
+              - ci/environments/scenario005-multinode.yaml
+              - ci/pingtests/scenario005-multinode.yaml
+              - config/general_config/featureset009.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario006-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/kubernetes.*$
+              - ^environments/kubernetes.*$
+              - ci/environments/scenario006-multinode.yaml
+              - ci/pingtests/scenario006-multinode.yaml
+              - config/general_config/featureset026.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario008-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^environments/.*opendaylight.*$
+              - ^puppet/services/.*opendaylight.*$
+              - manifests/profile/base/neutron/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ml2/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ovs/opendaylight.pp
+              - ^manifests/profile/base/neutron/opendaylight/.*$
+              - ci/environments/scenario008-multinode.yaml
+              - ci/pingtests/scenario008-multinode.yaml
+              - config/general_config/featureset031.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq-container:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode-containers.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^(docker|puppet)/services/.*ovn.*$
+              - ^manifests/profile/pacemaker/ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset030.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario009-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/openshift.*$
+              - ^environments/openshift.*$
+              - ci/environments/scenario009-multinode.yaml
+              - ci/pingtests/scenario009-multinode.yaml
+              - config/general_config/featureset033.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/os-dpm
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/os-faults
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - docs-on-readthedocs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/os-log-merger
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/os-namos
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/os-net-config
+    templates:
+      - merge-check
+      - check-requirements
+      - publish-to-pypi
+      - experimental-tripleo-jobs
+      - openstack-python35-jobs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - openstack-tox-cover:
+            voting: false
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-undercloud-containers:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-containers-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    experimental:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario005-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/pacemaker.*$
+              - ^manifests/pacemaker/.*$
+              - ^manifests/profile/pacemaker.*$
+              - manifests/profile/base/pacemaker.pp
+              - ci/environments/scenario005-multinode.yaml
+              - ci/pingtests/scenario005-multinode.yaml
+              - config/general_config/featureset009.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario006-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/kubernetes.*$
+              - ^environments/kubernetes.*$
+              - ci/environments/scenario006-multinode.yaml
+              - ci/pingtests/scenario006-multinode.yaml
+              - config/general_config/featureset026.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario008-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^environments/.*opendaylight.*$
+              - ^puppet/services/.*opendaylight.*$
+              - manifests/profile/base/neutron/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ml2/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ovs/opendaylight.pp
+              - ^manifests/profile/base/neutron/opendaylight/.*$
+              - ci/environments/scenario008-multinode.yaml
+              - ci/pingtests/scenario008-multinode.yaml
+              - config/general_config/featureset031.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq-container:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode-containers.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^(docker|puppet)/services/.*ovn.*$
+              - ^manifests/profile/pacemaker/ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset030.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario009-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/openshift.*$
+              - ^environments/openshift.*$
+              - ci/environments/scenario009-multinode.yaml
+              - ci/pingtests/scenario009-multinode.yaml
+              - config/general_config/featureset033.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/os-performance-tools
+    templates:
+      - merge-check
+      - check-requirements
+      - publish-openstack-python-docs
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/os-refresh-config
+    templates:
+      - merge-check
+      - check-requirements
+      - publish-to-pypi
+      - openstack-python35-jobs
+      - experimental-tripleo-jobs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - openstack-tox-cover:
+            voting: false
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-undercloud-containers:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-containers-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    experimental:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario005-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/pacemaker.*$
+              - ^manifests/pacemaker/.*$
+              - ^manifests/profile/pacemaker.*$
+              - manifests/profile/base/pacemaker.pp
+              - ci/environments/scenario005-multinode.yaml
+              - ci/pingtests/scenario005-multinode.yaml
+              - config/general_config/featureset009.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario006-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/kubernetes.*$
+              - ^environments/kubernetes.*$
+              - ci/environments/scenario006-multinode.yaml
+              - ci/pingtests/scenario006-multinode.yaml
+              - config/general_config/featureset026.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario008-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^environments/.*opendaylight.*$
+              - ^puppet/services/.*opendaylight.*$
+              - manifests/profile/base/neutron/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ml2/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ovs/opendaylight.pp
+              - ^manifests/profile/base/neutron/opendaylight/.*$
+              - ci/environments/scenario008-multinode.yaml
+              - ci/pingtests/scenario008-multinode.yaml
+              - config/general_config/featureset031.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq-container:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode-containers.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^(docker|puppet)/services/.*ovn.*$
+              - ^manifests/profile/pacemaker/ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset030.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario009-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/openshift.*$
+              - ^environments/openshift.*$
+              - ci/environments/scenario009-multinode.yaml
+              - ci/pingtests/scenario009-multinode.yaml
+              - config/general_config/featureset033.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/os-service-types
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/os-testr
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/os-traits
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - openstack-python35-jobs
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/os-vif
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - openstack-python35-jobs
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-tempest-dsvm-nova-os-vif:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/os-win
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/os-xenapi
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/osc-lib
+    templates:
+      - check-requirements
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - openstack-pypy-jobs-nonvoting
+      - lib-forward-testing
+      - publish-openstack-python-docs
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            voting: false
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-osc-dsvm-functional-tips:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/osc-placement
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+    check:
+      jobs:
+        - legacy-osc-placement-dsvm-functional:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/oslo-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+
+- project:
+    name: openstack/oslo.cache
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - translation-jobs
+      - openstack-python35-jobs
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/oslo.concurrency
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - openstack-python35-jobs
+      - translation-jobs
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/oslo.config
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/oslo.context
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/oslo.db
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - translation-jobs
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    check:
+      jobs:
+        - legacy-oslo.db-tox-mysql-python
+    gate:
+      jobs:
+        - legacy-oslo.db-tox-mysql-python
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/oslo.i18n
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - translation-jobs
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/oslo.log
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - translation-jobs
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    check:
+      jobs:
+        - legacy-oslo.log-src-grenade-dsvm:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/oslo.messaging
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - translation-jobs
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    check:
+      jobs:
+        - legacy-oslo.messaging-tox-py27-func-amqp1:
+            branches: ^(?!stable/newton).*$
+        - legacy-oslo.messaging-tox-py27-func-kafka:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-oslo.messaging-tox-py27-func-pika:
+            branches: ^(?!stable/newton).*$
+        - legacy-oslo.messaging-tox-py27-func-rabbit:
+            branches: ^(?!stable/newton).*$
+        - legacy-oslo.messaging-tox-py27-func-zmq-proxy:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-oslo.messaging-tox-py27-func-zmq-pubsub:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-oslo.messaging-tox-py27-func-zmq:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-oslo.messaging-tox-py35-func-amqp1:
+            branches: ^(?!stable/newton).*$
+        - legacy-oslo.messaging-tox-py35-func-rabbit:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-oslo.messaging-tox-py35-func-zmq:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-oslo.messaging-src-dsvm-full-amqp1-hybrid:
+            voting: false
+            branches: ^(?!stable/(?:newton|ocata)).*$
+        - legacy-oslo.messaging-src-dsvm-full-amqp1-dual-centos-7:
+            voting: false
+            branches: ^(?!stable/(?:newton|ocata)).*$
+        - legacy-oslo.messaging-src-dsvm-full-kafka-default-centos-7:
+            voting: false
+        - legacy-oslo.messaging-src-dsvm-full-kafka-default:
+            voting: false
+        - legacy-oslo.messaging-src-dsvm-full-pika-default:
+            voting: false
+        - legacy-oslo.messaging-src-dsvm-full-zmq-default:
+            voting: false
+        - legacy-oslo.messaging-src-grenade-dsvm:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-oslo.messaging-src-grenade-dsvm-multinode:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-telemetry-dsvm-integration-oslo.messaging
+        - legacy-oslo.messaging-telemetry-dsvm-integration-amqp1:
+            voting: false
+        - legacy-oslo.messaging-telemetry-dsvm-integration-kafka:
+            voting: false
+        - legacy-oslo.messaging-telemetry-dsvm-integration-pika:
+            voting: false
+        - legacy-oslo.messaging-telemetry-dsvm-integration-zmq:
+            voting: false
+        - legacy-tempest-neutron-dsvm-src-oslo.messaging-amqp1-hybrid:
+            voting: false
+            branches: ^(?!stable/(?:newton|ocata)).*$
+        - legacy-tempest-neutron-dsvm-src-oslo.messaging-kafka-default:
+            voting: false
+        - legacy-tempest-neutron-dsvm-src-oslo.messaging-pika-default:
+            voting: false
+        - legacy-tempest-neutron-dsvm-src-oslo.messaging-zmq-default:
+            voting: false
+    gate:
+      jobs:
+        - legacy-oslo.messaging-tox-py27-func-rabbit:
+            branches: ^(?!stable/newton).*$
+        - legacy-oslo.messaging-tox-py27-func-pika:
+            branches: ^(?!stable/newton).*$
+        - legacy-oslo.messaging-tox-py27-func-amqp1:
+            branches: ^(?!stable/newton).*$
+        - legacy-oslo.messaging-tox-py35-func-amqp1:
+            branches: ^(?!stable/newton).*$
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/oslo.middleware
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - openstack-pypy-jobs-nonvoting
+      - translation-jobs
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/oslo.policy
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - translation-jobs
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/oslo.privsep
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - translation-jobs
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/oslo.reports
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - translation-jobs
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/oslo.rootwrap
+    templates:
+      - merge-check
+      - publish-openstack-python-docs
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/oslo.serialization
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/oslo.service
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs-nonvoting
+      - publish-openstack-python-docs
+      - check-requirements
+      - translation-jobs
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/oslo.tools
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/oslo.utils
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - translation-jobs
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/oslo.versionedobjects
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - translation-jobs
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    check:
+      jobs:
+        - legacy-oslo.versionedobjects-src-grenade-dsvm-multinode:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/oslo.vmware
+    templates:
+      - merge-check
+      - openstack-python35-jobs
+      - openstack-python-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - translation-jobs
+      - lib-forward-testing
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/oslosphinx
+    templates:
+      - merge-check
+      - publish-openstack-python-docs
+      - check-requirements
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/oslotest
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - openstack-pypy-jobs-nonvoting
+      - publish-openstack-python-docs
+      - check-requirements
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/osops-coda
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/osops-example-configs
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/osops-tools-contrib
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/osops-tools-generic
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-bashate
+    gate:
+      jobs:
+        - openstack-tox-bashate
+
+- project:
+    name: openstack/osops-tools-logging
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/osops-tools-monitoring
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/osprofiler
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - lib-forward-testing
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    check:
+      jobs:
+        - openstack-tox-cover
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/ospurge
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-cover
+        - build-openstack-sphinx-docs: {}
+        - legacy-ospurge-dsvm-functional
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-cover
+        - build-openstack-sphinx-docs: {}
+        - legacy-ospurge-dsvm-functional
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/ossa
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+    gate:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+    post:
+      jobs:
+        - legacy-static-ossa-publish
+
+- project:
+    name: openstack/oswin-tempest-plugin
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/ovsdbapp
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-ovsdbapp-tox-functional
+        - legacy-tempest-dsvm-networking-ovn-ovs-release-ovsdbapp-src:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - legacy-ovsdbapp-tox-functional
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/packetary
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+      - docs-on-readthedocs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/packetary-specs
+    templates:
+      - docs-on-readthedocs
+      - merge-check
+      - build-only-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/packstack
+    templates:
+      - merge-check
+      - packstack-integration-jobs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-packstack-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-packstack-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/pandaman
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/panko
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - translation-jobs
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-panko-tox-py27-mongodb
+        - legacy-panko-tox-py27-mysql
+        - legacy-panko-tox-py27-postgresql
+        - legacy-panko-tox-py35-mongodb
+        - legacy-panko-tox-py35-mysql
+        - legacy-panko-tox-py35-postgresql
+        - legacy-telemetry-dsvm-integration-panko
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            voting: false
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-puppet:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-panko-tox-py27-mongodb
+        - legacy-panko-tox-py27-mysql
+        - legacy-panko-tox-py27-postgresql
+        - legacy-panko-tox-py35-mongodb
+        - legacy-panko-tox-py35-mysql
+        - legacy-panko-tox-py35-postgresql
+        - legacy-telemetry-dsvm-integration-panko
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/patrole
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-tempest-dsvm-patrole-admin:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*
+              - ^patrole/patrole_tempest_plugin/tests/unit/.*$
+              - ^releasenotes/.*
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-patrole-member:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*
+              - ^patrole/patrole_tempest_plugin/tests/unit/.*$
+              - ^releasenotes/.*
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-patrole-py35-member:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*
+              - ^patrole/patrole_tempest_plugin/tests/unit/.*$
+              - ^releasenotes/.*
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-patrole-multinode-admin:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*
+              - ^patrole/patrole_tempest_plugin/tests/unit/.*$
+              - ^releasenotes/.*
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-patrole-multinode-member:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*
+              - ^patrole/patrole_tempest_plugin/tests/unit/.*$
+              - ^releasenotes/.*
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - legacy-tempest-dsvm-patrole-admin:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*
+              - ^patrole/patrole_tempest_plugin/tests/unit/.*$
+              - ^releasenotes/.*
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-patrole-member:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*
+              - ^patrole/patrole_tempest_plugin/tests/unit/.*$
+              - ^releasenotes/.*
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-patrole-py35-member:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*
+              - ^patrole/patrole_tempest_plugin/tests/unit/.*$
+              - ^releasenotes/.*
+              - ^setup.cfg$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/paunch
+    templates:
+      - merge-check
+      - check-requirements
+      - publish-openstack-python-docs
+      - openstack-python-jobs
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/performa
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - docs-on-readthedocs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/performance-docs
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - publish-openstack-python-docs
+
+- project:
+    name: openstack/picasso
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/poppy
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - openstack-pypy-jobs-nonvoting
+      - check-requirements
+      - docs-on-readthedocs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/poppy-ui
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/powervc-driver
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/project-navigator-data
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - legacy-project-navigator-data-tox-validate
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - legacy-project-navigator-data-tox-validate
+
+- project:
+    name: openstack/project-team-guide
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+    gate:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+    post:
+      jobs:
+        - legacy-project-team-guide-publish
+
+- project:
+    name: openstack/proliantutils
+    templates:
+      - merge-check
+      - openstack-python35-jobs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - openstack-tox-cover:
+            voting: false
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/ptgbot
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/publiccloud-wg
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/puppet-aodh
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - puppet-openstack-integration-jobs-scenario001
+      - tripleo-scenario-jobs-scenario002
+      - puppet-release-jobs
+    check:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^spec/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^spec/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/puppet-autossh
+    templates:
+      - merge-check
+      - puppet-check-jobs
+
+- project:
+    name: openstack/puppet-barbican
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - puppet-openstack-integration-jobs-scenario002
+      - tripleo-scenario-jobs-scenario002
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-ceilometer
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - puppet-openstack-integration-jobs-scenario001
+      - tripleo-scenario-jobs-scenario002
+      - puppet-release-jobs
+    check:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^spec/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^spec/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/puppet-ceph
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - puppet-openstack-integration-jobs-scenario001
+      - puppet-openstack-integration-jobs-scenario004
+      - tripleo-scenario-jobs-scenario004
+      - puppet-release-jobs
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024-puppet-newton:
+            branches: ^(stable/newton).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024-puppet-ocata:
+            branches: ^(stable/ocata).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024-puppet-pike:
+            branches: ^(stable/pike).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    check:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^spec/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^spec/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/puppet-cinder
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - puppet-openstack-integration-jobs-scenario001
+      - puppet-openstack-integration-jobs-scenario002
+      - tripleo-scenario-jobs-scenario002
+      - puppet-release-jobs
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024-puppet-newton:
+            branches: ^(stable/newton).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024-puppet-ocata:
+            branches: ^(stable/ocata).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024-puppet-pike:
+            branches: ^(stable/pike).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    check:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^spec/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^spec/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/puppet-cloudkitty
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-congress
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - puppet-release-jobs
+    check:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^spec/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^spec/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/puppet-designate
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - puppet-openstack-integration-jobs-scenario003
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-ec2api
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - puppet-openstack-integration-jobs-scenario002
+      - tripleo-scenario-jobs-scenario002
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-freezer
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-ganesha
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-glance
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - puppet-openstack-integration-jobs-all
+      - release-notes-jobs
+      - tripleo-puppet-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-glare
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-gnocchi
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - puppet-openstack-integration-jobs-scenario001
+      - tripleo-scenario-jobs-scenario002
+      - puppet-release-jobs
+    check:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^spec/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^spec/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/puppet-heat
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - puppet-openstack-integration-jobs-scenario003
+      - tripleo-puppet-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-horizon
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - puppet-openstack-integration-jobs-scenario003
+      - tripleo-scenario-jobs-scenario003
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-ironic
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - puppet-openstack-integration-jobs-scenario002
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-keystone
+    templates:
+      - merge-check
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-openstack-integration-jobs-all
+      - release-notes-jobs
+      - tripleo-puppet-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-magnum
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-manila
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - tripleo-scenario-jobs-scenario004
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-midonet
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-beaker-jobs
+    check:
+      jobs:
+        - legacy-puppet-midonet-puppet-unit-3.6-centos-7:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-puppet-midonet-puppet-unit-3.8-centos-7:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-puppet-midonet-puppet-unit-4.5-centos-7:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-puppet-midonet-puppet-unit-latest-centos-7:
+            voting: false
+            branches: ^master
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-puppet-midonet-puppet-unit-3.6-centos-7:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-puppet-midonet-puppet-unit-3.8-centos-7:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-puppet-midonet-puppet-unit-4.5-centos-7:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/puppet-mistral
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - puppet-openstack-integration-jobs-scenario003
+      - tripleo-scenario-jobs-scenario003
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-modulesync-configs
+    templates:
+      - merge-check
+      - puppet-openstack-libraries-jobs
+
+- project:
+    name: openstack/puppet-monasca
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+
+- project:
+    name: openstack/puppet-murano
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-puppet-murano-puppet-beaker-rspec:
+            voting: false
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-n1k-vsm
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+
+- project:
+    name: openstack/puppet-neutron
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - puppet-openstack-integration-jobs-all
+      - release-notes-jobs
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-nova
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - puppet-openstack-integration-jobs-all
+      - release-notes-jobs
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-octavia
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-openstack-cookiecutter
+    templates:
+      - merge-check
+      - puppet-openstack-libraries-jobs
+
+- project:
+    name: openstack/puppet-openstack-guide
+    templates:
+      - merge-check
+      - publish-openstack-python-docs
+    check:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+    gate:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+
+- project:
+    name: openstack/puppet-openstack-integration
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-openstack-integration-jobs-all
+      - puppet-openstack-integration-jobs-scenario004
+    periodic:
+      jobs:
+        - propose-updates:
+            vars:
+              update_target: puppet-openstack-constraints
+
+- project:
+    name: openstack/puppet-openstack-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/puppet-openstack_extras
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - puppet-openstack-integration-jobs-all
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-openstack_spec_helper
+    templates:
+      - merge-check
+      - puppet-openstack-libraries-jobs
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/puppet-openstacklib
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - puppet-openstack-integration-jobs-all
+      - release-notes-jobs
+      - tripleo-puppet-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-oslo
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - puppet-openstack-integration-jobs-all
+      - release-notes-jobs
+      - tripleo-puppet-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-ovn
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - tripleo-scenario-jobs-scenario007
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-pacemaker
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-panko
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - puppet-release-jobs
+      - release-notes-jobs
+      - puppet-openstack-integration-jobs-scenario001
+      - tripleo-scenario-jobs-scenario002
+    check:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^spec/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^spec/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/puppet-qdr
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-rally
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-sahara
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - puppet-openstack-integration-jobs-scenario003
+      - tripleo-scenario-jobs-scenario003
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-setproxy
+    templates:
+      - merge-check
+      - puppet-check-jobs
+
+- project:
+    name: openstack/puppet-surveil
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/puppet-swift
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - puppet-openstack-integration-jobs-scenario002
+      - tripleo-scenario-jobs-scenario002
+      - tripleo-puppet-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-tacker
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - puppet-release-jobs
+    check:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^spec/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^spec/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/puppet-tempest
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - puppet-openstack-integration-jobs-all
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-tripleo
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - check-tripleo-undercloud-jobs
+      - puppet-release-jobs
+      - experimental-tripleo-jobs
+      - release-notes-jobs
+      - tripleo-upgrade-jobs
+      - tripleo-upgrade-jobs-scenario001
+      - tripleo-upgrade-jobs-scenario002
+      - tripleo-upgrade-jobs-scenario003
+      - tripleo-upgrade-jobs-scenario004
+    check:
+      jobs:
+        - legacy-puppet-tripleo-puppet-unit-4.8-centos-7:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-puppet-tripleo-puppet-unit-latest-centos-7:
+            voting: false
+            branches: ^master
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-undercloud-containers:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-puppet-tripleo-puppet-unit-4.8-centos-7:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-containers-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    experimental:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario005-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/pacemaker.*$
+              - ^manifests/pacemaker/.*$
+              - ^manifests/profile/pacemaker.*$
+              - manifests/profile/base/pacemaker.pp
+              - ci/environments/scenario005-multinode.yaml
+              - ci/pingtests/scenario005-multinode.yaml
+              - config/general_config/featureset009.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario006-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/kubernetes.*$
+              - ^environments/kubernetes.*$
+              - ci/environments/scenario006-multinode.yaml
+              - ci/pingtests/scenario006-multinode.yaml
+              - config/general_config/featureset026.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario008-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^environments/.*opendaylight.*$
+              - ^puppet/services/.*opendaylight.*$
+              - manifests/profile/base/neutron/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ml2/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ovs/opendaylight.pp
+              - ^manifests/profile/base/neutron/opendaylight/.*$
+              - ci/environments/scenario008-multinode.yaml
+              - ci/pingtests/scenario008-multinode.yaml
+              - config/general_config/featureset031.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq-container:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode-containers.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^(docker|puppet)/services/.*ovn.*$
+              - ^manifests/profile/pacemaker/ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset030.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario009-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/openshift.*$
+              - ^environments/openshift.*$
+              - ci/environments/scenario009-multinode.yaml
+              - ci/pingtests/scenario009-multinode.yaml
+              - config/general_config/featureset033.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/puppet-trove
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - puppet-openstack-integration-jobs-scenario003
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-tuskar
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/puppet-vitrage
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - puppet-openstack-integration-jobs-scenario001
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-vswitch
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - puppet-openstack-integration-jobs-all
+      - release-notes-jobs
+      - tripleo-puppet-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-watcher
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - puppet-openstack-integration-jobs-scenario004
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/puppet-zaqar
+    templates:
+      - merge-check
+      - puppet-check-jobs
+      - puppet-module-unit-jobs
+      - puppet-beaker-jobs
+      - puppet-beaker-jobs-xenial
+      - release-notes-jobs
+      - puppet-openstack-integration-jobs-scenario002
+      - tripleo-scenario-jobs-scenario002
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+
+- project:
+    name: openstack/pycadf
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - lib-forward-testing
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/pyeclib
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    experimental:
+      jobs:
+        - legacy-pyeclib-python35
+        - legacy-pyeclib-tox-py27-centos-7
+        - legacy-libec-pyeclib-unit-centos-7
+        - legacy-libec-pyeclib-unit
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/pyghmi
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs-nonvoting
+      - check-requirements
+    check:
+      jobs:
+        - legacy-tempest-dsvm-ironic-pxe_ipmitool-pyghmi-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - legacy-tempest-dsvm-ironic-pxe_ipmitool-pyghmi-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/pylockfile
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/pymod2pkg
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-adjutantclient
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-almanachclient
+    templates:
+      - merge-check
+      - openstack-python35-jobs
+      - check-requirements
+      - docs-on-readthedocs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-aodhclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - openstack-pypy-jobs-nonvoting
+      - osc-plugin-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-appcatalogclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/python-barbicanclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - osc-plugin-jobs
+    check:
+      jobs:
+        - legacy-python-barbicanclient-dsvm:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-python-barbicanclient-devstack:
+            branches: ^(?:stable/(newton|ocata)).*$
+    gate:
+      jobs:
+        - legacy-python-barbicanclient-dsvm:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-python-barbicanclient-devstack:
+            branches: ^(?:stable/(newton|ocata)).*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-bileanclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-blazarclient
+    templates:
+      - merge-check
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-brick-cinderclient-ext
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-brick-cinderclient-ext-dsvm-functional
+    gate:
+      jobs:
+        - legacy-brick-cinderclient-ext-dsvm-functional
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-ceilometerclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - openstack-pypy-jobs-nonvoting
+      - lib-forward-testing-plugin
+    check:
+      jobs:
+        - legacy-ceilometerclient-dsvm-functional
+        - legacy-ceilometerclient-dsvm-functional-identity-v3-only
+        - legacy-telemetry-dsvm-integration-python-ceilometerclient
+    gate:
+      jobs:
+        - legacy-ceilometerclient-dsvm-functional
+        - legacy-ceilometerclient-dsvm-functional-identity-v3-only
+        - legacy-telemetry-dsvm-integration-python-ceilometerclient
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-cerberusclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/python-cinderclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - lib-forward-testing
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-cinderclient-dsvm-functional:
+            voting: false
+        - legacy-cinderclient-dsvm-functional-identity-v3-only:
+            voting: false
+        - legacy-python-cinderclient-pylint:
+            voting: false
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-cloudkittyclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - osc-plugin-jobs
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-cloudpulseclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-cognitiveclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-congressclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+      - osc-plugin-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-cratonclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+      - docs-on-readthedocs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/python-cueclient
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+      - openstack-python35-jobs-nonvoting
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-designateclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - osc-plugin-jobs
+      - designate-dsvm-jobs
+      - openstack-python35-jobs
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-distilclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-don
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-dracclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-evoqueclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+    gate:
+      jobs:
+        - legacy-requirements:
+            files:
+              - ^tools/.*-requires$
+              - ^.*requirements.txt$
+              - ^.*requirements-py[2,3].txt$
+
+- project:
+    name: openstack/python-freezerclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-python-freezerclient-pylint
+    gate:
+      jobs:
+        - legacy-python-freezerclient-pylint
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-fuelclient
+    templates:
+      - openstack-python35-jobs
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^stable(-mu)?/(8\.0|7\.0|6\.1).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^(?!stable/(?:6\.1|7\.0|8\.0)).*$
+        - openstack-tox-pep8
+        - openstack-tox-py27:
+            branches: ^(?!stable/(?:6\.1|7\.0|8\.0)).*$
+    gate:
+      jobs:
+        - openstack-tox-pep8:
+            nodeset: ubuntu-trusty
+            branches: ^stable(-mu)?/(8\.0|7\.0|6\.1).*$
+        - openstack-tox-py27:
+            nodeset: ubuntu-trusty
+            branches: ^(?!stable/(?:6\.1|7\.0|8\.0)).*$
+        - openstack-tox-pep8
+        - openstack-tox-py27:
+            branches: ^(?!stable/(?:6\.1|7\.0|8\.0)).*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-ganttclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/python-glanceclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - release-notes-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - lib-forward-testing
+    check:
+      jobs:
+        - legacy-glanceclient-dsvm-functional
+        - legacy-glanceclient-dsvm-functional-identity-v3-only:
+            voting: false
+    gate:
+      jobs:
+        - legacy-glanceclient-dsvm-functional
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-glareclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-group-based-policy-client
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python-jobs-trusty
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-heatclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - openstack-pypy-jobs-nonvoting
+      - translation-jobs
+      - osc-plugin-jobs
+      - publish-openstack-python-docs
+    check:
+      jobs:
+        - legacy-heatclient-dsvm-functional
+    gate:
+      jobs:
+        - legacy-heatclient-dsvm-functional
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-hnvclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-iotronicclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-ironic-inspector-client
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - release-notes-jobs
+      - osc-plugin-jobs
+    check:
+      jobs:
+        - legacy-python-ironic-inspector-client-tox-func:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-tempest-dsvm-python-ironic-inspector-client:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - legacy-python-ironic-inspector-client-tox-func:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-tempest-dsvm-python-ironic-inspector-client:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-ironicclient
+    templates:
+      - merge-check
+      - openstack-python35-jobs
+      - openstack-python-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - openstack-pypy-jobs-nonvoting
+      - release-notes-jobs
+      - osc-plugin-jobs
+    check:
+      jobs:
+        - legacy-tempest-dsvm-python-ironicclient-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+        - legacy-ironicclient-dsvm-functional:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - openstack-tox-cover
+    gate:
+      jobs:
+        - legacy-tempest-dsvm-python-ironicclient-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+        - legacy-ironicclient-dsvm-functional:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-jenkins
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - docs-on-readthedocs
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-k8sclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/python-karborclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - translation-jobs
+      - osc-plugin-jobs
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-keystoneclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - lib-forward-testing
+      - translation-jobs
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-keystoneclient-dsvm-functional:
+            voting: false
+    gate:
+      jobs:
+        - legacy-keystoneclient-dsvm-functional:
+            voting: false
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-kingbirdclient
+    templates:
+      - check-requirements
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-magnumclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - translation-jobs
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-manilaclient
+    templates:
+      - merge-check
+      - publish-openstack-python-docs
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-manilaclient-dsvm-neutron-functional
+        - legacy-rally-dsvm-manila-multibackend:
+            voting: false
+            branches: ^(?!stable/newton|driverfixes/).*$
+        - legacy-rally-dsvm-manila-multibackend-no-ss:
+            voting: false
+            branches: ^(?!stable/newton|driverfixes/).*$
+    gate:
+      jobs:
+        - legacy-manilaclient-dsvm-neutron-functional
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-masakariclient
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+      - openstack-python35-jobs-nonvoting
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-meteosclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/python-mistralclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - osc-plugin-jobs
+      - publish-openstack-python-docs
+      - release-notes-jobs
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+        - legacy-python-mistralclient-devstack-dsvm
+    gate:
+      jobs:
+        - legacy-python-mistralclient-devstack-dsvm
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-moganclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-monascaclient
+    templates:
+      - merge-check
+      - openstack-python35-jobs
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - openstack-tox-cover
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - openstack-tox-cover
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-muranoclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - release-notes-jobs
+      - publish-openstack-python-docs
+      - translation-jobs
+      - osc-plugin-jobs
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+        - legacy-muranoclient-dsvm-functional-mysql-backend
+    gate:
+      jobs:
+        - legacy-muranoclient-dsvm-functional-mysql-backend
+    post:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-namosclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/python-neutronclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - openstack-pypy-jobs-nonvoting
+      - lib-forward-testing
+      - translation-jobs
+      - release-notes-jobs
+      - osc-plugin-jobs
+    check:
+      jobs:
+        - legacy-neutronclient-test-dsvm-functional:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^releasenotes/.*$
+        - legacy-neutronclient-test-dsvm-functional-adv-svcs:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^releasenotes/.*$
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            voting: false
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-neutronclient-test-dsvm-functional:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^releasenotes/.*$
+        - legacy-neutronclient-test-dsvm-functional-adv-svcs:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron/locale/.*$
+              - ^releasenotes/.*$
+    post:
+      jobs:
+        - openstack-tox-cover
+    experimental:
+      jobs:
+        - legacy-grenade-dsvm-neutron-libs:
+            voting: false
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-novaclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - lib-forward-testing
+      - translation-jobs
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-novaclient-dsvm-functional:
+            branches: ^stable/newton$
+        - legacy-novaclient-dsvm-functional-identity-v3-only:
+            voting: false
+        - legacy-novaclient-dsvm-functional-neutron
+    gate:
+      jobs:
+        - legacy-novaclient-dsvm-functional:
+            branches: ^stable/newton$
+        - legacy-novaclient-dsvm-functional-neutron
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-octaviaclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - openstack-python35-jobs
+      - osc-plugin-jobs
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-oneviewclient
+    templates:
+      - check-requirements
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-openstackclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - translation-jobs
+      - release-notes-jobs
+      - lib-forward-testing
+      - osc-plugin-jobs
+    check:
+      jobs:
+        - legacy-osc-dsvm-functional
+        - legacy-osc-dsvm-functional-tips:
+            voting: false
+        - legacy-osc-dsvm-functional-n-net:
+            voting: false
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            voting: false
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-osc-dsvm-functional
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-openstacksdk
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - openstack-pypy-jobs-nonvoting
+    check:
+      jobs:
+        - legacy-sdk-dsvm-functional:
+            voting: false
+        - legacy-sdk-dsvm-load-balancer-functional:
+            voting: false
+    post:
+      jobs:
+        - openstack-tox-cover
+        - legacy-python-openstacksdk-docs:
+            branches: ^(?!bug/).*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-opentsdbclient
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/python-pankoclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - osc-plugin-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-picassoclient
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/python-qinlingclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-rackclient
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-cover
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    post:
+      jobs:
+        - openstack-tox-cover
+
+- project:
+    name: openstack/python-redfish
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-rsdclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-saharaclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - release-notes-jobs
+      - osc-plugin-jobs
+    check:
+      jobs:
+        - legacy-sahara-cli:
+            voting: false
+        - legacy-sahara-dsvm-scenario-neutron
+        - legacy-tempest-dsvm-neutron-src-python-saharaclient:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    post:
+      jobs:
+        - openstack-tox-cover
+    gate:
+      queue: python-saharaclient
+      jobs:
+        - legacy-sahara-dsvm-scenario-neutron
+        - legacy-tempest-dsvm-neutron-src-python-saharaclient:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    experimental:
+      jobs:
+        - openstack-tox-pypy:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-scciclient
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python35-jobs
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-searchlightclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - openstack-pypy-jobs-nonvoting
+      - osc-plugin-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-senlinclient
+    templates:
+      - check-requirements
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - translation-jobs
+      - osc-plugin-jobs
+      - release-notes-jobs
+    experimental:
+      jobs:
+        - legacy-senlinclient-dsvm-functional:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-solumclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - openstack-pypy-jobs-nonvoting
+      - translation-jobs
+      - publish-openstack-python-docs
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-sticksclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/python-surveilclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-swiftclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - openstack-pypy-jobs-nonvoting
+      - lib-forward-testing
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-swift-dsvm-functional:
+            voting: false
+        - legacy-swift-dsvm-functional-identity-v3-only:
+            voting: false
+        - legacy-swiftclient-dsvm-functional
+        - legacy-swiftclient-dsvm-functional-identity-v3-only:
+            voting: false
+        - legacy-python-swiftclient-python36-fedora-26:
+            voting: false
+    gate:
+      queue: integrated
+      jobs:
+        - legacy-swift-dsvm-functional:
+            voting: false
+        - legacy-swiftclient-dsvm-functional
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-tackerclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs-nonvoting
+      - check-requirements
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-tricircleclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-tripleoclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-to-pypi
+      - check-tripleo-undercloud-jobs
+      - osc-plugin-jobs
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-tripleo-buildimage-overcloud-full-centos-7:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^releasenotes/.*$
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-undercloud-containers:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-tripleo-buildimage-overcloud-full-centos-7:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^releasenotes/.*$
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    experimental:
+      jobs:
+        - legacy-tripleo-buildimage-overcloud-hardened-full-centos-7:
+            voting: false
+        - legacy-tripleo-buildimage-ironic-python-agent-centos-7:
+            voting: false
+        - legacy-tripleo-ci-centos-7-scenario005-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/pacemaker.*$
+              - ^manifests/pacemaker/.*$
+              - ^manifests/profile/pacemaker.*$
+              - manifests/profile/base/pacemaker.pp
+              - ci/environments/scenario005-multinode.yaml
+              - ci/pingtests/scenario005-multinode.yaml
+              - config/general_config/featureset009.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario006-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/kubernetes.*$
+              - ^environments/kubernetes.*$
+              - ci/environments/scenario006-multinode.yaml
+              - ci/pingtests/scenario006-multinode.yaml
+              - config/general_config/featureset026.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario008-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^environments/.*opendaylight.*$
+              - ^puppet/services/.*opendaylight.*$
+              - manifests/profile/base/neutron/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ml2/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ovs/opendaylight.pp
+              - ^manifests/profile/base/neutron/opendaylight/.*$
+              - ci/environments/scenario008-multinode.yaml
+              - ci/pingtests/scenario008-multinode.yaml
+              - config/general_config/featureset031.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq-container:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode-containers.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^(docker|puppet)/services/.*ovn.*$
+              - ^manifests/profile/pacemaker/ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset030.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario009-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/openshift.*$
+              - ^environments/openshift.*$
+              - ci/environments/scenario009-multinode.yaml
+              - ci/pingtests/scenario009-multinode.yaml
+              - config/general_config/featureset033.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-containers-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/python-troveclient
+    templates:
+      - merge-check
+      - check-requirements
+      - publish-openstack-python-docs
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - openstack-pypy-jobs-nonvoting
+      - lib-forward-testing
+      - release-notes-jobs
+      - osc-plugin-jobs
+    check:
+      jobs:
+        - legacy-trove-functional-dsvm-mysql:
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-legacy-functional-dsvm-mysql
+    gate:
+      queue: python-troveclient
+      jobs:
+        - legacy-trove-functional-dsvm-mysql:
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-legacy-functional-dsvm-mysql
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-valenceclient
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/python-vitrageclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - osc-plugin-jobs
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-watcherclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - osc-plugin-jobs
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+        - legacy-watcherclient-dsvm-functional
+    gate:
+      jobs:
+        - legacy-watcherclient-dsvm-functional
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-zaqarclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - osc-plugin-jobs
+      - publish-openstack-python-docs
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-zaqarclient-dsvm-functional
+    gate:
+      jobs:
+        - legacy-zaqarclient-dsvm-functional
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/python-zunclient
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+    check:
+      jobs:
+        - legacy-zunclient-devstack-dsvm-docker-sql
+    gate:
+      jobs:
+        - legacy-zunclient-devstack-dsvm-docker-sql
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/qa-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+
+- project:
+    name: openstack/qinling
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-qinling-dsvm-tempest:
+            voting: false
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/quark
+    templates:
+      - merge-check
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/rack
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/radar
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/rally
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - docs-on-readthedocs
+    check:
+      jobs:
+        - openstack-tox-cover
+        - legacy-rally-dsvm-certification-with-keystone-v3:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-cli:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-designate-rally-pdns4:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-ironic-rally:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-keystone-v2api-rally:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-magnum-rally:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-manila-multibackend:
+            voting: false
+            branches: ^(?!stable/newton|driverfixes/).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-manila-multibackend-no-ss:
+            voting: false
+            branches: ^(?!stable/newton|driverfixes/).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-mistral-rally:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-monasca-rally:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-murano-rally:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-neutron-existing-users-rally:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-neutron-extensions-rally:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-neutron-rally:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-neutron-telemetry:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-py35-rally-nova:
+            voting: false
+            branches: master
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-rally-cinder:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-rally-heat:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-rally-nova:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-rally:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-senlin-rally:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-verify-full-create-resources:
+            voting: false
+            files:
+              - ^rally/cli/commands/verify.py$
+              - ^rally/common/io/subunit_v2.py$
+              - ^rally/ui/templates/verification.*$
+              - ^rally/verification.*$
+              - ^tests/ci/.*verify.*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-verify-full-discover-resources:
+            files:
+              - ^rally/cli/commands/verify.py$
+              - ^rally/common/io/subunit_v2.py$
+              - ^rally/ui/templates/verification.*$
+              - ^rally/verification.*$
+              - ^tests/ci/.*verify.*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-verify-light-create-resources:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-verify-light-discover-resources:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-watcher-rally:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-zaqar-rally:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-install-centos-7
+        - legacy-rally-install
+        - legacy-rally-tox-self
+    gate:
+      jobs:
+        - legacy-rally-install-centos-7
+        - legacy-rally-install
+        - legacy-rally-dsvm-rally:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-keystone-v2api-rally:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-rally-cinder:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-neutron-rally:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-neutron-existing-users-rally:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-cli:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-verify-light-discover-resources:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-dsvm-verify-full-discover-resources:
+            files:
+              - ^rally/cli/commands/verify.py$
+              - ^rally/common/io/subunit_v2.py$
+              - ^rally/ui/templates/verification.*$
+              - ^rally/verification.*$
+              - ^tests/ci/.*verify.*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^Dockerfile$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^tests/hacking/.*$
+              - ^tests/unit/.*$
+              - ^tox.ini$
+        - legacy-rally-tox-self
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/ramdisk-func-test
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/ranger
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/ranger-agent
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/refstack
+    templates:
+      - merge-check
+      - nodejs4-jobs
+      - publish-openstack-python-docs
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    check:
+      jobs:
+        - legacy-refstack-tox-py27-func-mysql
+        - legacy-refstack-tox-py35-func-mysql
+        - openstack-tox-cover:
+            voting: false
+    gate:
+      jobs:
+        - legacy-refstack-tox-py27-func-mysql
+        - legacy-refstack-tox-py35-func-mysql
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/refstack-client
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    post:
+      jobs:
+        - openstack-tox-cover
+
+- project:
+    name: openstack/release-schedule-generator
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/release-test
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/releases
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-releases-python35
+        - legacy-releases-tox-validate
+        - legacy-releases-tox-list-changes
+        - openstack-tox-pep8
+        - build-openstack-sphinx-docs: {}
+    gate:
+      jobs:
+        - legacy-releases-python35
+        - legacy-releases-tox-validate
+        - build-openstack-sphinx-docs: {}
+    release-post:
+      jobs:
+        - legacy-static-releases-publish:
+            dependencies:
+              - tag-releases
+        - tag-releases
+
+- project:
+    name: openstack/renderspec
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/reno
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/requests-mock
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - openstack-pypy-jobs-nonvoting
+      - docs-on-readthedocs
+    check:
+      jobs:
+        - legacy-requests-mock-tox-keystoneclient-tip
+        - legacy-requests-mock-tox-novaclient-tip
+    gate:
+      jobs:
+        - legacy-requests-mock-tox-keystoneclient-tip
+        - legacy-requests-mock-tox-novaclient-tip
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
 
 - project:
     name: openstack/requirements
     periodic:
       jobs:
-        # This is a periodic job to ensure that our wheels are reasonably
-        # up-to-date. It uses the upper-constraints files from requirements.
         - build-wheel-mirror
         - release-wheel-mirror:
             dependencies:
               - build-wheel-mirror
-
-- project:
-    name: openstack-infra/project-config
+        - legacy-propose-requirements-constraints-master
     templates:
-      - bindep-fallback
       - merge-check
-      - noop-jobs
+      - openstack-pypy-jobs-nonvoting
+      - publish-openstack-python-docs
+      - openstack-python35-jobs
+      - publish-to-pypi
     check:
       jobs:
-        - build-openstack-specs-site
-        - openstack-tox-linters:
+        - legacy-requirements-python34:
+            branches: master
+        - build-openstack-sphinx-docs:
+            branches: master
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-requirements-integration-dsvm-ubuntu-trusty:
+            branches: ^stable/newton$
+        - legacy-requirements-integration-dsvm
+        - legacy-requirements-tox-babel:
             files:
-              - ^.*\.sh$
-              - ^.*\.py$
-              - bindep.txt
-              - other-requirements.txt
-              - test-requirements.txt
-              - tox.ini
-        - project-config-dib
-        - project-config-gerrit
-        - project-config-grafyaml
-        - project-config-infra-docs-index
-        - project-config-irc-access
-        - project-config-nodepool
-        - zuul-migrate:
-            files:
-              - zuul/mapping.yaml
+              - ^babel-test/.*
+              - ^tox.ini
+              - ^upper-constraints.txt
+        - legacy-requirements-tox-py27-check-uc:
+            files: ^upper-constraints.*txt$
+        - legacy-requirements-tox-py35-check-uc:
+            branches: ^(?!stable/(newton|ocata|pike)).*$
+            files: ^upper-constraints.*txt$
+        - legacy-requirements-tox-validate
+        - legacy-requirements-tox-validate-projects:
+            branches: master
+        - legacy-grenade-dsvm-neutron-multinode:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-cross-cinder-python27:
+            files: ^upper-constraints.txt$
+        - legacy-cross-cinder-python35:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files: ^upper-constraints.txt$
+        - legacy-cross-glance-python27:
+            files: ^upper-constraints.txt$
+        - legacy-cross-glance-python35:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files: ^upper-constraints.txt$
+        - legacy-cross-horizon-python27:
+            files: ^upper-constraints.txt$
+        - legacy-cross-horizon-python35:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files: ^upper-constraints.txt$
+        - legacy-cross-keystone-python27:
+            files: ^upper-constraints.txt$
+        - legacy-cross-keystone-python35:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files: ^upper-constraints.txt$
+        - legacy-cross-neutron-python27:
+            files: ^upper-constraints.txt$
+        - legacy-cross-neutron-python35:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files: ^upper-constraints.txt$
+        - legacy-cross-nova-python27:
+            files: ^upper-constraints.txt$
+        - legacy-cross-nova-python35:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files: ^upper-constraints.txt$
+        - legacy-cross-nova-func:
+            files: ^upper-constraints.txt$
+        - legacy-cross-swift-python27:
+            files: ^upper-constraints.txt$
+        - legacy-cross-swift-python35:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files: ^upper-constraints.txt$
+        - legacy-tempest-dsvm-neutron-full:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
     gate:
-      queue: project-config
+      queue: integrated
       jobs:
-        - build-openstack-specs-site
-        - openstack-tox-linters:
+        - legacy-requirements-python34:
+            branches: master
+        - build-openstack-sphinx-docs:
+            branches: master
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-requirements-integration-dsvm-ubuntu-trusty:
+            branches: ^stable/newton$
+        - legacy-requirements-integration-dsvm
+        - legacy-requirements-tox-babel:
             files:
-              - ^.*\.sh$
-              - ^.*\.py$
-              - bindep.txt
-              - other-requirements.txt
-              - test-requirements.txt
-              - tox.ini
-        - project-config-dib
-        - project-config-gerrit
-        - project-config-grafyaml
-        - project-config-infra-docs-index
-        - project-config-irc-access
-        - project-config-nodepool
+              - ^babel-test/.*
+              - ^tox.ini
+              - ^upper-constraints.txt
+        - legacy-requirements-tox-py27-check-uc:
+            files: ^upper-constraints.*txt$
+        - legacy-requirements-tox-py35-check-uc:
+            branches: ^(?!stable/(newton|ocata|pike)).*$
+            files: ^upper-constraints.*txt$
+        - legacy-requirements-tox-validate
+        - legacy-requirements-tox-validate-projects:
+            branches: master
+        - legacy-grenade-dsvm-neutron-multinode:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-cross-cinder-python27:
+            files: ^upper-constraints.txt$
+        - legacy-cross-cinder-python35:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files: ^upper-constraints.txt$
+        - legacy-cross-glance-python27:
+            files: ^upper-constraints.txt$
+        - legacy-cross-glance-python35:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files: ^upper-constraints.txt$
+        - legacy-cross-horizon-python27:
+            files: ^upper-constraints.txt$
+        - legacy-cross-horizon-python35:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files: ^upper-constraints.txt$
+        - legacy-cross-keystone-python27:
+            files: ^upper-constraints.txt$
+        - legacy-cross-keystone-python35:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files: ^upper-constraints.txt$
+        - legacy-cross-neutron-python27:
+            files: ^upper-constraints.txt$
+        - legacy-cross-neutron-python35:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files: ^upper-constraints.txt$
+        - legacy-cross-nova-python27:
+            files: ^upper-constraints.txt$
+        - legacy-cross-nova-python35:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files: ^upper-constraints.txt$
+        - legacy-cross-nova-func:
+            files: ^upper-constraints.txt$
+        - legacy-cross-swift-python27:
+            files: ^upper-constraints.txt$
+        - legacy-cross-swift-python35:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files: ^upper-constraints.txt$
+        - legacy-tempest-dsvm-neutron-full:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
     post:
       jobs:
-        - publish-openstack-python-docs-infra-index
-        - publish-openstack-specs-site
+        - propose-updates:
+            vars:
+              update_target: requirements
+        - publish-openstack-python-branch-tarball
+    experimental:
+      jobs:
+        - legacy-tempest-dsvm-neutron-pg-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-neutron-full-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+
+- project:
+    name: openstack/rpm-packaging
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-rpm-packaging-tox-lint
+    gate:
+      jobs:
+        - legacy-rpm-packaging-tox-lint
+
+- project:
+    name: openstack/rpm-packaging-tools
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/rsd-lib
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/rst2bash
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-labs-ig-cluster-kvm-ubuntu:
+            voting: false
+        - legacy-labs-ig-cluster-vbox-ubuntu:
+            voting: false
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/sahara
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - publish-openstack-python-docs
+      - check-requirements
+      - translation-jobs
+      - release-notes-jobs
+      - api-ref-jobs
+    check:
+      jobs:
+        - legacy-sahara-pylint:
+            voting: false
+        - legacy-tempest-dsvm-sahara:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - openstack-tox-cover:
+            voting: false
+        - legacy-grenade-dsvm-sahara:
+            voting: false
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-sahara-dsvm-scenario-neutron:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-sahara-dsvm-scenario-mod-wsgi:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+    gate:
+      queue: python-saharaclient
+      jobs:
+        - legacy-sahara-dsvm-scenario-neutron:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-tempest-dsvm-sahara:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    post:
+      jobs:
+        - openstack-tox-cover
+    experimental:
+      jobs:
+        - legacy-sahara-dsvm-scenario-multinode-spark:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-sahara-buildimages-cloudera-centos-7:
+            voting: false
+        - legacy-sahara-buildimages-ambari-centos-7:
+            voting: false
+        - legacy-sahara-dsvm-scenario-py3:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/sahara-ci-config
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/sahara-dashboard
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python35-jobs
+      - translation-jobs
+      - translation-jobs-ocata
+      - translation-jobs-pike
+      - release-notes-jobs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-sahara-dashboard-dsvm-integration:
+            voting: false
+        - legacy-sahara-dashboard-tox-py27dj19
+        - legacy-sahara-dashboard-tox-py27dj110:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+        - legacy-sahara-dashboard-tox-py27dj19
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/sahara-extra
+    templates:
+      - merge-check
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - legacy-sahara-extra-artifacts
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - legacy-sahara-extra-artifacts
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+        - legacy-post-sahara-extra-artifacts
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/sahara-image-elements
+    templates:
+      - merge-check
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - legacy-sahara-image-elements-buildimages-vanilla:
+            voting: false
+        - legacy-sahara-image-elements-buildimages-cloudera:
+            voting: false
+        - legacy-sahara-image-elements-buildimages-spark:
+            voting: false
+        - legacy-sahara-image-elements-buildimages-storm:
+            voting: false
+        - legacy-sahara-image-elements-buildimages-mapr:
+            voting: false
+        - legacy-sahara-image-elements-buildimages-ambari:
+            voting: false
+        - legacy-sahara-image-elements-buildimages-plain:
+            voting: false
+    gate:
+      jobs:
+        - openstack-tox-pep8
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/sahara-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/sahara-tests
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - publish-openstack-python-docs
+      - openstack-python35-jobs
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-sahara-tests-pylint:
+            voting: false
+        - legacy-tempest-dsvm-sahara:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^sahara_cli_tests/.*$
+              - ^sahara_tempest_plugin/tests/cli/.*$
+              - ^sahara_tests/.*$
+              - ^setup.cfg$
+              - ^tools/.*$
+              - ^tox.ini$
+        - legacy-sahara-dsvm-scenario-neutron:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^sahara_tempest_plugin/.*$
+        - legacy-sahara-cli:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^sahara_tempest_plugin/tests/api/.*$
+              - ^sahara_tests/.*$
+              - ^tox.ini$
+        - openstack-tox-cover:
+            voting: false
+    gate:
+      queue: python-saharaclient
+      jobs:
+        - legacy-sahara-dsvm-scenario-neutron:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^sahara_tempest_plugin/.*$
+    post:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+    experimental:
+      jobs:
+        - legacy-sahara-dsvm-scenario-multinode-spark:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+              - ^sahara_tempest_plugin/.*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/scalpels
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    experimental:
+      jobs:
+        - legacy-scalpels-dsvm-neutron:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/scientific-wg
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/searchlight
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - translation-jobs
+      - release-notes-jobs
+      - api-ref-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/searchlight-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/searchlight-ui
+    templates:
+      - check-requirements
+      - merge-check
+      - openstack-python-jobs
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - translation-jobs
+      - translation-jobs-ocata
+      - translation-jobs-pike
+    check:
+      jobs:
+        - legacy-searchlight-ui-nodejs4-npm-run-lint
+        - legacy-searchlight-ui-nodejs4-npm-run-test
+    gate:
+      jobs:
+        - legacy-searchlight-ui-nodejs4-npm-run-lint
+        - legacy-searchlight-ui-nodejs4-npm-run-test
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/security-analysis
+    templates:
+      - merge-check
+      - publish-openstack-python-docs
+    check:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+    gate:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+
+- project:
+    name: openstack/security-doc
+    templates:
+      - merge-check
+      - openstack-doc-rst-gate
+      - openstack-doc-translation
+    post:
+      jobs:
+        - legacy-security-doc-tox-doc-publishdocs
+
+- project:
+    name: openstack/security-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/senlin
+    templates:
+      - check-requirements
+      - merge-check
+      - publish-openstack-python-docs
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - release-notes-jobs
+      - translation-jobs
+      - api-ref-jobs
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+        - legacy-senlin-dsvm-tempest-py27-api:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-senlin-dsvm-tempest-py35-api:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-senlin-dsvm-tempest-py27-functional:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-senlin-dsvm-tempest-py35-functional:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-senlin-dsvm-tempest-py27-integration:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-senlin-dsvm-tempest-py35-integration:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+    gate:
+      jobs:
+        - legacy-senlin-dsvm-tempest-py27-api:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+        - legacy-senlin-dsvm-tempest-py27-functional:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^releasenotes/.*$
+    experimental:
+      jobs:
+        - legacy-rally-dsvm-senlin-senlin:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/senlin-dashboard
+    templates:
+      - check-requirements
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs-nonvoting
+      - publish-openstack-python-docs
+      - translation-jobs
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-senlin-dashboard-nodejs4-npm-run-lint:
+            voting: false
+        - legacy-senlin-dashboard-nodejs4-npm-run-test:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/service-types-authority
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - legacy-service-types-authority-validate
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - legacy-service-types-authority-validate
+    post:
+      jobs:
+        - propose-updates:
+            vars:
+              update_target: os-service-types
+            dependencies:
+              - publish-service-types-authority
+        - publish-service-types-authority
+
+- project:
+    name: openstack/shaker
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/shotgun
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/shovel
+    templates:
+      - merge-check
+      - nodejs4-jobs
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-npm-upload
+        - legacy-npm-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/shovel-horizon
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/snap-ceilometer
+    templates:
+      - merge-check
+      - snap-jobs
+
+- project:
+    name: openstack/snap-cinder
+    templates:
+      - merge-check
+      - snap-jobs
+
+- project:
+    name: openstack/snap-glance
+    templates:
+      - merge-check
+      - snap-jobs
+
+- project:
+    name: openstack/snap-keystone
+    templates:
+      - merge-check
+      - snap-jobs
+
+- project:
+    name: openstack/snap-neutron
+    templates:
+      - merge-check
+      - snap-jobs
+
+- project:
+    name: openstack/snap-nova
+    templates:
+      - merge-check
+      - snap-jobs
+
+- project:
+    name: openstack/snap-nova-hypervisor
+    templates:
+      - merge-check
+      - snap-jobs
+
+- project:
+    name: openstack/snap-openstackclients
+    templates:
+      - merge-check
+      - snap-jobs
+
+- project:
+    name: openstack/snap-rally
+    templates:
+      - merge-check
+      - snap-jobs
+
+- project:
+    name: openstack/snap-tempest
+    templates:
+      - merge-check
+      - snap-jobs
+
+- project:
+    name: openstack/snap.openstack
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/solar
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - docs-on-readthedocs
+
+- project:
+    name: openstack/solar-resources
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/solum
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - openstack-pypy-jobs-nonvoting
+      - release-notes-jobs
+      - check-requirements
+      - translation-jobs
+    check:
+      jobs:
+        - legacy-solum-devstack-dsvm
+        - legacy-solum-devstack-dsvm-centos-7:
+            voting: false
+        - legacy-solum-devstack-dsvm-py35:
+            voting: false
+        - legacy-solum-devstack-dsvm-seperate-test:
+            voting: false
+    gate:
+      jobs:
+        - legacy-solum-devstack-dsvm
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/solum-dashboard
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - openstack-pypy-jobs-nonvoting
+      - translation-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/solum-infra-guestagent
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs-nonvoting
+      - check-requirements
+      - openstack-pypy-jobs-nonvoting
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/solum-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+
+- project:
+    name: openstack/solum-tempest-plugin
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/spanner
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/sphinx-feature-classification
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/sqlalchemy-migrate
+    templates:
+      - merge-check
+      - docs-on-readthedocs
+      - openstack-python35-jobs-nonvoting
+    check:
+      jobs:
+        - openstack-tox-pep8:
+            voting: false
+        - legacy-sqlalchemy-migrate-tox-py27sa07
+        - legacy-sqlalchemy-migrate-devstack-dsvm:
+            voting: false
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+        - legacy-sqlalchemy-migrate-tox-py27sa07
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/stackalytics
+    templates:
+      - merge-check
+      - publish-to-pypi-quietly
+      - docs-on-readthedocs
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/stacklight-integration-tests
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/stacktach
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/stacktach-klugman
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/stacktach-notification-utils
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/stacktach-notigen
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/stacktach-quince
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/stacktach-quincy
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/stacktach-sandbox
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/stacktach-shoebox
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/stacktach-simport
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/stacktach-stackdistiller
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/stacktach-timex
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/stacktach-winchester
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/stackube
+    templates:
+      - merge-check
+      - golang-jobs
+
+- project:
+    name: openstack/stackviz
+    templates:
+      - merge-check
+      - nodejs4-jobs
+      - openstack-python-jobs
+      - publish-openstack-python-docs
     periodic:
       jobs:
-        - propose-project-config-update
-        - project-config-build-openafs-centos
+        - legacy-periodic-package-stackviz-element
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/steth
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/stevedore
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - openstack-pypy-jobs-nonvoting
+      - check-requirements
+      - lib-forward-testing
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/sticks
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/sticks-dashboard
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/storlets
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+    check:
+      jobs:
+        - legacy-storlets-functional
+    gate:
+      jobs:
+        - legacy-storlets-functional
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/surveil
+    templates:
+      - merge-check
+      - docs-on-readthedocs
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - openstack-pypy-jobs-nonvoting
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/surveil-specs
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/sushy
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+    check:
+      jobs:
+        - openstack-tox-cover
+        - legacy-tempest-dsvm-ironic-ipa-partition-redfish-sushy-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - openstack-tox-cover
+        - legacy-tempest-dsvm-ironic-ipa-partition-redfish-sushy-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/sushy-tools
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/swauth
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - docs-on-readthedocs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/swift
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - release-openstack-server
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - check-requirements
+      - translation-jobs
+      - translation-jobs-ocata
+      - api-ref-jobs
+      - install-guide-jobs
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-swift-tox-xfs-tmp-py27
+        - legacy-swift-tox-xfs-tmp-py35
+        - legacy-swift-tox-xfs-tmp-func
+        - legacy-swift-tox-xfs-tmp-func-fast-post:
+            branches: ^stable/newton$
+        - legacy-swift-tox-xfs-tmp-func-post-as-copy:
+            branches: ^(?!stable/newton).*$
+        - legacy-swift-tox-xfs-tmp-func-encryption
+        - legacy-swift-tox-xfs-tmp-func-ec:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-swift-dsvm-functional:
+            irrelevant-files:
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^releasenotes/.*$
+              - ^test/unit/.*$
+            voting: false
+        - legacy-swift-dsvm-functional-identity-v3-only:
+            voting: false
+            irrelevant-files:
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^releasenotes/.*$
+              - ^test/unit/.*$
+        - legacy-tempest-dsvm-neutron-full:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^test/unit/.*$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^test/unit/.*$
+    gate:
+      queue: integrated
+      jobs:
+        - legacy-swift-tox-xfs-tmp-py27
+        - legacy-swift-tox-xfs-tmp-py35
+        - legacy-swift-tox-xfs-tmp-func
+        - legacy-swift-tox-xfs-tmp-func-fast-post:
+            branches: ^stable/newton$
+        - legacy-swift-tox-xfs-tmp-func-post-as-copy:
+            branches: ^(?!stable/newton).*$
+        - legacy-swift-tox-xfs-tmp-func-encryption
+        - legacy-swift-dsvm-functional:
+            irrelevant-files:
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^releasenotes/.*$
+              - ^test/unit/.*$
+            voting: false
+        - legacy-tempest-dsvm-neutron-full:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^test/unit/.*$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^test/unit/.*$
+    post:
+      jobs:
+        - openstack-tox-cover
+    experimental:
+      jobs:
+        - legacy-swift-tox-xfs-tmp-py27-centos-7
+        - legacy-swift-tox-xfs-tmp-func-centos-7
+        - legacy-swift-tox-xfs-tmp-func-fast-post-centos-7:
+            branches: ^stable/newton$
+        - legacy-swift-tox-xfs-tmp-func-post-as-copy-centos-7:
+            branches: ^(?!stable/newton).*$
+        - legacy-swift-tox-xfs-tmp-func-encryption-centos-7
+        - legacy-swift-tox-xfs-tmp-func-ec-centos-7:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-tempest-dsvm-neutron-pg-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^test/unit/.*$
+        - legacy-tempest-dsvm-neutron-full-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^api-ref/.*$
+              - ^doc/.*$
+              - ^install-guide/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^test/unit/.*$
+
+- project:
+    name: openstack/swift-bench
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/swift-ceph-backend
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/swift-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+
+- project:
+    name: openstack/swift3
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-swift3-pylint
+        - legacy-swift3-tox-tempauth
+        - legacy-swift3-tox-keystone
+        - legacy-swift3-tox-s3acl
+        - legacy-swift3-tox-s3tests_tempauth:
+            voting: false
+        - legacy-swift3-tox-s3tests_keystone:
+            voting: false
+    gate:
+      jobs:
+        - legacy-swift3-pylint
+        - legacy-swift3-tox-tempauth
+        - legacy-swift3-tox-keystone
+        - legacy-swift3-tox-s3acl
+    post:
+      jobs:
+        - openstack-tox-cover
+    release:
+      jobs:
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/swiftonfile
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+
+- project:
+    name: openstack/swiftonhpss
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/synergy-scheduler-manager
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/synergy-service
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/syntribos
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/syntribos-openstack-templates
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/syntribos-payloads
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/tacker
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - translation-jobs
+      - openstack-python35-jobs
+      - api-ref-jobs
+    check:
+      jobs:
+        - legacy-tacker-dsvm-functional:
+            voting: false
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            voting: false
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/tacker-horizon
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python35-jobs
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/tacker-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/tap-as-a-service
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-tempest-dsvm-tap-as-a-service:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron_taas/tests/unit/.*$
+              - ^setup.cfg$
+              - ^specs/.*$
+        - openstack-tox-cover:
+            voting: false
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-tempest-dsvm-tap-as-a-service:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^neutron_taas/tests/unit/.*$
+              - ^setup.cfg$
+              - ^specs/.*$
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/tap-as-a-service-dashboard
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/taskflow
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - openstack-pypy-jobs-nonvoting
+      - publish-openstack-python-docs
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/tc-as-a-service
+    templates:
+      - merge-check
+      - openstack-python-jobs
+
+- project:
+    name: openstack/telcowg-usecases
+    templates:
+      - merge-check
+      - build-only-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/telemetry-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/tempest
+    templates:
+      - merge-check
+      - check-requirements
+      - integrated-gate-py35
+      - integrated-gate-nova-net
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - publish-to-pypi
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-grenade-dsvm-neutron-multinode:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-tempest-dsvm-full-devstack-plugin-ceph:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-puppet-openstack-integration-4-scenario001-tempest-centos-7:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+              - ^test-requirements.txt$
+        - legacy-puppet-openstack-integration-4-scenario002-tempest-centos-7:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+              - ^test-requirements.txt$
+        - legacy-puppet-openstack-integration-4-scenario003-tempest-centos-7:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+              - ^test-requirements.txt$
+        - legacy-puppet-openstack-integration-4-scenario004-tempest-centos-7:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+              - ^test-requirements.txt$
+        - legacy-tempest-dsvm-neutron-dvr:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-tempest-dsvm-neutron-full-pike:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+            voting: false
+        - legacy-tempest-dsvm-nnet-ocata:
+            branches: stable/newton
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+            voting: false
+        - legacy-tempest-dsvm-neutron-full-ocata:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+            voting: false
+        - legacy-tempest-dsvm-nnet-newton:
+            branches: stable/newton
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+            voting: false
+        - legacy-tempest-dsvm-neutron-full-newton:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+            voting: false
+        - legacy-tempest-dsvm-neutron-scenario-multinode-lvm-multibackend:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-tempest-dsvm-neutron-multinode-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-tempest-tox-plugin-sanity-check:
+            voting: false
+        - openstack-tox-cover:
+            voting: false
+        - legacy-tempest-dsvm-neutron-full:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+    gate:
+      queue: integrated
+      jobs:
+        - legacy-grenade-dsvm-neutron-multinode:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-tempest-dsvm-neutron-full:
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-grenade-dsvm-neutron:
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+    experimental:
+      jobs:
+        - legacy-periodic-tempest-dsvm-all-master:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-tempest-dsvm-multinode-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-tempest-dsvm-neutron-dvr-multinode-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-tempest-dsvm-neutron-dvr-ha-multinode-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-tempest-dsvm-multinode-live-migration:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-tempest-dsvm-cells:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-tempest-dsvm-full-test-accounts:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-tempest-dsvm-neutron-full-test-accounts:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-tempest-dsvm-identity-v3-test-accounts:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-tempest-dsvm-neutron-full-non-admin:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-tempest-dsvm-nova-v20-api:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-tempest-dsvm-lvm-multibackend:
+            voting: false
+            branches: ^(?!driverfixes/).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-tempest-dsvm-cinder-v1:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-tempest-dsvm-py35-full-devstack-plugin-ceph:
+            voting: false
+            branches: ^(?!(stable/(newton|ocata)|driverfixes/)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-tempest-dsvm-neutron-pg-full:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-tempest-dsvm-neutron-full-opensuse-423:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+    post:
+      jobs:
+        - openstack-tox-cover
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball
+    periodic-stable:
+      jobs:
+        - legacy-periodic-tempest-dsvm-nnet-newton:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-periodic-tempest-dsvm-neutron-full-newton:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-periodic-tempest-dsvm-nnet-ocata:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-periodic-tempest-dsvm-neutron-full-ocata:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-periodic-tempest-dsvm-nnet-pike:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-periodic-tempest-dsvm-neutron-full-pike:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+    periodic:
+      jobs:
+        - legacy-periodic-tempest-dsvm-full-test-accounts-master:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-periodic-tempest-dsvm-neutron-full-test-accounts-master:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-periodic-tempest-dsvm-neutron-full-non-admin-master:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+        - legacy-periodic-tempest-dsvm-all-master:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+
+- project:
+    name: openstack/tempest-horizon
+    templates:
+      - merge-check
+      - check-requirements
+    check:
+      jobs:
+        - legacy-horizon-dsvm-tempest-plugin
+    gate:
+      queue: horizon
+      jobs:
+        - legacy-horizon-dsvm-tempest-plugin
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/tempest-lib
+    templates:
+      - merge-check
+      - check-requirements
+      - publish-openstack-python-docs
+      - lib-forward-testing
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/tempest-plugin-cookiecutter
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/tempest-tripleo-ui
+    templates:
+      - merge-check
+      - check-requirements
+    check:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    gate:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    post:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+    tag:
+      jobs:
+        - legacy-releasenotes:
+            files:
+              - ^releasenotes/.*
+              - ^tox.ini
+              - ^.*requirements.txt$
+
+- project:
+    name: openstack/terracotta
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/third-party-ci-tools
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/timmy
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/tooz
+    templates:
+      - merge-check
+      - check-requirements
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - lib-forward-testing
+      - release-notes-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+    check:
+      jobs:
+        - legacy-tooz-tox-py27-etcd
+        - legacy-tooz-tox-py35-etcd:
+            branches: ^(?!stable/newton).*$
+        - legacy-tooz-tox-py27-etcd3:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-tooz-tox-py35-etcd3:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-tooz-tox-py27-etcd3gw:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-tooz-tox-py35-etcd3gw:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-tooz-tox-py27-zookeeper
+        - legacy-tooz-tox-py35-zookeeper:
+            branches: ^(?!stable/newton).*$
+        - legacy-tooz-tox-py27-redis
+        - legacy-tooz-tox-py35-redis:
+            branches: ^(?!stable/newton).*$
+        - legacy-tooz-tox-py27-sentinel
+        - legacy-tooz-tox-py35-sentinel:
+            branches: ^(?!stable/newton).*$
+        - legacy-tooz-tox-py27-memcached
+        - legacy-tooz-tox-py35-memcached:
+            branches: ^(?!stable/newton).*$
+        - legacy-tooz-tox-py27-postgresql
+        - legacy-tooz-tox-py35-postgresql:
+            branches: ^(?!stable/newton).*$
+        - legacy-tooz-tox-py27-mysql
+        - legacy-tooz-tox-py35-mysql:
+            branches: ^(?!stable/newton).*$
+        - legacy-tooz-tox-py27-consul
+        - legacy-tooz-tox-py35-consul:
+            branches: ^(?!stable/newton).*$
+    gate:
+      jobs:
+        - legacy-tooz-tox-py27-etcd
+        - legacy-tooz-tox-py35-etcd:
+            branches: ^(?!stable/newton).*$
+        - legacy-tooz-tox-py27-etcd3:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-tooz-tox-py35-etcd3:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-tooz-tox-py27-etcd3gw:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-tooz-tox-py35-etcd3gw:
+            branches: ^(?!stable/(newton|ocata)).*$
+        - legacy-tooz-tox-py27-zookeeper
+        - legacy-tooz-tox-py35-zookeeper:
+            branches: ^(?!stable/newton).*$
+        - legacy-tooz-tox-py27-redis
+        - legacy-tooz-tox-py35-redis:
+            branches: ^(?!stable/newton).*$
+        - legacy-tooz-tox-py27-sentinel
+        - legacy-tooz-tox-py35-sentinel:
+            branches: ^(?!stable/newton).*$
+        - legacy-tooz-tox-py27-memcached
+        - legacy-tooz-tox-py35-memcached:
+            branches: ^(?!stable/newton).*$
+        - legacy-tooz-tox-py27-postgresql
+        - legacy-tooz-tox-py35-postgresql:
+            branches: ^(?!stable/newton).*$
+        - legacy-tooz-tox-py27-mysql
+        - legacy-tooz-tox-py35-mysql:
+            branches: ^(?!stable/newton).*$
+        - legacy-tooz-tox-py27-consul
+        - legacy-tooz-tox-py35-consul:
+            branches: ^(?!stable/newton).*$
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/tosca-parser
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+    post:
+      jobs:
+        - openstack-tox-cover
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/training-guides
+    templates:
+      - merge-check
+      - translation-jobs
+    check:
+      jobs:
+        - legacy-training-guides-tox-doc-publish-checkbuild: {}
+    gate:
+      jobs:
+        - legacy-training-guides-tox-doc-publish-checkbuild: {}
+    post:
+      jobs:
+        - legacy-training-guides-tox-doc-publishdocs
+
+- project:
+    name: openstack/training-labs
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    check:
+      jobs:
+        - legacy-gate-training-labs-scripts
+    gate:
+      jobs:
+        - legacy-gate-training-labs-scripts
+    post:
+      jobs:
+        - legacy-training-labs-scripts
+
+- project:
+    name: openstack/transparency-policy
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+    gate:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+    post:
+      jobs:
+        - legacy-static-transparency-policy-publish
+
+- project:
+    name: openstack/tricircle
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-tricircle-dsvm-functional
+        - openstack-tox-cover
+        - legacy-tricircle-dsvm-multiregion
+    gate:
+      jobs:
+        - legacy-tricircle-dsvm-functional
+        - openstack-tox-cover
+        - legacy-tricircle-dsvm-multiregion
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/trio2o
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-trio2o-dsvm-functional:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/tripleo-common
+    templates:
+      - merge-check
+      - check-requirements
+      - publish-openstack-python-docs
+      - publish-to-pypi
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - tripleo-upgrade-jobs
+      - experimental-tripleo-jobs
+      - release-notes-jobs
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-undercloud-containers:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-containers-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    experimental:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario005-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/pacemaker.*$
+              - ^manifests/pacemaker/.*$
+              - ^manifests/profile/pacemaker.*$
+              - manifests/profile/base/pacemaker.pp
+              - ci/environments/scenario005-multinode.yaml
+              - ci/pingtests/scenario005-multinode.yaml
+              - config/general_config/featureset009.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario006-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/kubernetes.*$
+              - ^environments/kubernetes.*$
+              - ci/environments/scenario006-multinode.yaml
+              - ci/pingtests/scenario006-multinode.yaml
+              - config/general_config/featureset026.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario008-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^environments/.*opendaylight.*$
+              - ^puppet/services/.*opendaylight.*$
+              - manifests/profile/base/neutron/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ml2/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ovs/opendaylight.pp
+              - ^manifests/profile/base/neutron/opendaylight/.*$
+              - ci/environments/scenario008-multinode.yaml
+              - ci/pingtests/scenario008-multinode.yaml
+              - config/general_config/featureset031.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq-container:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode-containers.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^(docker|puppet)/services/.*ovn.*$
+              - ^manifests/profile/pacemaker/ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset030.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario009-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/openshift.*$
+              - ^environments/openshift.*$
+              - ci/environments/scenario009-multinode.yaml
+              - ci/pingtests/scenario009-multinode.yaml
+              - config/general_config/featureset033.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/tripleo-docs
+    templates:
+      - merge-check
+      - publish-openstack-python-docs
+    check:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+        - build-openstack-sphinx-docs:
+            files:
+              - ^tox.ini$
+              - ^deploy-guide/.*
+              - bindep.txt
+              - other-requirements.txt
+    gate:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+        - build-openstack-sphinx-docs:
+            files:
+              - ^tox.ini$
+              - ^deploy-guide/.*
+              - bindep.txt
+              - other-requirements.txt
+
+- project:
+    name: openstack/tripleo-heat-templates
+    templates:
+      - merge-check
+      - publish-to-pypi
+      - experimental-tripleo-jobs
+      - check-requirements
+      - release-notes-jobs
+      - tripleo-upgrade-jobs
+      - tripleo-upgrade-jobs-scenario001
+      - tripleo-upgrade-jobs-scenario002
+      - tripleo-upgrade-jobs-scenario003
+      - tripleo-upgrade-jobs-scenario004
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - legacy-tripleo-ci-centos-7-3nodes-multinode:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-undercloud-containers:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-containers-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    experimental:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario005-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/pacemaker.*$
+              - ^manifests/pacemaker/.*$
+              - ^manifests/profile/pacemaker.*$
+              - manifests/profile/base/pacemaker.pp
+              - ci/environments/scenario005-multinode.yaml
+              - ci/pingtests/scenario005-multinode.yaml
+              - config/general_config/featureset009.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario006-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/kubernetes.*$
+              - ^environments/kubernetes.*$
+              - ci/environments/scenario006-multinode.yaml
+              - ci/pingtests/scenario006-multinode.yaml
+              - config/general_config/featureset026.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario008-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^environments/.*opendaylight.*$
+              - ^puppet/services/.*opendaylight.*$
+              - manifests/profile/base/neutron/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ml2/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ovs/opendaylight.pp
+              - ^manifests/profile/base/neutron/opendaylight/.*$
+              - ci/environments/scenario008-multinode.yaml
+              - ci/pingtests/scenario008-multinode.yaml
+              - config/general_config/featureset031.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq-container:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode-containers.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^(docker|puppet)/services/.*ovn.*$
+              - ^manifests/profile/pacemaker/ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset030.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario009-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/openshift.*$
+              - ^environments/openshift.*$
+              - ci/environments/scenario009-multinode.yaml
+              - ci/pingtests/scenario009-multinode.yaml
+              - config/general_config/featureset033.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/tripleo-image-elements
+    templates:
+      - merge-check
+      - publish-to-pypi
+      - experimental-tripleo-jobs
+      - release-notes-jobs
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-containers-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    check:
+      jobs:
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-undercloud-containers:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    experimental:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario005-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/pacemaker.*$
+              - ^manifests/pacemaker/.*$
+              - ^manifests/profile/pacemaker.*$
+              - manifests/profile/base/pacemaker.pp
+              - ci/environments/scenario005-multinode.yaml
+              - ci/pingtests/scenario005-multinode.yaml
+              - config/general_config/featureset009.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario006-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/kubernetes.*$
+              - ^environments/kubernetes.*$
+              - ci/environments/scenario006-multinode.yaml
+              - ci/pingtests/scenario006-multinode.yaml
+              - config/general_config/featureset026.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario008-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^environments/.*opendaylight.*$
+              - ^puppet/services/.*opendaylight.*$
+              - manifests/profile/base/neutron/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ml2/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ovs/opendaylight.pp
+              - ^manifests/profile/base/neutron/opendaylight/.*$
+              - ci/environments/scenario008-multinode.yaml
+              - ci/pingtests/scenario008-multinode.yaml
+              - config/general_config/featureset031.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq-container:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode-containers.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^(docker|puppet)/services/.*ovn.*$
+              - ^manifests/profile/pacemaker/ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset030.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario009-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/openshift.*$
+              - ^environments/openshift.*$
+              - ci/environments/scenario009-multinode.yaml
+              - ci/pingtests/scenario009-multinode.yaml
+              - config/general_config/featureset033.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/tripleo-incubator
+    templates:
+      - merge-check
+      - experimental-tripleo-jobs
+      - publish-openstack-python-docs
+    check:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-undercloud-containers:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-containers-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    experimental:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario005-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/pacemaker.*$
+              - ^manifests/pacemaker/.*$
+              - ^manifests/profile/pacemaker.*$
+              - manifests/profile/base/pacemaker.pp
+              - ci/environments/scenario005-multinode.yaml
+              - ci/pingtests/scenario005-multinode.yaml
+              - config/general_config/featureset009.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario006-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/kubernetes.*$
+              - ^environments/kubernetes.*$
+              - ci/environments/scenario006-multinode.yaml
+              - ci/pingtests/scenario006-multinode.yaml
+              - config/general_config/featureset026.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario008-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^environments/.*opendaylight.*$
+              - ^puppet/services/.*opendaylight.*$
+              - manifests/profile/base/neutron/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ml2/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ovs/opendaylight.pp
+              - ^manifests/profile/base/neutron/opendaylight/.*$
+              - ci/environments/scenario008-multinode.yaml
+              - ci/pingtests/scenario008-multinode.yaml
+              - config/general_config/featureset031.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq-container:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode-containers.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^(docker|puppet)/services/.*ovn.*$
+              - ^manifests/profile/pacemaker/ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset030.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario009-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/openshift.*$
+              - ^environments/openshift.*$
+              - ci/environments/scenario009-multinode.yaml
+              - ci/pingtests/scenario009-multinode.yaml
+              - config/general_config/featureset033.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/tripleo-puppet-elements
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - publish-to-pypi
+      - release-notes-jobs
+      - experimental-tripleo-jobs
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-containers-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    check:
+      jobs:
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-undercloud-containers:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    experimental:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario005-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/pacemaker.*$
+              - ^manifests/pacemaker/.*$
+              - ^manifests/profile/pacemaker.*$
+              - manifests/profile/base/pacemaker.pp
+              - ci/environments/scenario005-multinode.yaml
+              - ci/pingtests/scenario005-multinode.yaml
+              - config/general_config/featureset009.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario006-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/kubernetes.*$
+              - ^environments/kubernetes.*$
+              - ci/environments/scenario006-multinode.yaml
+              - ci/pingtests/scenario006-multinode.yaml
+              - config/general_config/featureset026.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario008-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^environments/.*opendaylight.*$
+              - ^puppet/services/.*opendaylight.*$
+              - manifests/profile/base/neutron/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ml2/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ovs/opendaylight.pp
+              - ^manifests/profile/base/neutron/opendaylight/.*$
+              - ci/environments/scenario008-multinode.yaml
+              - ci/pingtests/scenario008-multinode.yaml
+              - config/general_config/featureset031.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq-container:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode-containers.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^(docker|puppet)/services/.*ovn.*$
+              - ^manifests/profile/pacemaker/ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset030.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario009-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/openshift.*$
+              - ^environments/openshift.*$
+              - ci/environments/scenario009-multinode.yaml
+              - ci/pingtests/scenario009-multinode.yaml
+              - config/general_config/featureset033.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/tripleo-quickstart
+    templates:
+      - merge-check
+      - publish-openstack-python-docs
+      - release-openstack-server
+      - release-notes-jobs
+      - tripleo-upgrade-jobs
+    check:
+      jobs:
+        - openstack-tox-linters
+        - build-openstack-sphinx-docs: {}
+        - legacy-tripleo-ci-centos-7-3nodes-multinode:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-undercloud-containers:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - openstack-tox-linters
+        - build-openstack-sphinx-docs: {}
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    experimental-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-tempest-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-containers-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    experimental:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario005-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/pacemaker.*$
+              - ^manifests/pacemaker/.*$
+              - ^manifests/profile/pacemaker.*$
+              - manifests/profile/base/pacemaker.pp
+              - ci/environments/scenario005-multinode.yaml
+              - ci/pingtests/scenario005-multinode.yaml
+              - config/general_config/featureset009.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario006-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/kubernetes.*$
+              - ^environments/kubernetes.*$
+              - ci/environments/scenario006-multinode.yaml
+              - ci/pingtests/scenario006-multinode.yaml
+              - config/general_config/featureset026.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario008-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^environments/.*opendaylight.*$
+              - ^puppet/services/.*opendaylight.*$
+              - manifests/profile/base/neutron/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ml2/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ovs/opendaylight.pp
+              - ^manifests/profile/base/neutron/opendaylight/.*$
+              - ci/environments/scenario008-multinode.yaml
+              - ci/pingtests/scenario008-multinode.yaml
+              - config/general_config/featureset031.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq-container:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode-containers.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^(docker|puppet)/services/.*ovn.*$
+              - ^manifests/profile/pacemaker/ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset030.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario009-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/openshift.*$
+              - ^environments/openshift.*$
+              - ci/environments/scenario009-multinode.yaml
+              - ci/pingtests/scenario009-multinode.yaml
+              - config/general_config/featureset033.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/tripleo-quickstart-extras
+    templates:
+      - merge-check
+      - release-openstack-server
+      - release-notes-jobs
+      - tripleo-upgrade-jobs
+      - tripleo-scenario-jobs-scenario002
+      - tripleo-scenario-jobs-scenario003
+      - tripleo-scenario-jobs-scenario004
+    check:
+      jobs:
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - openstack-tox-linters
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-undercloud-containers:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-3nodes-multinode:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-containers-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - openstack-tox-linters
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-puppet:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    experimental-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-tempest-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/tripleo-repos
+    templates:
+      - merge-check
+      - publish-to-pypi
+      - experimental-tripleo-jobs
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-undercloud-containers:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    check-tripleo:
+      jobs:
+        - legacy-tripleo-ci-centos-7-ovb-ha-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-containers-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-ovb-1ctlr_1comp_1ceph-featureset024:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-tripleo-ci-centos-7-nonha-multinode-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-containers-multinode:
+            branches: ^(?!stable/(newton|ocata)).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario001-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^manifests/profile/base/monitoring.*$
+              - ^(docker|puppet)/services/monitoring.*$
+              - ^manifests/profile/base/metrics.*$
+              - ^(docker|puppet)/services/metrics.*$
+              - ^manifests/profile/base/logging.*$
+              - ^(docker|puppet)/services/logging.*$
+              - ^(docker|puppet)/services/tacker.*$
+              - ^manifests/profile/base/tacker.*$
+              - ^(docker|puppet)/services/congress.*$
+              - ^manifests/profile/base/congress.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ci/environments/scenario001.*$
+              - ci/pingtests/scenario001.*$
+              - config/general_config/featureset005.yml
+              - config/general_config/featureset012.yml
+              - config/general_config/featureset016.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/barbican.*$
+              - ^manifests/profile/base/barbican.*$
+              - ^(docker|puppet)/services/cinder.*$
+              - ^manifests/profile/base/cinder.*$
+              - ^(docker|puppet)/services/ec2-api.*$
+              - ^manifests/profile/base/nova/ec2.*$
+              - ^(docker|puppet)/services/swift.*$
+              - ^manifests/profile/base/swift.*$
+              - ^(docker|puppet)/services/zaqar.*$
+              - ^manifests/profile/base/zaqar.*$
+              - ^(docker|puppet)/services/aodh.*$
+              - ^manifests/profile/base/aodh.*$
+              - ^(docker|puppet)/services/ceilometer.*$
+              - ^manifests/profile/base/ceilometer.*$
+              - ^(docker|puppet)/services/gnocchi.*$
+              - ^manifests/profile/base/gnocchi.*$
+              - ^(docker|puppet)/services/panko.*$
+              - ^manifests/profile/base/panko.*$
+              - ci/environments/scenario002.*$
+              - ci/pingtests/scenario002.*$
+              - config/general_config/featureset006.yml
+              - config/general_config/featureset013.yml
+              - config/general_config/featureset017.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq:
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario003-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/sahara.*$
+              - ^manifests/profile/base/sahara.*$
+              - ^(docker|puppet)/services/mistral.*$
+              - ^manifests/profile/base/mistral.*$
+              - ci/environments/scenario003.*$
+              - ci/pingtests/scenario003.*$
+              - config/general_config/featureset007.yml
+              - config/general_config/featureset014.yml
+              - config/general_config/featureset018.yml
+              - roles\/(.+\/)
+              - toci-quickstart\/(config|playbooks)\/(.+)
+              - toci_.+
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq:
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario004-multinode-oooq-container:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^(docker|puppet)/services/glance.*$
+              - ^manifests/profile/base/glance.*$
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/ceph.*$
+              - ^manifests/profile/base/ceph.*$
+              - ^(docker|puppet)/services/manila.*$
+              - ^manifests/profile/base/manila.*$
+              - ^manifests/profile/pacemaker/manila.*$
+              - ci/environments/scenario004.*$
+              - ci/pingtests/scenario004.*$
+              - config/general_config/featureset008.yml
+              - config/general_config/featureset015.yml
+              - config/general_config/featureset019.yml
+              - workbooks/ceph-ansible.yaml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq:
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^puppet/services/.*ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset028.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    experimental:
+      jobs:
+        - legacy-tripleo-ci-centos-7-scenario005-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            files:
+              - ^manifests/haproxy.*$
+              - ^(docker|puppet)/services/pacemaker.*$
+              - ^manifests/pacemaker/.*$
+              - ^manifests/profile/pacemaker.*$
+              - manifests/profile/base/pacemaker.pp
+              - ci/environments/scenario005-multinode.yaml
+              - ci/pingtests/scenario005-multinode.yaml
+              - config/general_config/featureset009.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario006-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/kubernetes.*$
+              - ^environments/kubernetes.*$
+              - ci/environments/scenario006-multinode.yaml
+              - ci/pingtests/scenario006-multinode.yaml
+              - config/general_config/featureset026.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario008-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^environments/.*opendaylight.*$
+              - ^puppet/services/.*opendaylight.*$
+              - manifests/profile/base/neutron/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ml2/opendaylight.pp
+              - manifests/profile/base/neutron/plugins/ovs/opendaylight.pp
+              - ^manifests/profile/base/neutron/opendaylight/.*$
+              - ci/environments/scenario008-multinode.yaml
+              - ci/pingtests/scenario008-multinode.yaml
+              - config/general_config/featureset031.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario007-multinode-oooq-container:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ci/environments/scenario007-multinode-containers.yaml
+              - ci/pingtests/scenario007-multinode.yaml
+              - ^(docker|puppet)/services/.*ovn.*$
+              - ^manifests/profile/pacemaker/ovn.*$
+              - ^manifests/profile/base/neutron/plugins/ml2/ovn.*$
+              - ^manifests/profile/base/neutron/agents/ovn.*$
+              - ^manifests/profile/base/neutron/ovn.*$
+              - config/general_config/featureset030.yml
+              - ^container-images/.*$
+              - ^environments\/.*.yaml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-scenario009-multinode-oooq:
+            voting: false
+            branches: ^(?!stable/(newton|ocata)).*$
+            files:
+              - ^coe/openshift.*$
+              - ^environments/openshift.*$
+              - ci/environments/scenario009-multinode.yaml
+              - ci/pingtests/scenario009-multinode.yaml
+              - config/general_config/featureset033.yml
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+
+- project:
+    name: openstack/tripleo-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/tripleo-ui
+    templates:
+      - merge-check
+      - nodejs6-publish-to-npm
+      - release-notes-jobs
+      - translation-jobs
+      - translation-jobs-ocata
+      - translation-jobs-pike
+    check:
+      jobs:
+        - legacy-tripleo-ui-nodejs6-npm-run-test
+        - legacy-tripleo-ui-nodejs6-npm-run-lint
+        - legacy-tripleo-ci-centos-7-undercloud-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+        - legacy-tripleo-ci-centos-7-undercloud-upgrades:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-tripleo-ui-nodejs6-npm-run-test
+        - legacy-tripleo-ui-nodejs6-npm-run-lint
+        - legacy-tripleo-ci-centos-7-undercloud-oooq:
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    post:
+      jobs:
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/tripleo-upgrade
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/tripleo-validations
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/trove
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - check-requirements
+      - install-guide-jobs
+      - translation-jobs
+      - release-notes-jobs
+      - periodic-jobs-with-oslo-master
+      - api-ref-jobs
+    check:
+      jobs:
+        - legacy-trove-functional-dsvm-mysql:
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-legacy-functional-dsvm-mysql
+        - legacy-trove-scenario-dsvm-mariadb-single:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-scenario-dsvm-mariadb-multi:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-scenario-dsvm-mysql-single:
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-scenario-dsvm-mysql-multi:
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-scenario-dsvm-postgresql-single:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-scenario-dsvm-postgresql-multi:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-scenario-dsvm-pxc-single:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-scenario-dsvm-pxc-multi:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-scenario-dsvm-redis-single:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-scenario-dsvm-redis-multi:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-legacy-scenario-dsvm-mysql:
+            branches: ^stable/newton$
+        - legacy-trove-legacy-scenario-dsvm-postgresql:
+            branches: ^stable/newton$
+        - legacy-trove-legacy-scenario-dsvm-pxc:
+            branches: ^stable/newton$
+        - legacy-trove-legacy-scenario-dsvm-redis:
+            voting: false
+            branches: ^stable/newton$
+        - legacy-trove-tox-fakemodetests
+        - legacy-trove-tox-apiexamples
+        - legacy-trove-pylint
+    gate:
+      queue: python-troveclient
+      jobs:
+        - legacy-trove-functional-dsvm-mysql:
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-legacy-functional-dsvm-mysql
+        - legacy-trove-scenario-dsvm-mysql-single:
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-scenario-dsvm-mysql-multi:
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-legacy-scenario-dsvm-mysql:
+            branches: ^stable/newton$
+        - legacy-trove-legacy-scenario-dsvm-postgresql:
+            branches: ^stable/newton$
+        - legacy-trove-legacy-scenario-dsvm-pxc:
+            branches: ^stable/newton$
+        - legacy-trove-tox-fakemodetests
+        - legacy-trove-tox-apiexamples
+        - legacy-trove-pylint
+    post:
+      jobs:
+        - openstack-tox-cover
+    experimental:
+      jobs:
+        - legacy-grenade-dsvm-trove:
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-trove-scenario-dsvm-cassandra-single:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-scenario-dsvm-cassandra-multi:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-scenario-dsvm-couchbase-single:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-scenario-dsvm-couchdb-single:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-scenario-dsvm-mongodb-single:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-scenario-dsvm-mongodb-multi:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-scenario-dsvm-percona-single:
+            voting: false
+            branches: ^(?!stable/newton).*$
+        - legacy-trove-scenario-dsvm-percona-multi:
+            voting: false
+            branches: ^(?!stable/newton).*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/trove-dashboard
+    templates:
+      - merge-check
+      - check-requirements
+      - translation-jobs
+      - translation-jobs-ocata
+      - translation-jobs-pike
+      - release-notes-jobs
+      - openstack-python35-jobs-nonvoting
+    check:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-pep8
+        - openstack-tox-py27
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/trove-integration
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-trove-legacy-functional-dsvm-mysql-newton
+        - legacy-trove-legacy-functional-dsvm-redis-newton
+    gate:
+      jobs:
+        - legacy-trove-legacy-functional-dsvm-mysql-newton
+        - legacy-trove-legacy-functional-dsvm-redis-newton
+
+- project:
+    name: openstack/trove-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/tuning-box
+    templates:
+      - merge-check
+      - openstack-python-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/turbo-hipster
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - docs-on-readthedocs
+
+- project:
+    name: openstack/uc-recognition
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/ui-cookiecutter
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/upstream-institute-virtual-environment
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/vahana
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/valence
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/valence-specs
+    templates:
+      - merge-check
+      - build-only-specs-jobs
+
+- project:
+    name: openstack/valet
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs-nonvoting
+      - check-requirements
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/virtualbmc
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-tempest-dsvm-ironic-pxe_ipmitool-virtualbmc-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - legacy-tempest-dsvm-ironic-pxe_ipmitool-virtualbmc-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/virtualpdu
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+    experimental:
+      jobs:
+        - legacy-tempest-dsvm-ironic-pxe_snmp-virtualpdu-src:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/vitrage
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+    check:
+      jobs:
+        - legacy-vitrage-dsvm-api-py27
+        - legacy-vitrage-dsvm-datasources-py27
+        - legacy-vitrage-dsvm-api-py35:
+            voting: false
+            branches: ^(?!stable/(newton|ocata|pike)).*$
+        - legacy-vitrage-dsvm-datasources-py35:
+            voting: false
+            branches: ^(?!stable/(newton|ocata|pike)).*$
+    gate:
+      jobs:
+        - legacy-vitrage-dsvm-api-py27
+        - legacy-vitrage-dsvm-datasources-py27
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/vitrage-dashboard
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - release-notes-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/vitrage-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+
+- project:
+    name: openstack/vm-bm-wg
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/vmtp
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - docs-on-readthedocs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/vmware-nsx
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/vmware-nsx-tempest-plugin
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+    check:
+      jobs:
+        - legacy-python35:
+            voting: false
+    gate:
+      jobs:
+        - legacy-python35:
+            voting: false
+
+- project:
+    name: openstack/vmware-nsxlib
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - check-requirements
+      - openstack-python35-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/vmware-vspc
+    templates:
+      - merge-check
+      - openstack-python35-jobs
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/watcher
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - translation-jobs
+      - check-requirements
+      - release-notes-jobs
+    check:
+      jobs:
+        - openstack-tox-cover:
+            voting: false
+        - legacy-rally-dsvm-watcher-watcher:
+            voting: false
+        - legacy-watcher-dsvm-multinode:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/watcher-dashboard
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - check-requirements
+      - translation-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/watcher-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/watcher-tempest-plugin
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - legacy-watcher-dsvm-multinode:
+            voting: false
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/whereto
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - docs-on-readthedocs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/windmill
+    templates:
+      - merge-check
+      - ansible-role-jobs
+      - docs-on-readthedocs
+      - windmill-buildimages-xenial
+      - windmill-jobs-centos7-nv
+      - windmill-jobs-fedora-26
+      - windmill-jobs-xenial
+
+- project:
+    name: openstack/workload-ref-archs
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+    gate:
+      jobs:
+        - build-openstack-sphinx-docs: {}
+
+- project:
+    name: openstack/wsme
+    templates:
+      - merge-check
+      - openstack-python35-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-py27
+        - openstack-tox-pep8
+    post:
+      jobs:
+        - publish-openstack-python-branch-tarball
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/xenapi-os-testing
+    templates:
+      - merge-check
+      - noop-jobs
+
+- project:
+    name: openstack/xstatic-angular
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-angular-bootstrap
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-angular-cookies
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-angular-fileupload
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-angular-gettext
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-angular-lrdragndrop
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-angular-mock
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-angular-sanitize
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-angular-smart-table
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-angular-ui-router
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-bootstrap-datepicker
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-bootstrap-scss
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-bootswatch
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-d3
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-font-awesome
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-hogan
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-jasmine
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-jquery-migrate
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-jquery.bootstrap.wizard
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-jquery.quicksearch
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-jquery.tablesorter
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-jsencrypt
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-magic-search
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-mdi
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-qunit
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-rickshaw
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-roboto-fontface
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/xstatic-spin
+    templates:
+      - merge-check
+      - noop-jobs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball:
+            dependencies:
+              - xstatic-check-version
+        - xstatic-check-version
+
+- project:
+    name: openstack/yaql
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - docs-on-readthedocs
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-propose-update-constraints:
+            dependencies:
+              - legacy-pypi-both-upload
+        - legacy-pypi-both-upload:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/zaqar
+    templates:
+      - merge-check
+      - openstack-python35-jobs
+      - openstack-python-jobs
+      - periodic-newton
+      - periodic-ocata
+      - periodic-pike
+      - check-requirements
+      - translation-jobs
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - api-ref-jobs
+      - install-guide-jobs
+    check:
+      jobs:
+        - legacy-zaqar-tox-integration
+        - legacy-rally-dsvm-zaqar-zaqar:
+            voting: false
+        - legacy-tempest-dsvm-mongodb-zaqar:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-redis-zaqar:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-swift-zaqar:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-grenade-dsvm-mongodb-zaqar:
+            voting: false
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-grenade-dsvm-redis-zaqar:
+            voting: false
+            branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-tripleo-ci-centos-7-scenario002-multinode-oooq-puppet:
+            voting: false
+            branches: ^(?!stable/newton).*$
+            irrelevant-files:
+              - ^.*\.md$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^metadata.json$
+              - ^releasenotes/.*$
+              - ^test-requirements.txt$
+    gate:
+      jobs:
+        - legacy-zaqar-tox-integration
+        - legacy-tempest-dsvm-mongodb-zaqar:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-redis-zaqar:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+        - legacy-tempest-dsvm-swift-zaqar:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/zaqar-specs
+    templates:
+      - merge-check
+      - openstack-specs-jobs
+    check:
+      jobs:
+        - openstack-tox-py27
+    gate:
+      jobs:
+        - openstack-tox-py27
+
+- project:
+    name: openstack/zaqar-tempest-plugin
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/zaqar-ui
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - translation-jobs
+      - translation-jobs-ocata
+      - translation-jobs-pike
+    check:
+      jobs:
+        - legacy-zaqar-ui-nodejs4-npm-run-lint:
+            voting: false
+        - legacy-zaqar-ui-nodejs4-npm-run-test:
+            voting: false
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/zun
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - publish-openstack-python-docs
+      - check-requirements
+      - api-ref-jobs
+    check:
+      jobs:
+        - legacy-zun-devstack-dsvm-docker-sql:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-zun-devstack-dsvm-docker-split-plugin-sql:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-zun-devstack-dsvm-py35-docker-sql:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-zun-devstack-dsvm-docker-etcd:
+            voting: false
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-tempest-dsvm-zun-multinode-docker-sql:
+            voting: false
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^setup.cfg$
+    gate:
+      jobs:
+        - legacy-zun-devstack-dsvm-docker-sql:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+        - legacy-zun-devstack-dsvm-py35-docker-sql:
+            irrelevant-files:
+              - ^.*\.rst$
+              - ^doc/.*$
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+
+- project:
+    name: openstack/zun-tempest-plugin
+    templates:
+      - merge-check
+    check:
+      jobs:
+        - openstack-tox-pep8
+    gate:
+      jobs:
+        - openstack-tox-pep8
+
+- project:
+    name: openstack/zun-ui
+    templates:
+      - merge-check
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - check-requirements
+      - publish-openstack-python-docs
+      - release-notes-jobs
+      - translation-jobs
+    check:
+      jobs:
+        - legacy-zun-ui-nodejs4-npm-run-lint
+        - legacy-zun-ui-nodejs4-npm-run-test:
+            voting: false
+    gate:
+      jobs:
+        - legacy-zun-ui-nodejs4-npm-run-lint
+    pre-release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
+    release:
+      jobs:
+        - publish-openstack-python-tarball:
+            dependencies:
+              - publish-openstack-python-tarball
+        - legacy-announce-release:
+            dependencies:
+              - publish-openstack-python-tarball
+        - publish-openstack-python-tarball
diff --git a/zuul/layout.yaml b/zuul/layout.yaml
index 5a148e51d0..f4d155f640 100755
--- a/zuul/layout.yaml
+++ b/zuul/layout.yaml
@@ -4305,11 +4305,6 @@ projects:
       - name: puppet-beaker-jobs
       - name: puppet-beaker-jobs-xenial
 
-  - name: openstack-infra/puppet-dashboard
-    template:
-      - name: merge-check
-      - name: noop-jobs
-
   - name: openstack-infra/puppet-diskimage_builder
     template:
       - name: merge-check
diff --git a/zuul/mapping.yaml b/zuul/mapping.yaml
index ef5bc8c2b7..e4966f92d9 100644
--- a/zuul/mapping.yaml
+++ b/zuul/mapping.yaml
@@ -37,11 +37,11 @@ job-mapping:
         nodeset: ubuntu-trusty
 
   - old: '^gate-.*-compare-coverage-ubuntu-xenial'
-    new: 'openstack-compare-cover'
+    new: 'openstack-tox-compare-cover'
 
   - old: '^gate-.*-compare-coverage-ubuntu-trusty'
     new:
-      openstack-compare-cover:
+      openstack-tox-compare-cover:
         nodeset: ubuntu-trusty
 
   - old: '^.*-coverage-ubuntu-xenial'