#
# The projects in this file are sorted alphabetically.
#

- project:
    name: aeromancer

    jobs:
      - pypi-jobs

- project:
    name: alexandria

    jobs:
      - python-jobs
      - 'gate-{name}-python35-nv'

- project:
    name: almanach

    jobs:
      - python-jobs
      - pypi-jobs
      - hook-{name}-rtfd
      - '{pipeline}-tempest-almanach-dsvm{suffix}':
          pipeline: 'gate'
          suffix: ''

- project:
    name: anchor

    jobs:
      - python-jobs
      - 'gate-{name}-pypy'
      - openstack-publish-jobs
      - pypi-jobs

- project:
    name: ansible-role-bindep

    jobs:
      - ansible-role-jobs
      - hook-{name}-rtfd

- project:
    name: ansible-role-cloud-launcher

    jobs:
      - ansible-role-dsvm-jobs
      - hook-{name}-rtfd

- project:
    name: ansible-role-diskimage-builder

    jobs:
      - ansible-role-jobs
      - hook-{name}-rtfd

- project:
    name: ansible-role-fedmsg

    jobs:
      - ansible-role-jobs
      - hook-{name}-rtfd

- project:
    name: ansible-role-jenkins

    jobs:
      - ansible-role-jobs
      - hook-{name}-rtfd

- project:
    name: ansible-role-jenkins-job-builder

    jobs:
      - ansible-role-jobs
      - hook-{name}-rtfd

- project:
    name: ansible-role-jenkins-plugins

    jobs:
      - ansible-role-jobs
      - hook-{name}-rtfd

- project:
    name: ansible-role-nginx

    jobs:
      - ansible-role-jobs
      - hook-{name}-rtfd

- project:
    name: ansible-role-nodepool

    jobs:
      - ansible-role-jobs
      - hook-{name}-rtfd

- project:
    name: ansible-role-puppet

    jobs:
      - ansible-lint-jobs

- project:
    name: ansible-role-shade

    jobs:
      - ansible-role-jobs
      - hook-{name}-rtfd

- project:
    name: ansible-role-ssh

    jobs:
      - ansible-role-jobs
      - hook-{name}-rtfd

- project:
    name: ansible-role-sudoers

    jobs:
      - ansible-role-jobs
      - hook-{name}-rtfd

- project:
    name: ansible-role-virtualenv

    jobs:
      - ansible-role-jobs
      - hook-{name}-rtfd

- project:
    name: ansible-role-zookeeper

    jobs:
      - ansible-role-jobs
      - hook-{name}-rtfd

- project:
    name: ansible-role-zuul

    jobs:
      - ansible-role-jobs
      - hook-{name}-rtfd

- project:
    name: aodh

    jobs:
      - python-jobs
      - pypi-jobs
      - openstack-publish-jobs
      - translation-jobs
      - openstack-releasenotes-jobs
      - '{pipeline}-aodh-dsvm-functional-{backend}-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          pipeline: gate
          backend: hbase
      - '{pipeline}-aodh-dsvm-functional-{backend}-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          pipeline: gate
          backend: mysql
      - '{pipeline}-aodh-dsvm-functional-{backend}-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          pipeline: gate
          backend: postgresql
      - '{pipeline}-aodh-dsvm-functional-{backend}-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          pipeline: gate
          backend: mongodb
      - 'gate-aodh-dsvm-tempest-plugin-{backend}{network}-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          backend: hbase
          network: ''
      - 'gate-aodh-dsvm-tempest-plugin-{backend}{network}-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          backend: mongodb
          network: ''
      - 'gate-aodh-dsvm-tempest-plugin-{backend}{network}-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          backend: mysql
          network: ''
      - 'gate-aodh-dsvm-tempest-plugin-{backend}{network}-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          backend: postgresql
          network: ''
      - 'gate-telemetry-dsvm-integration-{name}-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - install-guide-jobs:
          service: telemetry-alarming


- project:
    name: api-site

    jobs:
      - openstack-doc-jobs
      - manual-translation-jobs

- project:
    name: api-wg

    jobs:
      - specs-jobs

- project:
    name: app-catalog

    jobs:
      - python-jobs
      - nodejs4-jobs

- project:
    name: app-catalog-ui

    jobs:
      - python-jobs
      - nodejs4-jobs

- project:
    name: ara
    ostype:
      - centos-7
      - ubuntu-xenial
    ansible_version:
      - 2.1.5.0
      - 2.2.3.0
      - latest
    jobs:
      - coverage-jobs
      - python-jobs
      - hook-{name}-rtfd
      - 'gate-ara-integration-{ansible_version}-{ostype}'
      - 'gate-ara-integration-openstack-ansible-func-{ostype}'

- project:
    name: arch-wg

    jobs:
      - gate-{name}-python27-{node}:
          node: ubuntu-xenial

- project:
    name: astara

    jobs:
      - python-jobs
      - openstack-server-release-jobs
      - hook-{name}-rtfd
      - '{pipeline}-functional-dsvm-astara-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-functional-dsvm-astara-appliance-src-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default
      - astara-appliance-buildimage-{node}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial

- project:
    name: astara-appliance

    jobs:
      - python-jobs
      - hook-{name}-rtfd

- project:
    name: astara-horizon

    jobs:
      - python-jobs
      - hook-{name}-rtfd
      - openstack-server-release-jobs

- project:
    name: astara-neutron

    jobs:
      - python-jobs
      - hook-{name}-rtfd
      - openstack-server-release-jobs

- project:
    name: automaton

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: bandit

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - gate-bandit-integration-{target-project}:
          target-org: openstack
          target-project:
            - barbican
            - glance
            - keystone
            - keystonemiddleware
            - magnum
            - oslo.config
            - oslo.log
            - oslo.service
            - oslo.utils
            - oslo.vmware
            - python-keystoneclient
            - python-magnumclient
            - sahara

- project:
    name: barbican

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs
      - translation-jobs
      - 'gate-barbican-{plugin}-devstack{special}-{node}{suffix}':
          plugin: simple-crypto
          node: ubuntu-trusty
          services: tempest,keystone
          special: ''
          suffix: ''
      - 'gate-barbican-{plugin}-devstack{special}-{node}{suffix}':
          plugin: simple-crypto
          node: ubuntu-xenial
          services: tempest,keystone
          special: ''
          suffix: ''
      - 'gate-barbican-{plugin}-devstack{special}-{node}{suffix}':
          plugin: simple-crypto
          node: ubuntu-xenial
          services: tempest,keystone
          special: '-py35'
          suffix: '-nv'
      - 'gate-barbican-{plugin}-devstack{special}-{node}{suffix}':
          plugin: simple-crypto
          node: ubuntu-trusty
          services: tempest,keystone
          special: '-postgres'
          suffix: '-nv'
      - 'gate-barbican-{plugin}-devstack{special}-{node}{suffix}':
          plugin: simple-crypto
          node: ubuntu-xenial
          services: tempest,keystone
          special: '-postgres'
          suffix: '-nv'
      - 'gate-barbican-{plugin}-devstack{special}-{node}{suffix}':
          plugin: dogtag
          node: fedora-25
          services: barbican-dogtag,tempest,keystone
          special: ''
          suffix: '-nv'
      - 'gate-barbican-{plugin}-devstack{special}-{node}{suffix}':
          plugin: kmip
          node: ubuntu-xenial
          services: barbican-pykmip,pykmip-server,tempest,keystone
          special: ''
          suffix: ''
      - 'gate-barbican-{plugin}-dsvm-functional{special}-{node}{suffix}':
          plugin: simple-crypto
          node: ubuntu-xenial
          services: tempest,rabbit,mysql,key
          special: ''
          suffix: '-nv'
      - 'gate-barbican-{plugin}-dsvm-functional{special}-{node}{suffix}':
          plugin: dogtag
          node: fedora-25
          services: barbican-dogtag,tempest,rabbit,mysql,key
          special: ''
          suffix: '-nv'
      - 'gate-barbican-{plugin}-dsvm-functional{special}-{node}{suffix}':
          plugin: kmip
          node: ubuntu-xenial
          services: barbican-pykmip,pykmip-server,tempest,rabbit,mysql,key
          special: ''
          suffix: '-nv'
      - 'gate-barbican-{plugin}-dsvm-functional{special}-{node}{suffix}':
          plugin: simple-crypto
          node: ubuntu-xenial
          services: tempest,rabbit,mysql,key
          special: '-py35'
          suffix: '-nv'
      - 'gate-grenade-dsvm-barbican-{node}{suffix}':
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - api-guide-jobs:
          service: key-manager
      - install-guide-jobs:
          service: key-manager
      - api-ref-jobs:
          service: key-manager

- project:
    name: barbican-specs

    jobs:
      - specs-jobs

- project:
    name: barbican-tempest-plugin

    jobs:
      - gate-{name}-pep8-{node}:
          node: ubuntu-xenial
      - '{pipeline}-barbican-{plugin}-dsvm-tempest{special}-{node}{suffix}':
          pipeline: gate
          plugin: simple-crypto
          branch-override: default
          special: ''
          suffix: '-nv'
          node: ubuntu-xenial
      - '{pipeline}-barbican-{plugin}-dsvm-tempest{special}-{node}{suffix}':
          pipeline: gate
          plugin: simple-crypto
          branch-override: default
          special: '-py35'
          suffix: '-nv'
          node: ubuntu-xenial

- project:
    name: bareon

    jobs:
      - pypi-jobs
      - python-jobs
      - hook-{name}-rtfd

- project:
    name: bareon-allocator

    jobs:
      - pypi-jobs
      - python-jobs
      - hook-{name}-rtfd

- project:
    name: bareon-api

    jobs:
      - pypi-jobs
      - python-jobs
      - hook-{name}-rtfd

- project:
    name: bareon-ironic

    jobs:
      - pypi-jobs
      - python-jobs
      - hook-{name}-rtfd

- project:
    name: bareon-specs

    jobs:
      - specs-jobs
      - hook-{name}-rtfd

- project:
    name: bashate

    jobs:
      - python-jobs
      - pypi-jobs
      - openstack-client-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: beaker-localhost

    jobs:
      - 'gate-{name}-rake'

- project:
    name: beaker-nodepool

    jobs:
      - 'gate-{name}-rake'

- project:
    name: bifrost

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs
      - bifrost-integration-jobs

- project:
    name: bilean

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: bindep
    doc-publisher-folder: bindep

    jobs:
      - coverage-jobs
      - bindep-fallback-tests
      - infra-publish-jobs
      - python-jobs
      - 'gate-{name}-pypy'
      - pypi-jobs

- project:
    name: blazar

    jobs:
      - python-jobs
      - 'gate-{name}-python35-nv'
      - gate-{name}-pylint-{node}:
          node: ubuntu-xenial
      - '{name}-tarball'
      - '{name}-tarball-signing'
      - gate-{name}-releasenotes

- project:
    name: blazar-nova

    jobs:
      - python-jobs
      - 'gate-{name}-python35-nv'
      - '{name}-tarball'
      - '{name}-tarball-signing'

- project:
    name: boartty

    jobs:
      - pypi-jobs

- project:
    name: browbeat

    jobs:
      - ansible-role-jobs
      - hook-{name}-rtfd
      - gate-{name}-python27-{node}:
          node: ubuntu-xenial

- project:
    name: bugdaystats

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: castellan

    jobs:
      - python-jobs
      - openstack-client-publish-jobs
      - pypi-jobs
      - '{pipeline}-barbican-{plugin}-dsvm-tempest{special}-{node}{suffix}':
          pipeline: gate
          plugin: simple-crypto
          branch-override: default
          special: '-castellan-from-git'
          suffix: '-nv'
          node: ubuntu-xenial

- project:
    name: cathead

    jobs:
      - python-jobs

- project:
    name: ceilometer

    jobs:
      - python-jobs
      - gate-{name}-tox-{envlist}-{node}:
          node: ubuntu-xenial
          envlist:
            - py27-mongodb
            - py27-mysql
            - py27-postgresql
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs
      - translation-jobs
      - translation-jobs-newton
      - translation-jobs-ocata
      - gate-rally-dsvm-fakevirt-{name}-{node}{suffix}:
          node: ubuntu-xenial
          suffix: ''
      - 'gate-ceilometer-dsvm-tempest-plugin-{backend}{special}{network}-{node}{suffix}':
          backend: 'mongodb'
          special: ''
          network: ''
          suffix: ''
          branch-override: default
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - 'gate-ceilometer-dsvm-tempest-plugin-{backend}{special}{network}-{node}{suffix}':
          backend: 'mysql'
          special: ''
          network: ''
          suffix: ''
          branch-override: default
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - 'gate-ceilometer-dsvm-tempest-plugin-{backend}{special}{network}-{node}{suffix}':
          backend: 'es'
          special: ''
          network: ''
          suffix: ''
          branch-override: default
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - 'gate-ceilometer-dsvm-tempest-plugin-{backend}{special}{network}-{node}{suffix}':
          backend: 'mongodb'
          special: '-identity-v3-only'
          network: ''
          suffix: ''
          branch-override: default
          node: ubuntu-xenial
      - '{pipeline}-ceilometer-dsvm-functional-{backend}{special}-{node}{suffix}':
          pipeline: 'gate'
          backend: 'mongodb'
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          special: ''
          suffix: ''
          branch-override: default
      - '{pipeline}-ceilometer-dsvm-functional-{backend}{special}-{node}{suffix}':
          pipeline: 'gate'
          backend: 'mysql'
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          special: ''
          suffix: ''
          branch-override: default
      - 'gate-telemetry-dsvm-integration-{name}-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - periodic-python-jobs-with-oslo-master
      - install-guide-jobs:
          service: telemetry

- project:
    name: ceilometer-powervm

    jobs:
      - python-jobs
      - pypi-jobs
      - hook-{name}-rtfd

- project:
    name: ceilometer-zvm

    jobs:
      - python-jobs

- project:
    name: ceilometermiddleware

    jobs:
      - python-jobs
      - openstack-client-publish-jobs
      - openstack-releasenotes-jobs
      - pypi-jobs
      - '{pipeline}-tempest-dsvm-neutron-src-{name}-plugin-{node}{suffix}':
          project-repo: ceilometer
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default

- project:
    name: cerberus

    jobs:
      - python-jobs

- project:
    name: cerberus-dashboard

    jobs:
      - python-jobs

- project:
    name: charm-6wind-virtual-accelerator

    jobs:
      - python-charm-jobs

- project:
    name: charm-aodh

    jobs:
      - python-charm-jobs

- project:
    name: charm-barbican

    jobs:
      - python-charm-jobs

- project:
    name: charm-barbican-softhsm

    jobs:
      - python-charm-jobs

- project:
    name: charm-ceilometer

    jobs:
      - python-charm-jobs

- project:
    name: charm-ceilometer-agent

    jobs:
      - python-charm-jobs

- project:
    name: charm-ceph

    jobs:
      - python-charm-jobs

- project:
    name: charm-ceph-fs

    jobs:
      - python-charm-jobs

- project:
    name: charm-ceph-mon

    jobs:
      - python-charm-jobs

- project:
    name: charm-ceph-osd

    jobs:
      - python-charm-jobs

- project:
    name: charm-ceph-proxy

    jobs:
      - python-charm-jobs

- project:
    name: charm-ceph-radosgw

    jobs:
      - python-charm-jobs

- project:
    name: charm-cinder

    jobs:
      - python-charm-jobs

- project:
    name: charm-cinder-backup

    jobs:
      - python-charm-jobs

- project:
    name: charm-cinder-ceph

    jobs:
      - python-charm-jobs

- project:
    name: charm-cloudkitty

    jobs:
      - python-charm-jobs

- project:
    name: charm-designate

    jobs:
      - python-charm-jobs

- project:
    name: charm-designate-bind

    jobs:
      - python-charm-jobs

- project:
    name: charm-glance

    jobs:
      - python-charm-jobs

- project:
    name: charm-guide

    jobs:
      - openstack-publish-jobs
      - gate-{name}-docs-{node}:
          node: ubuntu-xenial

- project:
    name: charm-hacluster

    jobs:
      - python-charm-jobs

- project:
    name: charm-heat

    jobs:
      - python-charm-jobs

- project:
    name: charm-interface-barbican-hsm

    jobs:
      - python-charm-interface-jobs

- project:
    name: charm-interface-bind-rndc

    jobs:
      - python-charm-interface-jobs

- project:
    name: charm-interface-ceph-mds

    jobs:
      - python-charm-interface-jobs

- project:
    name: charm-interface-hacluster

    jobs:
      - python-charm-interface-jobs

- project:
    name: charm-interface-keystone

    jobs:
      - python-charm-interface-jobs

- project:
    name: charm-interface-keystone-admin

    jobs:
      - python-charm-interface-jobs

- project:
    name: charm-interface-keystone-credentials

    jobs:
      - python-charm-interface-jobs

- project:
    name: charm-interface-keystone-domain-backend

    jobs:
      - python-charm-interface-jobs

- project:
    name: charm-interface-manila-plugin

    jobs:
      - python-charm-interface-jobs

- project:
    name: charm-interface-mysql-shared

    jobs:
      - python-charm-interface-jobs

- project:
    name: charm-interface-neutron-plugin

    jobs:
      - python-charm-interface-jobs

- project:
    name: charm-interface-neutron-plugin-api-subordinate

    jobs:
      - python-charm-interface-jobs

- project:
    name: charm-interface-odl-controller-api

    jobs:
      - python-charm-interface-jobs

- project:
    name: charm-interface-openstack-ha

    jobs:
      - python-charm-interface-jobs

- project:
    name: charm-interface-ovsdb-manager

    jobs:
      - python-charm-interface-jobs

- project:
    name: charm-interface-rabbitmq

    jobs:
      - python-charm-interface-jobs

- project:
    name: charm-interface-service-control

    jobs:
      - python-charm-interface-jobs

- project:
    name: charm-keystone

    jobs:
      - python-charm-jobs

- project:
    name: charm-keystone-ldap

    jobs:
      - python-charm-jobs

- project:
    name: charm-layer-ceph-base

    jobs:
      - charm-layer-jobs

- project:
    name: charm-layer-openstack

    jobs:
      - charm-layer-jobs

- project:
    name: charm-layer-openstack-api

    jobs:
      - charm-layer-jobs

- project:
    name: charm-layer-openstack-principle

    jobs:
      - charm-layer-jobs

- project:
    name: charm-lxd

    jobs:
      - python-charm-jobs

- project:
    name: charm-manila

    jobs:
      - python-charm-jobs

- project:
    name: charm-manila-generic

    jobs:
      - python-charm-jobs

- project:
    name: charm-mistral

    jobs:
      - python-charm-jobs

- project:
    name: charm-murano

    jobs:
      - python-charm-jobs

- project:
    name: charm-neutron-api

    jobs:
      - python-charm-jobs

- project:
    name: charm-neutron-api-odl

    jobs:
      - python-charm-jobs

- project:
    name: charm-neutron-api-plumgrid

    jobs:
      - python-charm-jobs

- project:
    name: charm-neutron-gateway

    jobs:
      - python-charm-jobs

- project:
    name: charm-neutron-openvswitch

    jobs:
      - python-charm-jobs

- project:
    name: charm-nova-cloud-controller

    jobs:
      - python-charm-jobs

- project:
    name: charm-nova-compute

    jobs:
      - python-charm-jobs

- project:
    name: charm-nova-compute-proxy

    jobs:
      - python-charm-jobs

- project:
    name: charm-odl-controller

    jobs:
      - python-charm-jobs

- project:
    name: charm-openstack-dashboard

    jobs:
      - python-charm-jobs

- project:
    name: charm-openvswitch-odl

    jobs:
      - python-charm-jobs

- project:
    name: charm-percona-cluster

    jobs:
      - python-charm-jobs

- project:
    name: charm-plumgrid-director

    jobs:
      - python-charm-jobs

- project:
    name: charm-plumgrid-edge

    jobs:
      - python-charm-jobs

- project:
    name: charm-plumgrid-gateway

    jobs:
      - python-charm-jobs

- project:
    name: charm-rabbitmq-server

    jobs:
      - python-charm-jobs

- project:
    name: charm-specs

    jobs:
      - specs-jobs
      - gate-{name}-pep8-{node}:
          node: ubuntu-xenial

- project:
    name: charm-swift-proxy

    jobs:
      - python-charm-jobs

- project:
    name: charm-swift-storage

    jobs:
      - python-charm-jobs

- project:
    name: charm-tempest

    jobs:
      - python-charm-jobs

- project:
    name: charm-trove

    jobs:
      - python-charm-jobs

- project:
    name: charms.ceph

    jobs:
      - python-jobs

- project:
    name: charms.openstack

    jobs:
      - python-charm-jobs

- project:
    name: cinder

    jobs:
      - python-jobs
      - cross-python-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs
      - translation-jobs
      - translation-jobs-newton
      - translation-jobs-ocata
      - gate-{name}-pylint-{node}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - gate-rally-dsvm-{name}-{node}{suffix}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
          swift: '0'
      - gate-rally-dsvm-py35-{name}{suffix}:
          suffix: '-nv'
          swift: '0'
      - '{pipeline}-cinder-dsvm-apache-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-multibackend-matrix-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - gate-{name}-tox-{envlist}-{node}:
          envlist: functional
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - gate-{name}-tox-{envlist}-{node}:
          envlist: bandit-baseline
          node: ubuntu-xenial
      - periodic-python-jobs-with-oslo-master
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: compliance
          node: ubuntu-xenial
      - '{pipeline}-grenade-dsvm-cinder-mn-sub-{svc}-{node-release}{suffix}':
          pipeline: gate
          node: ubuntu-xenial-2-node
          node-release: ubuntu-xenial
          suffix: ''
          branch-override: default
          svc: volbak
      - '{pipeline}-grenade-dsvm-cinder-mn-sub-{svc}-{node-release}{suffix}':
          pipeline: gate
          node: ubuntu-xenial-2-node
          node-release: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
          svc: volschbak
      - '{pipeline}-grenade-dsvm-cinder-mn-sub-{svc}-{node-release}{suffix}':
          pipeline: gate
          node: ubuntu-xenial-2-node
          node-release: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
          svc: bak
      - '{pipeline}-tempest-dsvm-lvm-multibackend-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - api-ref-jobs:
          service: block-storage

- project:
    name: cinder-fusioncompute

    jobs:
      - python-jobs

- project:
    name: cinder-specs

    jobs:
      - specs-jobs

- project:
    name: cisco-ironic-contrib

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: ciwatch

    jobs:
      - python-jobs

- project:
    name: cl-openstack-client

    jobs:
      - gate-{name}-run-tests

- project:
    name: cliff

    jobs:
      - python-jobs
      - 'gate-{name}-pypy'
      - pypi-jobs
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist:
            - neutronclient-tip
            - openstackclient-tip
          node: ubuntu-xenial
      - 'lib-forward-testing-{name}'
      - openstack-publish-jobs

- project:
    name: cloudbase-init

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs

- project:
    name: clouddocs-maven-plugin

    jobs:
      - maven-plugin-jobs

- project:
    name: cloudkitty

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs
      - '{pipeline}-cloudkitty-dsvm-install-{node}{suffix}':
          pipeline: 'gate'
          suffix: ''
          branch-override: default
          node:
            - ubuntu-trusty
            - ubuntu-xenial

- project:
    name: cloudkitty-dashboard

    jobs:
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - python-jobs
      - pypi-jobs

- project:
    name: cloudkitty-specs

    jobs:
      - specs-jobs

- project:
    name: cloudpulse
    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: cognitive

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: collectd-ceilometer-plugin

    jobs:
      - python-jobs
      - '{pipeline}-dsvm-collectd-ceilometer-plugin-{install_type}-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-xenial
            - centos-7
          install_type:
            - 'src'
            - 'bin'
          suffix: '-nv'
          branch-override: default

- project:
    name: compass-core

    jobs:
      - python-jobs

- project:
    name: compass-specs

    jobs:
      - gate-{name}-docs-{node}:
          node: ubuntu-xenial

- project:
    name: compute-hyperv

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: congress

    jobs:
      - coverage-jobs
      - python-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs
      - '{pipeline}-congress-dsvm-api-{backend}-{node}{suffix}':
          pipeline: gate
          backend: mysql
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-congress-dsvm-api-{backend}-{node}{suffix}':
          pipeline: gate
          backend: postgresql
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-congress-pe-replicated-{backend}{suffix}':
          pipeline: gate
          backend:
            - mysql
            - postgresql
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default

- project:
    name: congress-dashboard

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: congress-specs

    jobs:
      - specs-jobs

- project:
    name: conveyor

    jobs:
      - python-jobs

- project:
    name: cookbook-openstack-application-catalog

    jobs:
      - chef-rake-jobs

- project:
    name: cookbook-openstack-block-storage

    jobs:
      - chef-rake-jobs

- project:
    name: cookbook-openstack-client

    jobs:
      - chef-rake-jobs

- project:
    name: cookbook-openstack-common

    jobs:
      - chef-rake-jobs

- project:
    name: cookbook-openstack-compute

    jobs:
      - chef-rake-jobs

- project:
    name: cookbook-openstack-dashboard

    jobs:
      - chef-rake-jobs

- project:
    name: cookbook-openstack-identity

    jobs:
      - chef-rake-jobs

- project:
    name: cookbook-openstack-image

    jobs:
      - chef-rake-jobs

- project:
    name: cookbook-openstack-integration-test

    jobs:
      - chef-rake-jobs

- project:
    name: cookbook-openstack-network

    jobs:
      - chef-rake-jobs

- project:
    name: cookbook-openstack-ops-database

    jobs:
      - chef-rake-jobs

- project:
    name: cookbook-openstack-ops-messaging

    jobs:
      - chef-rake-jobs

- project:
    name: cookbook-openstack-orchestration

    jobs:
      - chef-rake-jobs

- project:
    name: cookbook-openstack-telemetry

    jobs:
      - chef-rake-jobs

- project:
    name: coupler

    jobs:
      - python-jobs

- project:
    name: coverage2sql

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: craton

    jobs:
      - hook-{name}-rtfd
      - 'gate-{name}-python35'
      - 'gate-{name}-docs-{node}':
          node: ubuntu-xenial
      - 'gate-{name}-pep8-{node}':
          node: ubuntu-xenial
      - 'gate-{name}-tox-{envlist}-{node}':
          node: ubuntu-xenial
          envlist: functional

- project:
    name: craton-dashboard

    jobs:
      - python-jobs
      - 'gate-{name}-python35-nv'
      - nodejs4-jobs
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist:
            - py27dj19
            - py27dj110
          node: ubuntu-xenial

- project:
    name: cue

    jobs:
      - coverage-jobs
      - python-jobs
      - 'gate-{name}-python35-nv'
      - '{name}-tarball'
      - '{name}-tarball-signing'
      - 'gate-rally-dsvm-cue-{broker}-{node}{suffix}':
          broker: 'rabbitmq'
          node: ubuntu-xenial
          suffix: '-nv'
      - 'gate-cue-integration-dsvm-{broker}-{node}':
          broker: 'rabbitmq'
          node: ubuntu-xenial

- project:
    name: cue-dashboard

    jobs:
      - python-jobs

- project:
    name: cursive

    jobs:
      - python-jobs
      - pypi-jobs
      - '{pipeline}-barbican-{plugin}-dsvm-tempest{special}-{node}{suffix}':
          pipeline: gate
          plugin: simple-crypto
          branch-override: default
          special: '-cursive'
          suffix: '-nv'
          node: ubuntu-xenial

- project:
    name: cyborg
    tarball-site: tarballs.openstack.org

    jobs:
      - python-jobs

- project:
    name: deb-alembic

    jobs:
      - debian-pkg-build

- project:
    name: deb-aodh

    jobs:
      - debian-pkg-build

- project:
    name: deb-bandit

    jobs:
      - debian-pkg-build

- project:
    name: deb-barbican

    jobs:
      - debian-pkg-build

- project:
    name: deb-ceilometer

    jobs:
      - debian-pkg-build

- project:
    name: deb-ceilometermiddleware

    jobs:
      - debian-pkg-build

- project:
    name: deb-cinder

    jobs:
      - debian-pkg-build

- project:
    name: deb-congress

    jobs:
      - debian-pkg-build

- project:
    name: deb-designate

    jobs:
      - debian-pkg-build

- project:
    name: deb-designate-dashboard

    jobs:
      - debian-pkg-build

- project:
    name: deb-fonts-materialdesignicons-webfont

    jobs:
      - debian-pkg-build

- project:
    name: deb-fonts-roboto-fontface

    jobs:
      - debian-pkg-build

- project:
    name: deb-git-review

    jobs:
      - debian-pkg-build

- project:
    name: deb-glance

    jobs:
      - debian-pkg-build

- project:
    name: deb-glare

    jobs:
      - debian-pkg-build

- project:
    name: deb-gnocchi

    jobs:
      - debian-pkg-build

- project:
    name: deb-heat

    jobs:
      - debian-pkg-build

- project:
    name: deb-heat-cfntools

    jobs:
      - debian-pkg-build

- project:
    name: deb-horizon

    jobs:
      - debian-pkg-build

- project:
    name: deb-ironic

    jobs:
      - debian-pkg-build

- project:
    name: deb-ironic-inspector

    jobs:
      - debian-pkg-build

- project:
    name: deb-ironic-ui

    jobs:
      - debian-pkg-build

- project:
    name: deb-kazoo

    jobs:
      - debian-pkg-build

- project:
    name: deb-keystone

    jobs:
      - debian-pkg-build

- project:
    name: deb-liberasurecode

    jobs:
      - debian-pkg-build

- project:
    name: deb-libisal

    jobs:
      - debian-pkg-build

- project:
    name: deb-magnum

    jobs:
      - debian-pkg-build

- project:
    name: deb-manila

    jobs:
      - debian-pkg-build

- project:
    name: deb-manila-ui

    jobs:
      - debian-pkg-build

- project:
    name: deb-migrate

    jobs:
      - debian-pkg-build

- project:
    name: deb-mistral

    jobs:
      - debian-pkg-build

- project:
    name: deb-msgpack-python

    jobs:
      - debian-pkg-build

- project:
    name: deb-murano

    jobs:
      - debian-pkg-build

- project:
    name: deb-murano-agent

    jobs:
      - debian-pkg-build

- project:
    name: deb-murano-dashboard

    jobs:
      - debian-pkg-build

- project:
    name: deb-networking-arista

    jobs:
      - debian-pkg-build

- project:
    name: deb-networking-cisco

    jobs:
      - debian-pkg-build

- project:
    name: deb-networking-hyperv

    jobs:
      - debian-pkg-build

- project:
    name: deb-networking-l2gw

    jobs:
      - debian-pkg-build

- project:
    name: deb-networking-midonet

    jobs:
      - debian-pkg-build

- project:
    name: deb-networking-mlnx

    jobs:
      - debian-pkg-build

- project:
    name: deb-networking-nec

    jobs:
      - debian-pkg-build

- project:
    name: deb-networking-odl

    jobs:
      - debian-pkg-build

- project:
    name: deb-networking-ovn

    jobs:
      - debian-pkg-build

- project:
    name: deb-neutron

    jobs:
      - debian-pkg-build

- project:
    name: deb-neutron-fwaas

    jobs:
      - debian-pkg-build

- project:
    name: deb-neutron-lbaas

    jobs:
      - debian-pkg-build

- project:
    name: deb-neutron-taas

    jobs:
      - debian-pkg-build

- project:
    name: deb-neutron-vpnaas

    jobs:
      - debian-pkg-build

- project:
    name: deb-nodepool

    jobs:
      - debian-pkg-build

- project:
    name: deb-nova

    jobs:
      - debian-pkg-build

- project:
    name: deb-novnc

    jobs:
      - debian-pkg-build

- project:
    name: deb-openstack-doc-tools

    jobs:
      - debian-pkg-build

- project:
    name: deb-openstack-meta-packages

    jobs:
      - debian-pkg-build

- project:
    name: deb-openstack-nose

    jobs:
      - debian-pkg-build

- project:
    name: deb-openstack-pkg-tools

    jobs:
      - reprepro-import-{reprepro}-{codename}:
          reprepro: debian-openstack
          codename: jessie
      - reprepro-import-{reprepro}-{codename}:
          reprepro: debian-openstack
          codename: jessie-backports
      - reprepro-sign-{codename}:
          codename: jessie
      - reprepro-sign-{codename}:
          codename: jessie-backports
      - reprepro-release-{volume}:
          volume: deb-openstack

- project:
    name: deb-openstack-trove

    jobs:
      - debian-pkg-build

- project:
    name: deb-oslosphinx

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-aioeventlet

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-aodhclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-autobahn

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-automaton

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-barbicanclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-bashate

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-cassandra-driver

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-castellan

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-ceilometerclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-ceilometermiddleware

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-cinderclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-cliff

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-coffin

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-colander

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-concurrent.futures

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-congressclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-cotyledon

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-couleur

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-crank

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-croniter

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-csscompressor

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-cursive

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-daemonize

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-dcos

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-ddt

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-debtcollector

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-designateclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-dib-utils

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-diskimage-builder

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-django-appconf

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-django-babel

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-django-bootstrap-form

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-django-compressor

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-django-discover-runner

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-django-formtools

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-django-openstack-auth

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-django-overextends

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-django-pyscss

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-doc8

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-dogpile.cache

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-dogpile.core

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-editor

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-eventlet

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-extras

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-falcon

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-fasteners

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-fixtures

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-frozendict

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-fuelclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-funcsigs

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-functools32

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-futurist

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-gabbi

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-glance-store

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-glanceclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-gnocchiclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-greenio

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-hacking

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-happybase

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-heatclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-httpretty

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-ironic-inspector-client

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-ironic-lib

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-ironicclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-jingo

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-json-patch

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-json-pointer

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-jsonpath-rw

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-jsonpath-rw-ext

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-jsonrpclib

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-jsonschema

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-k8sclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-kafka

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-keystoneauth1

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-keystoneclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-keystonemiddleware

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-kmip

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-ldappool

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-lesscpy

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-linecache2

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-magnumclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-manilaclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-memcache

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-microversion-parse

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-misaka

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-mistralclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-monascaclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-monotonic

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-mox3

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-multi-key-dict

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-muranoclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-neutron-lib

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-neutronclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-nose-exclude

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-nose-parameterized

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-nose-timer

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-nosehtmloutput

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-novaclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-oauth2client

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-openstackclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-openstackdocstheme

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-openstacksdk

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-os-api-ref

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-os-apply-config

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-os-brick

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-os-client-config

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-os-cloud-config

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-os-collect-config

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-os-net-config

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-os-refresh-config

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-os-testr

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-os-vif

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-os-win

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-osc-lib

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-oslo.cache

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-oslo.concurrency

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-oslo.config

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-oslo.context

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-oslo.db

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-oslo.i18n

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-oslo.log

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-oslo.messaging

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-oslo.middleware

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-oslo.policy

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-oslo.privsep

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-oslo.reports

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-oslo.rootwrap

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-oslo.serialization

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-oslo.service

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-oslo.utils

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-oslo.versionedobjects

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-oslo.vmware

    jobs:
      - debian-pkg-build



- project:
    name: deb-python-oslotest

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-osprofiler

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-pager

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-pbr

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-pecan

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-pika-pool

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-pint

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-positional

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-proliantutils

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-pulp

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-pycadf

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-pydot-ng

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-pydotplus

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-pyeclib

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-pyghmi

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-pygit2

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-pykmip

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-pyldap

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-pymemcache

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-pymysql

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-pyngus

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-pysaml2

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-pytimeparse

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-pyvmomi

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-quantumclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-rcssmin

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-rednose

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-reno

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-requestbuilder

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-requests-kerberos

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-requests-mock

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-requests-unixsocket

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-requestsexceptions

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-retrying

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-rfc3986

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-rjsmin

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-rtslib-fb

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-saharaclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-scciclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-seamicroclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-semantic-version

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-semver

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-senlinclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-shotgun

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-sqlalchemy-utils

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-steadymark

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-swiftclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-tackerclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-taskflow

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-tempest-lib

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-testtools

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-toml

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-tooz

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-tosca-parser

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-traceback2

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-trollius

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-troveclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-tuskarclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-txaio

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-warlock

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-watcherclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-weakrefmethod

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-websocket-client

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-wrapt

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-wsgi-intercept

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-wsme

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-angular

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-angular-bootstrap

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-angular-cookies

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-angular-fileupload

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-angular-gettext

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-angular-lrdragndrop

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-angular-mock

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-angular-schema-form

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-bootstrap-datepicker

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-bootstrap-scss

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-bootswatch

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-d3

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-font-awesome

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-hogan

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-jasmine

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-jquery

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-jquery-migrate

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-jquery-ui

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-jquery.bootstrap.wizard

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-jquery.quicksearch

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-jquery.tablesorter

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-jsencrypt

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-magic-search

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-mdi

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-objectpath

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-qunit

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-rickshaw

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-roboto-fontface

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-smart-table

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-spin

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-term.js

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xstatic-tv4

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-xvfbwrapper

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-yaql

    jobs:
      - debian-pkg-build

- project:
    name: deb-python-zaqarclient

    jobs:
      - debian-pkg-build

- project:
    name: deb-rally

    jobs:
      - debian-pkg-build

- project:
    name: deb-ryu

    jobs:
      - debian-pkg-build

- project:
    name: deb-sahara

    jobs:
      - debian-pkg-build

- project:
    name: deb-sahara-dashboard

    jobs:
      - debian-pkg-build

- project:
    name: deb-senlin

    jobs:
      - debian-pkg-build

- project:
    name: deb-senlin-dashboard

    jobs:
      - debian-pkg-build

- project:
    name: deb-spice-html5

    jobs:
      - debian-pkg-build

- project:
    name: deb-stevedore

    jobs:
      - debian-pkg-build

- project:
    name: deb-subunit

    jobs:
      - debian-pkg-build

- project:
    name: deb-swauth

    jobs:
      - debian-pkg-build

- project:
    name: deb-swift

    jobs:
      - debian-pkg-build

- project:
    name: deb-swift-bench

    jobs:
      - debian-pkg-build

- project:
    name: deb-swift-plugin-s3

    jobs:
      - debian-pkg-build

- project:
    name: deb-tempest

    jobs:
      - debian-pkg-build

- project:
    name: deb-testresources

    jobs:
      - debian-pkg-build

- project:
    name: deb-trove

    jobs:
      - debian-pkg-build

- project:
    name: deb-trove-dashboard

    jobs:
      - debian-pkg-build

- project:
    name: deb-watcher

    jobs:
      - debian-pkg-build

- project:
    name: deb-websockify

    jobs:
      - debian-pkg-build

- project:
    name: deb-zaqar

    jobs:
      - debian-pkg-build

- project:
    name: deb-zaqar-ui

    jobs:
      - debian-pkg-build

- project:
    name: debtcollector

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: delimiter

    jobs:
      - python-jobs

- project:
    name: designate

    jobs:
      - coverage-jobs
      - python-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs
      - translation-jobs
      - gate-rally-dsvm-designate-{name}-{node}{suffix}:
          node:
          - ubuntu-trusty
          - ubuntu-xenial
          suffix: '-nv'
      - 'gate-tempest-dsvm-designate-{designate-driver}{special}-{node}{suffix}':
          node: ubuntu-trusty
          branch-override: default
          special: ''
          suffix: ''
          designate-driver:
            - powerdns
            - bind9
      - 'gate-tempest-dsvm-designate-{designate-driver}{special}-{node}{suffix}':
          node: ubuntu-xenial
          branch-override: default
          special: ''
          suffix: ''
          designate-driver:
            - pdns4
            - bind9
      - 'gate-tempest-dsvm-designate-{designate-driver}{special}-{node}{suffix}':
          node: ubuntu-trusty
          branch-override: stable/mitaka
          special: ''
          suffix: '-mitaka'
          designate-driver:
            - powerdns
            - bind9
      # This job is xenial only because it is pinned to > newton - pgSQL support was broken in newton and before
      - 'gate-tempest-dsvm-designate-{designate-driver}{special}-{node}{suffix}':
          node: ubuntu-xenial
          branch-override: default
          special: '-postgres'
          suffix: ''
          designate-driver:
            - pdns4
      # This job is xenial only because it is pinned to >= newton.
      - 'gate-tempest-dsvm-designate-{designate-driver}{special}-{node}{suffix}':
          node: ubuntu-xenial
          branch-override: default
          special: '-worker-model'
          suffix: ''
          designate-driver:
            - pdns4
      - 'gate-tempest-dsvm-designate-agent-{designate-driver}-{node}{suffix}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          branch-override: default
          suffix: ''
          designate-driver:
            - knot2
            - djbdns
            - gdnsd
      - 'gate-grenade-dsvm-designate-{designate-driver}-{node}{suffix}':
          node: ubuntu-trusty
          branch-override: default
          suffix: ''
          designate-driver:
            - powerdns
      - 'gate-grenade-dsvm-designate-{designate-driver}-{node}{suffix}':
          node: ubuntu-xenial
          branch-override: default
          suffix: ''
          designate-driver:
            - pdns4
      # Legacy Jobs that only run against mitaka (no xenial).
      - 'gate-designate-dsvm-{designate-driver}-{node}':
          node: ubuntu-trusty
          designate-driver:
            - powerdns
            - bind9
      # identity-v3-only only started running in newton/ocata timeframe so is
      # xenial only, not trusty.
      - 'gate-tempest-dsvm-designate-{designate-driver}{special}-{node}{suffix}':
          node: ubuntu-xenial
          special: '-identity-v3-only'
          suffix: ''
          designate-driver: 'pdns4'
          branch-override: default
      - api-ref-jobs:
          service: dns
      - install-guide-jobs:
          service: dns

- project:
    name: designate-dashboard

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-publish-jobs
      - openstack-server-release-jobs
      - translation-jobs
      - translation-jobs-newton
      - translation-jobs-ocata

- project:
    name: designate-specs

    jobs:
      - specs-jobs

- project:
    name: designate-tempest-plugin

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs

- project:
    name: development-proposals

    jobs:
      - specs-jobs

- project:
    name: devstack

    jobs:
      - gate-{name}-bashate
      - gate-{name}-docs-{node}:
          node: ubuntu-xenial
      - openstack-publish-jobs
      - propose-devstack-plugins-list
      - '{pipeline}-devstack-dsvm-py35-updown-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default

- project:
    name: devstack-gate

    jobs:
      - gate-{name}-bashate
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist:
            - run-tests
            - py3-run-tests
          node: ubuntu-xenial

- project:
    name: devstack-jobs

    jobs:
      # Normal gate and check jobs
      - devstack-jobs:
          pipeline: gate
          node: ubuntu-trusty
          suffix: ''
          branch-override: default
      - devstack-jobs-xenial:
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      # Stable check jobs for testing devstack gate
      # tempest also uses these job definitions
      - devstack-stable-jobs:
          pipeline: gate
          node: ubuntu-trusty
          suffix:
            - '-mitaka'
            - '-mitaka-nv'
          branch-override: stable/mitaka
      - devstack-stable-jobs:
          pipeline: gate
          node: ubuntu-xenial
          suffix:
            - '-newton'
            - '-newton-nv'
          branch-override: stable/newton
      - devstack-stable-jobs:
          pipeline: gate
          node: ubuntu-xenial
          suffix:
            - '-ocata'
            - '-ocata-nv'
          branch-override: stable/ocata
      # Periodic jobs for various branches
      - devstack-stable-jobs:
          pipeline: periodic
          node: ubuntu-trusty
          suffix: '-mitaka'
          branch-override: stable/mitaka
      - devstack-stable-jobs:
          pipeline: periodic
          node: ubuntu-xenial
          suffix: '-newton'
          branch-override: stable/newton
      - devstack-stable-jobs:
          pipeline: periodic
          node: ubuntu-xenial
          suffix: '-ocata'
          branch-override: stable/ocata
      - devstack-periodic-master-jobs:
          pipeline: periodic
          node: ubuntu-xenial
          suffix: '-master'
          branch-override: master
      # Special jobs for devstack-gate
      - 'gate-dg-hooks-dsvm':
          node: ubuntu-xenial
      - '{pipeline}-tempest-dsvm-neutron-identity-v3-only-full-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-grenade-dsvm-multinode{suffix}':
          pipeline: gate
          node: ubuntu-trusty-2-node
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-multinode-full-{node-release}{suffix}':
          pipeline: gate
          node-release: ubuntu-trusty
          node: ubuntu-trusty-2-node
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-neutron-multinode-full-{node-release}{suffix}':
          pipeline: gate
          node-release: ubuntu-trusty
          node: ubuntu-trusty-2-node
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-neutron-dvr-multinode-full-{node-release}{suffix}':
          pipeline: gate
          node-release: ubuntu-trusty
          node: ubuntu-trusty-2-node
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-multinode-full-{node-release}{suffix}':
          pipeline: gate
          node-release: ubuntu-xenial
          node: ubuntu-xenial-2-node
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-neutron-multinode-full-{node-release}{suffix}':
          pipeline: gate
          node-release: ubuntu-xenial
          node: ubuntu-xenial-2-node
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-neutron-dvr-multinode-full-{node-release}{suffix}':
          pipeline: gate
          node-release: ubuntu-xenial
          node: ubuntu-xenial-2-node
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-neutron-dvr-multinode-scenario-{node-release}{suffix}':
          pipeline: gate
          node-release: ubuntu-xenial
          node: ubuntu-xenial-2-node
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-neutron-dvr-ha-multinode-full-{node-release}{suffix}':
          pipeline: gate
          node-release: ubuntu-xenial
          node: ubuntu-xenial-3-node
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-multinode-live-migration-{node-release}{suffix}':
          pipeline: gate
          node-release: ubuntu-xenial
          node: ubuntu-xenial-2-node
          suffix: ''
          branch-override: default
      - '{pipeline}-grenade-dsvm-neutron-multinode-live-migration{suffix}':
          pipeline: gate
          node: ubuntu-xenial-2-node
          suffix: '-nv'
          branch-override: default
      # Experimental job for testing Nova with os-vif library
      - '{pipeline}-tempest-dsvm-nova-os-vif-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-nova-libvirt-kvm-apr-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-neutron-full-{node}{suffix}':
          pipeline: gate
          node: centos-7
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-neutron-full-{node}{suffix}':
          pipeline: gate
          suffix: '-nv'
          node: fedora-25
          branch-override: default
      - '{pipeline}-tempest-dsvm-py35-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default

- project:
    name: devstack-plugin-additional-pkg-repos

    jobs:
      - gate-{name}-bashate

- project:
    name: devstack-plugin-amqp1

    jobs:
      - gate-{name}-bashate
      - '{pipeline}-tempest-dsvm-full-{plugin}-{node}{suffix}':
          pipeline: gate
          plugin: amqp1
          plugin-repo: openstack/devstack-plugin-amqp1
          suffix: '-nv'
          node: ubuntu-xenial

- project:
    name: devstack-plugin-bdd

    jobs:
      - gate-{name}-bashate
      - '{pipeline}-tempest-dsvm-full-bdd{suffix}':
          node: ubuntu-xenial
          pipeline: gate
          suffix: '-nv'

- project:
    name: devstack-plugin-ceph

    jobs:
      - gate-{name}-bashate
      - '{pipeline}-tempest-dsvm-full-devstack-plugin-ceph-{node}{suffix}':
          node: ubuntu-trusty
          pipeline: gate
          plugin: ceph
          plugin-repo: openstack/devstack-plugin-ceph
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-full-devstack-plugin-ceph-{node}{suffix}':
          node: ubuntu-xenial
          pipeline: gate
          plugin: ceph
          plugin-repo: openstack/devstack-plugin-ceph
          suffix: ''
          branch-override: default

- project:
    name: devstack-plugin-container

    jobs:
      - '{pipeline}-devstack-plugin-container-dsvm{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default

- project:
    name: devstack-plugin-glusterfs

    jobs:
      - gate-{name}-bashate

- project:
    name: devstack-plugin-hdfs

    jobs:
      - gate-{name}-bashate
      - '{pipeline}-tempest-dsvm-full-{plugin}-{node}{suffix}':
          pipeline: gate
          plugin: hdfs
          plugin-repo: openstack/devstack-plugin-hdfs
          suffix: ''
          node: ubuntu-xenial

- project:
    name: devstack-plugin-kafka

    jobs:
      - gate-{name}-bashate
      - '{pipeline}-tempest-dsvm-full-{plugin}-{node}{suffix}':
          pipeline: gate
          plugin: kafka
          plugin-repo: openstack/devstack-plugin-kafka
          suffix: ''
          node: ubuntu-xenial

- project:
    name: devstack-plugin-libvirt-qemu

    jobs:
      - gate-{name}-bashate

- project:
    name: devstack-plugin-mariadb

    jobs:
      - gate-{name}-bashate

- project:
    name: devstack-plugin-nfs
    jobs:
      - gate-{name}-bashate
      - '{pipeline}-tempest-dsvm-full-devstack-plugin-nfs{suffix}':
          node: ubuntu-xenial
          pipeline: gate
          plugin: nfs
          plugin-repo: openstack/devstack-plugin-nfs
          suffix: '-nv'
          branch-override: default

- project:
    name: devstack-plugin-pika
    jobs:
      - gate-{name}-bashate

- project:
    name: devstack-plugin-sheepdog

    jobs:
      - gate-{name}-bashate
      - '{pipeline}-tempest-dsvm-full-{plugin}-{node}{suffix}':
          pipeline: gate
          plugin: sheepdog
          plugin-repo: openstack/devstack-plugin-sheepdog
          suffix: '-nv'
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - '{pipeline}-tempest-dsvm-full-{plugin}-src-{srcname}-{node}{suffix}':
          pipeline: gate
          plugin: sheepdog
          plugin-repo: openstack/devstack-plugin-sheepdog
          srcname: os-brick
          suffix: '-nv'
          node:
            - ubuntu-trusty
            - ubuntu-xenial

- project:
    name: devstack-plugin-tar-installer

    jobs:
      - gate-{name}-bashate

- project:
    name: devstack-plugin-zmq

    jobs:
      - gate-{name}-bashate
      - '{pipeline}-tempest-dsvm-full-{plugin}-{node}{suffix}':
          pipeline: gate
          plugin: zmq
          plugin-repo: openstack/devstack-plugin-zmq
          suffix: '-nv'
          node: ubuntu-xenial

- project:
    name: devstack-tools

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: dib-utils

    jobs:
      - python-jobs
      - pypi-jobs
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: func
          node: ubuntu-xenial

- project:
    name: diskimage-builder

    jobs:
      - python-jobs
      - coverage-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - pypi-jobs
      - gate-dib-dsvm-functests-{python}-{node}{suffix}:
          node: ubuntu-trusty
          python: python2
          suffix: '-extras-nv'
          tests: >
            gentoo/build-succeeds
            opensuse/build-succeeds
            ubuntu-minimal/precise-build-succeeds
      - gate-dib-dsvm-functests-{python}-{node}{suffix}:
          node: ubuntu-xenial
          python: python2
          suffix: '-extras-nv'
          tests: >
            gentoo/build-succeeds
            opensuse/build-succeeds
            ubuntu-minimal/precise-build-succeeds
      - gate-dib-dsvm-functests-{python}-{node}{suffix}:
          node: ubuntu-xenial
          python: python3
          suffix: '-extras-nv'
          tests: >
            gentoo/build-succeeds
            opensuse/build-succeeds
            ubuntu-minimal/precise-build-succeeds
      - gate-dib-dsvm-functests-{python}-{node}{suffix}:
          node: centos-7
          python: python2
          suffix: '-extras-nv'
          tests: >
            gentoo/build-succeeds
            opensuse/build-succeeds
            ubuntu-minimal/precise-build-succeeds
      - gate-dib-dsvm-functests-{python}-{node}{suffix}:
          node: ubuntu-trusty
          python: python2
          suffix: ''
          tests: ''
      - gate-dib-dsvm-functests-{python}-{node}{suffix}:
          node: ubuntu-xenial
          python: python2
          suffix: ''
          tests: ''
      - gate-dib-dsvm-functests-{python}-{node}{suffix}:
          node: ubuntu-xenial
          python: python3
          suffix: '-nv'
          tests: ''
      - gate-dib-dsvm-functests-{python}-{node}{suffix}:
          node: centos-7
          python: python2
          suffix: ''
          tests: ''
      - '{pipeline}-dsvm-nodepool{python}{images}-src{suffix}':
          pipeline: gate
          python: ''
          node: ubuntu-xenial
          images: '-debian'
          suffix: '-nv'
          branch-override: 'default'
      - '{pipeline}-dsvm-nodepool{python}{images}-src{suffix}':
          pipeline: gate
          python: ''
          node: ubuntu-xenial
          images: '-opensuse'
          suffix: '-nv'
          branch-override: 'default'
      - '{pipeline}-dsvm-nodepool{python}{images}-src{suffix}':
          pipeline: gate
          python: ''
          node: ubuntu-xenial
          images: '-redhat'
          suffix: '-nv'
          branch-override: 'default'
      - '{pipeline}-dsvm-nodepool{python}{images}-src{suffix}':
          pipeline: gate
          python: ''
          node: ubuntu-xenial
          images: '-ubuntu'
          suffix: '-nv'
          branch-override: 'default'

- project:
    name: distil

    jobs:
      - python-jobs

- project:
    name: distil-ui

    jobs:
      - python-jobs

- project:
    name: django_openstack_auth

    jobs:
      - python-jobs
      - openstack-client-publish-jobs
      - pypi-jobs
      - 'lib-forward-testing-{name}'
      - translation-jobs
      - translation-jobs-newton
      - translation-jobs-ocata
      - 'gate-{name}-tox-{envlist}-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          envlist:
            - py27dj18
            - py27dj19
      - 'gate-{name}-tox-{envlist}-{node}':
          node: ubuntu-xenial
          envlist:
            - py27dj110

- project:
    name: doc8

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: docker-machine-openstack

    jobs:
      - golang-jobs

- project:
    name: docs-specs

    jobs:
      - specs-jobs

- project:
    name: downpour

    jobs:
      - pypi-jobs
      - hook-{name}-rtfd

- project:
    name: dox

    jobs:
      - python-jobs
      - 'gate-{name}-python35-nv'
      - pypi-jobs

- project:
    name: dragonflow

    jobs:
      - python-jobs
      - pypi-jobs
      - openstack-publish-jobs
      - '{pipeline}-tempest-dsvm-dragonflow-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-dragonflow-dsvm-rally-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-dragonflow-dsvm-fullstack-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-dragonflow-dsvm-fullstack-zmq-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default

- project:
    name: drbd-devstack

    jobs:
      - gate-{name}-bashate
      - '{pipeline}-tempest-dsvm-full-drbd-devstack-{node}{suffix}':
          pipeline: gate
          suffix: '-nv'
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - '{pipeline}-tempest-dsvm-full-drbd-devstack-{node}{suffix}':
          pipeline: gate
          suffix: ''
          node: ubuntu-xenial

- project:
    name: driverlog

    jobs:
      - python-jobs
      - '{name}-tarball'
      - '{name}-tarball-signing'

- project:
    name: ec2-api

    jobs:
      - python-jobs
      - pypi-jobs
      - '{pipeline}-functional-{network}-dsvm-ec2api-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default
          network:
            - 'neutron'
            - 'nova-network'
      - 'ec2-api-functional-neutron-dsvm-full-{node}{suffix}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
      - 'ec2-api-rally-dsvm-fakevirt-{node}{suffix}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
      - install-guide-jobs:
          service: ec2-api
      - api-ref-jobs:
          service: ec2-api

- project:
    name: ekko

    jobs:
      - python-jobs

- project:
    name: elastic-recheck

    jobs:
      - gate-{name}-pep8-{node}:
          node: ubuntu-xenial
      - gate-{name}-docs-{node}:
          node: ubuntu-xenial
      - gate-{name}-python27-{node}:
          node: ubuntu-xenial
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: queries
          node: ubuntu-xenial

- project:
    name: election
    docroot: election

    jobs:
      - linters-jobs
      - gate-{name}-requirements
      - gate-{name}-python27-{node}:
          node: ubuntu-xenial
      - 'gate-{name}-python35'
      - 'gate-{name}-docs-{node}':
          node: ubuntu-xenial
      - 'static-{name}-publish'

- project:
    name: entropy

    jobs:
      - python-jobs
      - 'gate-{name}-python35-nv'

- project:
    name: eslint-config-openstack

    jobs:
      - nodejs4-jobs
      - nodejs4-docs
      - nodejs4-publish-to-npm
      - openstack-publish-jobs

- project:
    name: evoque

    jobs:
      - python-jobs

- project:
    name: evoque-dashboard

    jobs:
      - python-jobs

- project:
    name: faafo

    jobs:
      - openstack-publish-jobs
      - '{name}-tarball'
      - '{name}-tarball-signing'
      - gate-{name}-docs-{node}:
          node: ubuntu-xenial
      - gate-{name}-pep8-{node}:
          node: ubuntu-xenial

- project:
    name: flame

    jobs:
      - python-jobs

- project:
    name: foxnut

    jobs:
      - python-jobs

- project:
    name: freezer

    jobs:
      - python-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - gate-{name}-pylint-{node}:
          node: ubuntu-xenial
      - gate-osbackup-{name}-dsvm-{node}{suffix}:
          node: ubuntu-xenial
          suffix: ''
      - gate-osbackup-{name}-dsvm-{node}{suffix}:
          node: centos-7
          suffix: '-nv'

- project:
    name: freezer-api

    jobs:
      - python-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - gate-{name}-pylint-{node}:
          node: ubuntu-xenial
      - gate-osbackup-{name}-dsvm-{node}{suffix}:
          node: ubuntu-xenial
          suffix: ''
      - gate-osbackup-{name}-dsvm-{node}{suffix}:
          node: centos-7
          suffix: '-nv'
      - api-ref-jobs:
          service: backup

- project:
    name: freezer-dr

    jobs:
      - python-jobs
      - pypi-jobs
      - gate-{name}-pylint-{node}:
          node: ubuntu-xenial

- project:
    name: freezer-specs

    jobs:
      - specs-jobs

- project:
    name: freezer-web-ui

    jobs:
      - python-jobs
      - pypi-jobs
      - gate-{name}-pylint-{node}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - translation-jobs
      - gate-osbackup-{name}-dsvm-{node}{suffix}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''

- project:
    name: fuel-agent

    jobs:
      - python-jobs

- project:
    name: fuel-astute

    jobs:
      - puppet-module-unit

- project:
    name: fuel-ccp

    jobs:
      - python-jobs
      - hook-{name}-rtfd

- project:
    name: fuel-ccp-ceph

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-ci-config

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-cinder

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-debian-base

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-designate

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-elasticsearch

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-entrypoint

    jobs:
      - python-jobs

- project:
    name: fuel-ccp-etcd

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-galera

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-glance

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-grafana

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-heat

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-horizon

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-installer

    jobs:
      - python-jobs
      - hook-{name}-rtfd

- project:
    name: fuel-ccp-ironic

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-keystone

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-mariadb

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-memcached

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-murano

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-neutron

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-nginx

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-nova

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-openstack-base

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-rabbitmq

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-rally

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-sahara

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-searchlight

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-specs

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-stacklight

    jobs:
      - linters-jobs

- project:
    name: fuel-ccp-tests

    jobs:
      - python-jobs

- project:
    name: fuel-ccp-zmq

    jobs:
      - linters-jobs

- project:
    name: fuel-dev-tools

    jobs:
      - python-jobs

- project:
    name: fuel-devops

    jobs:
      - coverage-jobs
      - python-jobs
      - gate-{name}-pylint-{node}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial

- project:
    name: fuel-docs

    jobs:
      - gate-{name}-docs-{node}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - openstack-publish-jobs

- project:
    name: fuel-library

    jobs:
      - puppet-check-jobs
      - puppet-module-unit

- project:
    name: fuel-menu

    jobs:
      - python-jobs

- project:
    name: fuel-mirror

    jobs:
      - python-jobs

- project:
    name: fuel-nailgun-agent

    jobs:
      - puppet-module-unit

- project:
    name: fuel-nailgun-extension-cluster-upgrade

    jobs:
      - python-jobs

- project:
    name: fuel-nailgun-extension-converted-serializers

    jobs:
      - python-jobs

- project:
    name: fuel-nailgun-extension-iac

    jobs:
      - python-jobs

- project:
    name: fuel-noop-fixtures

    jobs:
      - gate-{name}-docs-{node}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - hook-{name}-rtfd

- project:
    name: fuel-octane

    jobs:
      - python-jobs
      - coverage-jobs
      - puppet-check-jobs

- project:
    name: fuel-ostf

    jobs:
      - python-jobs

- project:
    name: fuel-plugins

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: fuel-qa

    jobs:
      - python-jobs
      - gate-{name}-pylint-{node}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial

- project:
    name: fuel-specs

    jobs:
      - specs-jobs

- project:
    name: fuel-stats

    jobs:
      - python-jobs

- project:
    name: fuel-ui

    jobs:
      - nodejs4-jobs

- project:
    name: fuel-web

    jobs:
      - python-jobs

- project:
    name: futurist

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: fuxi

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs
      - '{pipeline}-fuxi-dsvm-fullstack{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-fuxi-dsvm-py35-fullstack{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default

- project:
    name: fuxi-kubernetes

    jobs:
      - python-jobs

- project:
    name: gce-api

    jobs:
      - python-jobs
      - pypi-jobs
      - '{pipeline}-functional-{network}-dsvm-gceapi-{node}{suffix}':
            pipeline: gate
            node:
              - ubuntu-trusty
              - ubuntu-xenial
            suffix: '-nv'
            branch-override: default
            network:
              - 'neutron'
              - 'nova-network'

- project:
    name: gear

    jobs:
      - python-jobs
      - pypi-jobs
      - hook-{name}-rtfd

- project:
    name: gearman-plugin

    jobs:
      - jenkins-plugin-jobs

- project:
    name: germqtt

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: gerrit
    gerrit-project: 'https://git.openstack.org/openstack-infra/gerrit'
    plugin-parent-name: ''
    plugin-parent-project: ''
    plugin-parent-branch: ''

    jobs:
      - '{plugin-name}-gerrit-plugin-{plugin-branch}':
          gerrit-branch: 'openstack/2.13.7'
          plugin-name: 'javamelody'
          plugin-project: 'https://gerrit.googlesource.com/plugins/{plugin-name}'
          plugin-branch: 'stable-2.13'
      # its plugins depend on a parent plugin. we need to build parent
      # the parent plugin then build the child plugin.
      - '{plugin-name}-gerrit-plugin-{plugin-branch}':
          gerrit-branch: 'openstack/2.13.7'
          plugin-name: 'its-storyboard'
          plugin-project: 'https://gerrit.googlesource.com/plugins/{plugin-name}'
          plugin-branch: 'stable-2.13'
          plugin-parent-name: 'its-base'
          plugin-parent-project: 'https://gerrit.googlesource.com/plugins/{plugin-parent-name}'
          plugin-parent-branch: '{plugin-branch}'

- project:
    name: gerrit-dash-creator

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: gerritbot

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: gerritlib

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: gertty

    jobs:
      - pypi-jobs

- project:
    name: giftwrap

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: git-restack
    doc-publisher-folder: git-restack

    jobs:
      - python-jobs
      - pypi-jobs
      - infra-publish-jobs

- project:
    name: git-review
    doc-publisher-folder: git-review

    jobs:
      - python-jobs
      - pypi-jobs
      - infra-publish-jobs

- project:
    name: git-upstream

    jobs:
      - python-jobs
      - pypi-jobs
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: docs-linkcheck
          node: ubuntu-xenial

- project:
    name: gitdm

    jobs:
      - '{pipeline}-gitdm':
          pipeline: gate
      - '{pipeline}-gitdm':
          pipeline: periodic

- project:
    name: glance

    jobs:
      - python-jobs
      - cross-python-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs
      - translation-jobs
      - translation-jobs-newton
      - translation-jobs-ocata
      - gate-rally-dsvm-{name}-{node}{suffix}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
          swift: '0'
      - gate-rally-dsvm-py35-{name}{suffix}:
          suffix: '-nv'
          swift: '0'
      - '{pipeline}-glance-dsvm-grenade-multinode-{node-release}{suffix}':
          pipeline: gate
          node: ubuntu-xenial-2-node
          node-release: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - periodic-python-jobs-with-oslo-master
      - api-ref-jobs:
          service: image

- project:
    name: glance-specs

    jobs:
      - specs-jobs

- project:
    name: glance_store

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - pypi-jobs
      - translation-jobs
      - 'lib-forward-testing-{name}'
      - '{pipeline}-glance_store-dsvm-functional-{driver}-{node}{suffix}':
          driver: filesystem
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-glance_store-dsvm-functional-{driver}-{node}{suffix}':
          driver: swift
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-glance_store-dsvm-functional-{driver}-{node}{suffix}':
          driver: cinder
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-full-ceph-plugin-src-{name}-{node}{suffix}':
          node: ubuntu-trusty
          pipeline: gate
          plugin: ceph
          plugin-repo: openstack/devstack-plugin-ceph
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-full-ceph-plugin-src-{name}-{node}{suffix}':
          node: ubuntu-xenial
          pipeline: gate
          plugin: ceph
          plugin-repo: openstack/devstack-plugin-ceph
          suffix: ''
          branch-override: default

- project:
    name: glare

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: glare-specs

    jobs:
      - specs-jobs

- project:
    name: glean
    doc-publisher-folder: glean

    jobs:
      - python-jobs
      - pypi-jobs
      - '{name}-infra-docs'

- project:
    name: gluon

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: gnocchi

    jobs:
      - python-jobs
      - gate-{name}-tox-{envlist}-{node}:
          envlist:
            - py27-postgresql
            - py34-postgresql
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - gate-{name}-tox-{envlist}-{node}:
          node: ubuntu-xenial
          envlist:
            - py27-mysql
            - py35-mysql
            - py35-postgresql
            - py27-mysql-ceph-upgrade-from-2.2
            - py35-postgresql-file-upgrade-from-2.2
            - py27-mysql-ceph-upgrade-from-3.0
            - py35-postgresql-file-upgrade-from-3.0
            - py27-mysql-ceph-upgrade-from-3.1
            - py35-postgresql-file-upgrade-from-3.1
      - pypi-jobs
      - gate-{name}-bashate
      - '{pipeline}-gnocchi-dsvm-functional-{storagedriver}-{sqldriver}-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          pipeline: gate
          storagedriver: file
          sqldriver: mysql
      - '{pipeline}-gnocchi-dsvm-functional-{storagedriver}-{sqldriver}-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          pipeline: gate
          storagedriver: swift
          sqldriver: postgresql
      - '{pipeline}-gnocchi-dsvm-functional-{storagedriver}-{sqldriver}-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          pipeline: gate
          storagedriver: ceph
          sqldriver: mysql
      - '{pipeline}-gnocchi-dsvm-functional-{storagedriver}-{sqldriver}-{node}':
          node: ubuntu-xenial
          pipeline: gate
          storagedriver: influxdb
          sqldriver: mysql
      - 'gate-telemetry-dsvm-integration-{name}-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial

- project:
    name: golang-client

    jobs:
      - golang-jobs

- project:
    name: golang-commons

    jobs:
      - golang-jobs

- project:
    name: governance
    docroot: tc

    jobs:
      - linters-jobs
      - 'gate-{name}-docs-{node}':
          node: ubuntu-xenial
      - 'static-{name}-publish'
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: validate
          node: ubuntu-xenial

- project:
    name: governance-uc
    docroot: uc

    jobs:
      - 'gate-{name}-docs-{node}':
          node: ubuntu-xenial
      - 'static-{name}-publish'

- project:
    name: governance-website
    docroot: governance

    jobs:
      - 'gate-{name}-docs-{node}':
          node: ubuntu-xenial
      - 'static-{name}-publish'

- project:
    name: grafyaml
    doc-publisher-folder: grafyaml

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs
      - '{name}-infra-docs'

- project:
    name: group-based-policy

    jobs:
      - python-jobs
      - pypi-jobs
      - '{pipeline}-group-based-policy-dsvm-functional-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-group-based-policy-dsvm-nfp-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-group-based-policy-dsvm-aim-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-group-based-policy-dsvm-rally-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
          branch-override: default

- project:
    name: group-based-policy-automation

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: group-based-policy-specs

    jobs:
      - specs-jobs

- project:
    name: group-based-policy-ui

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: groups

    jobs:
      - gate-groups-unittests
      - 'groups-release-{suffix}':
          suffix: 'master'
      - 'groups-release-{suffix}':
          suffix: 'branch'

- project:
    name: hacking

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - 'gate-{name}-pypy'
      - gate-hacking-integration-{target-project}:
          target-org: openstack
          target-project: nova

- project:
    name: heat

    jobs:
      - coverage-jobs
      - python-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs
      - openstack-publish-jobs
      - translation-jobs
      - translation-jobs-newton
      - translation-jobs-ocata
      - '{pipeline}-heat-dsvm-functional-{engine}-{datastore}-{lbaasversion}{special}-{node}{suffix}':
          datastore: mysql
          pipeline: gate
          node: ubuntu-trusty
          special: ''
          suffix: ''
          branch-override: default
          engine: orig
          lbaasversion: lbaasv1
      - '{pipeline}-heat-dsvm-functional-{engine}-{datastore}-{lbaasversion}{special}-{node}{suffix}':
          datastore: mysql
          pipeline: gate
          node:
              - ubuntu-trusty
              - ubuntu-xenial
          special: ''
          suffix: ''
          branch-designator: ''
          branch-override: default
          engine: orig
          lbaasversion: lbaasv2
      - '{pipeline}-heat-dsvm-functional-{engine}-{datastore}-{lbaasversion}{special}-{node}{suffix}':
          datastore: postgres
          pipeline: gate
          node: ubuntu-trusty
          special: ''
          suffix: ''
          branch-override: default
          engine: orig
          lbaasversion: lbaasv1
      - '{pipeline}-heat-dsvm-functional-{engine}-{datastore}-{lbaasversion}{special}-{node}{suffix}':
          datastore: mysql
          pipeline: gate
          node: ubuntu-trusty
          special: ''
          suffix: ''
          branch-override: default
          engine: convg
          lbaasversion: lbaasv1
      - '{pipeline}-heat-dsvm-functional-{engine}-{datastore}-{lbaasversion}{special}-{node}{suffix}':
          datastore: mysql
          pipeline: gate
          node:
              - ubuntu-trusty
              - ubuntu-xenial
          special: ''
          suffix: ''
          branch-override: default
          engine: convg
          lbaasversion: lbaasv2
      - '{pipeline}-heat-dsvm-functional-{engine}-{datastore}-{lbaasversion}{special}-{node}{suffix}':
          datastore: mysql
          pipeline: gate
          node: ubuntu-xenial
          special: '-identity-v3-only'
          suffix: '-nv'
          branch-override: default
          engine: orig
          lbaasversion: lbaasv1
      - '{pipeline}-heat-dsvm-functional-{engine}-{datastore}-{lbaasversion}{special}-{node}{suffix}':
          datastore: mysql
          pipeline: gate
          node: ubuntu-xenial
          special: '-amqp1'
          suffix: '-nv'
          branch-override: default
          engine: convg
          lbaasversion: lbaasv2
      - '{pipeline}-heat-dsvm-functional-{engine}-{datastore}-{lbaasversion}{special}-{node}{suffix}':
          datastore: mysql
          pipeline: gate
          node: ubuntu-xenial
          special: '-py35'
          suffix: ''
          branch-override: default
          engine: convg
          lbaasversion: lbaasv2
      - '{pipeline}-heat-dsvm-functional-{engine}-{datastore}-{lbaasversion}{special}-{node}{suffix}':
          datastore: mysql
          pipeline: gate
          node: ubuntu-xenial
          special: '-non-apache'
          suffix: ''
          branch-override: default
          engine: convg
          lbaasversion: lbaasv2
      - '{pipeline}-heat-dsvm-functional-{engine}-{datastore}-{lbaasversion}{special}-{node}{suffix}':
          datastore: mysql
          pipeline: gate
          node: ubuntu-xenial
          special: '-identity-v3-only'
          suffix: '-nv'
          branch-override: default
          engine: convg
          lbaasversion: lbaasv2
      - '{pipeline}-grenade-dsvm-heat-{node}{suffix}':
          pipeline: gate
          node:
              - ubuntu-trusty
              - ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-grenade-dsvm-heat-{node}{suffix}':
          pipeline: gate
          node:
              - ubuntu-trusty
              - ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - gate-rally-dsvm-fakevirt-{name}-{node}{suffix}:
          node:
              - ubuntu-trusty
              - ubuntu-xenial
          suffix: '-nv'
      - api-ref-jobs:
          service: orchestration
      - install-guide-jobs:
          service: orchestration
      - periodic-python-jobs-with-oslo-master

- project:
    name: heat-agents

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: heat-cfnclient

    jobs:
      - python-jobs

- project:
    name: heat-cfntools

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs

- project:
    name: heat-specs

    jobs:
      - specs-jobs

- project:
    name: heat-templates

    jobs:
      - python-jobs

- project:
    name: heat-translator

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: py27-tp
          node: ubuntu-xenial

- project:
    name: horizon

    jobs:
      - python-jobs
      - cross-python-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs
      - translation-jobs
      - translation-jobs-newton
      - translation-jobs-ocata
      - nodejs4-jobs
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist:
            - py27dj19
            - py27dj110
          node: ubuntu-xenial
      - 'gate-horizon-selenium-headless-{node}':
          node: ubuntu-xenial
      - 'gate-horizon-selenium-headless-legacy-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - 'gate-horizon-dsvm-tempest-plugin-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial

- project:
    name: horizon-cisco-ui

    jobs:
      - python-jobs
      - pypi-jobs
      - translation-jobs

- project:
    name: horizon-mellanox

    jobs:
      - python-jobs

- project:
    name: hurricane

    jobs:
      - python-jobs

- project:
    name: i18n

    jobs:
      - openstack-publish-jobs
      - gate-{name}-pep8-{node}:
          node: ubuntu-xenial
      - gate-{name}-docs-{node}:
          node: ubuntu-xenial
      - gate-{name}-requirements
      - translation-jobs

- project:
    name: i18n-specs

    jobs:
      - specs-jobs

- project:
    name: inception

    jobs:
      - gate-{name}-pep8-{node}:
          node: ubuntu-xenial

- project:
    name: infra-ansible

    jobs:
      - ansible-lint-jobs

- project:
    name: infra-manual
    doc-publisher-folder: manual

    jobs:
      - infra-publish-jobs
      - 'gate-{name}-docs-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial

- project:
    name: infra-specs

    jobs:
      - specs-jobs

- project:
    name: instack

    jobs:
      - python-jobs
      - pypi-jobs
      - coverage-jobs

- project:
    name: instack-undercloud

    jobs:
      - puppet-check-jobs
      - python-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - coverage-jobs

- project:
    name: intel-nfv-ci-tests

    jobs:
      - gate-{name}-pep8-{node}:
          node: ubuntu-xenial

- project:
    name: interop

    jobs:
      - 'gate-{name}-docs-{node}':
          node: ubuntu-xenial
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist:
            - doc8
            - jsonlint
            - jsonschema
          node: ubuntu-xenial

- project:
    name: interop-workloads

    jobs:
      - gate-{name}-docs-{node}:
          node: ubuntu-xenial

- project:
    name: iotronic

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: iotronic-lightning-rod

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: iotronic-ui

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: ipa-example-hardware-managers

    jobs:
      - gate-{name}-pep8-{node}:
          node: ubuntu-xenial

- project:
    name: irc-meetings

    jobs:
      - python-jobs

- project:
    name: ironic

    suffix:
      - ''
      - '-nv'

    src:
      - ''
      - '-src'

    driver:
      - 'pxe_ssh'
      - 'agent_ssh'
      - 'pxe_ipmitool'
      - 'agent_ipmitool'
      - 'pxe_snmp'

    ramdisk-type:
      - 'coreos'
      - 'tinyipa'

    image-type:
      - 'wholedisk'
      - 'partition'

    boot-mode:
      - 'bios'
      - 'uefi'

    exclude:
      # agent_ssh driver with partitions is experimental
      - image-type: 'partition'
        driver: 'agent_ssh'
        suffix: ''
      # pxe_ssh driver with whole disk images is experimental
      - image-type: 'wholedisk'
        driver: 'pxe_ssh'
        suffix: ''
      # pxe_snmp driver is non-voting
      - driver: 'pxe_snmp'
        suffix: ''
      # coreos jobs are only run as source jobs
      - ramdisk-type: 'coreos'
        src: ''
      # these jobs are always voting
      - image-type: 'partition'
        driver: 'pxe_ssh'
        suffix: '-nv'
      - image-type: 'partition'
        driver: 'pxe_ipmitool'
        boot-mode: 'bios'
        suffix: '-nv'
      - image-type: 'partition'
        driver: 'agent_ipmitool'
        suffix: '-nv'
      - image-type: 'wholedisk'
        driver: 'pxe_ipmitool'
        suffix: '-nv'
      # source variants of these jobs are always voting
      - image-type: 'wholedisk'
        driver: 'agent_ssh'
        src: '-src'
        suffix: '-nv'
      - image-type: 'wholedisk'
        driver: 'agent_ipmitool'
        src: '-src'
        suffix: '-nv'
      # exclude ipmitool jobs from running on trusty, stable branches
      # should continue to run on pxe_ssh and trusty
      - driver: 'pxe_ipmitool'
        node: ubuntu-trusty
      - driver: 'agent_ipmitool'
        node: ubuntu-trusty
      # exclude ssh jobs from running on xenial
      - driver: 'pxe_ssh'
        node: ubuntu-xenial
      - driver: 'agent_ssh'
        node: ubuntu-xenial
      # run new pxe_snmp jobs only on xenial
      - driver: 'pxe_snmp'
        node: ubuntu-trusty

    jobs:
      - coverage-jobs
      - python-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs
      - translation-jobs
      - install-guide-jobs:
          service: baremetal
      - api-ref-jobs:
          service: baremetal
      - '{pipeline}-tempest-dsvm-ironic-ipa-{image-type}-{boot-mode}-{driver}-{ramdisk-type}{src}-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          branch-override: default
      - '{pipeline}-tempest-dsvm-ironic-ipa-partition-pxe_ipmitool-tinyipa-python3-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          branch-override: default
          suffix: '-nv'
      - '{pipeline}-tempest-dsvm-ironic-ipa-partition-redfish-tinyipa-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          branch-override: default
          suffix: ''
      - '{pipeline}-tempest-dsvm-ironic-ipa-{image-type}-{boot-mode}-{driver}-{ramdisk-type}{src}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          branch-override: default
          driver: 'pxe_ipmitool'
          suffix: ''
          ramdisk-type: 'tinyipa256'
          src: '-src'
      - '{pipeline}-tempest-dsvm-ironic-ipa-{image-type}-{driver}-{ramdisk-type}{src}-multinode-{node-release}{suffix}':
          pipeline: gate
          node: ubuntu-xenial-2-node
          node-release: ubuntu-xenial
          branch-override: default
          driver: 'agent_ipmitool'
          ramdisk-type: 'tinyipa'
          image-type: 'wholedisk'
          src: ''
      - '{pipeline}-tempest-dsvm-ironic-ipa-resourceclasses-partition-pxe_ipmitool-tinyipa{src}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          branch-override: default
          suffix: '-nv'
          src: ''
      - '{pipeline}-ironic-dsvm-functional-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-ironic-pxe_ipa-full-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-ironic-{driver}-postgres-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          driver:
            - 'pxe_ipmitool'
            - 'pxe_ssh'
          suffix: '-nv'
          branch-override: default

      - '{pipeline}-tempest-dsvm-ironic-parallel-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-ironic-inspector-dsvm-{ramdisk}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: '-nv'
          branch-override: default
          ramdisk: ipa
      - '{pipeline}-tempest-dsvm-ironic-inspector{src}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
          src: ''
      - '{pipeline}-tempest-dsvm-ironic-multitenant-network-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-grenade-dsvm-ironic-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-grenade-dsvm-ironic-multinode-multitenant-{node-release}{suffix}':
          pipeline: gate
          node: ubuntu-xenial-2-node
          node-release: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-ironic-dsvm-standalone-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - periodic-python-jobs-with-oslo-master

- project:
    name: ironic-inspector

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - translation-jobs
      - openstack-releasenotes-jobs
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: func
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: func3
          node: ubuntu-xenial
      - '{pipeline}-ironic-inspector-dsvm-{ramdisk}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: ''
          branch-override: default
          ramdisk: 'dib'
      - '{pipeline}-ironic-inspector-dsvm-{ramdisk}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: ''
          branch-override: default
          ramdisk: 'ipa'
      - '{pipeline}-ironic-inspector-dsvm-discovery-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-ironic-inspector{src}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
          src: ''
      - '{pipeline}-tempest-dsvm-ironic-inspector-discovery-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-grenade-dsvm-ironic-inspector-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default

- project:
    name: ironic-inspector-specs

    jobs:
      - gate-{name}-docs-{node}:
          node: ubuntu-xenial
      - gate-{name}-pep8-{node}:
          node: ubuntu-xenial
      - '{name}-publish-specs'

- project:
    name: ironic-inspector-tempest-plugin

    jobs:
      - python-jobs

- project:
    name: ironic-lib

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs
      - openstack-publish-jobs
      - '{pipeline}-tempest-dsvm-ironic-lib-{image-type}-{driver}-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix:
            - ''
            - '-nv'
          driver:
            - 'pxe_ipmitool'
            - 'agent_ipmitool'
          image-type:
            - 'wholedisk'
            - 'partition'
          exclude:
            # all xenial jobs are voting
            - node: ubuntu-xenial
              suffix: '-nv'
            # these jobs are not voting yet
            - image-type: 'partition'
              driver: 'agent_ipmitool'
              suffix: ''
              node: ubuntu-trusty
            - image-type: 'wholedisk'
              driver: 'pxe_ipmitool'
              suffix: ''
              node: ubuntu-trusty
            # these jobs are voting
            - image-type: 'partition'
              driver: 'pxe_ipmitool'
              suffix: '-nv'
              node: ubuntu-trusty
            - image-type: 'wholedisk'
              driver: 'agent_ipmitool'
              suffix: '-nv'
              node: ubuntu-trusty
          branch-override: default

- project:
    name: ironic-python-agent

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - '{pipeline}-ironic-inspector-dsvm-{ramdisk}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: '-nv'
          branch-override: default
          ramdisk: 'ipa-src'
      - '{pipeline}-tempest-dsvm-ironic-inspector{src}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
          src: '-src'
      - 'ironic-python-agent-buildimage-{image-type}-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          image-type:
            - coreos
            - tinyipa
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: func
          node:
            - ubuntu-trusty
            - ubuntu-xenial

- project:
    name: ironic-specs

    jobs:
      - specs-jobs

- project:
    name: ironic-staging-drivers

    jobs:
      - python-jobs
      - pypi-jobs
      - hook-{name}-rtfd
      - '{pipeline}-ironic-staging-drivers-dsvm-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-ironic-staging-drivers-ansible-wholedisk-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default

- project:
    name: ironic-tempest-plugin

    jobs:
      - python-jobs

- project:
    name: ironic-ui

    jobs:
      - python-jobs
      - pypi-jobs
      - nodejs4-jobs
      - openstack-releasenotes-jobs
      - openstack-publish-jobs
      - translation-jobs
      - translation-jobs-newton
      - translation-jobs-ocata

- project:
    name: jacket
    jobs:
      - python-jobs

- project:
    name: jeepyb

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: jenkins-job-builder
    doc-publisher-folder: jenkins-job-builder

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs
      - infra-publish-jobs
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: docs-linkcheck
          node: ubuntu-xenial

- project:
    name: js-afs-blob-store

    jobs:
      - nodejs4-jobs
      - nodejs4-publish-to-npm

- project:
    name: js-generator-openstack

    jobs:
      - nodejs4-jobs
      - nodejs4-publish-to-npm
      - nodejs4-docs
      - '{name}-nodejs{version}-npm-docs':
          version: 6

- project:
    name: js-openstack-lib

    jobs:
      - nodejs4-jobs
      - nodejs4-publish-to-npm
      - nodejs6-jobs
      - nodejs6-docs
      - '{name}-dsvm-nodejs{version}-npm-run-{command}':
          command: functional-test
          version: 4
      - '{name}-dsvm-nodejs{version}-npm-run-{command}':
          command: functional-test
          version: 6
      - '{name}-nodejs{version}-npm-sdk-docs':
          version: 6

- project:
    name: js-openstack-registry-hooks

    jobs:
      - nodejs4-jobs
      - nodejs4-publish-to-npm

- project:
    name: k8s-cloud-provider

    jobs:
      - golang-jobs
      - 'gate-{name}-golang-dsvm-{suite}-{node}':
          node: ubuntu-xenial
          suite: local
          branch-override: default
      - 'gate-{name}-golang-dsvm-{suite}-{node}':
          node: ubuntu-xenial
          suite: external
          branch-override: default

- project:
    name: k8s-docker-suite-app-murano

    jobs:
      - hook-{name}-rtfd
      - 'gate-{name}-docs-{node}':
          node:
            - ubuntu-xenial
            - ubuntu-trusty
      - 'gate-{name}-releasenotes'

- project:
    name: karbor

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - '{pipeline}-karbor-dsvm-fullstack{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - api-ref-jobs:
          service: data-protection-orchestration

- project:
    name: karbor-dashboard

    jobs:
      - python-jobs
      - pypi-jobs
      - translation-jobs

- project:
    name: karma-subunit-reporter

    jobs:
      - nodejs4-jobs
      - nodejs4-publish-to-npm

- project:
    name: keystone

    jobs:
      - coverage-jobs
      - python-jobs
      - cross-python-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs
      - translation-jobs
      - translation-jobs-newton
      - translation-jobs-ocata
      - gate-rally-dsvm-{name}-{node}{suffix}:
          node: ubuntu-xenial
          suffix: '-nv'
          swift: '0'
      - api-ref-jobs:
          service: identity
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: patch_cover
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - '{pipeline}-tempest-dsvm-keystone-eventlet-full-{node}{suffix}':
          pipeline: gate
          suffix: '-nv'
          branch-override: default
          node: ubuntu-trusty
      - '{pipeline}-tempest-dsvm-keystone-uwsgi-full-{node}{suffix}':
          pipeline: gate
          suffix: '-nv'
          branch-override: default
          node: ubuntu-trusty
      - '{pipeline}-tempest-dsvm-keystone-uwsgi-full-{node}{suffix}':
          pipeline: gate
          suffix: '-nv'
          branch-override: default
          node: ubuntu-xenial
      - '{pipeline}-keystone-dsvm-functional-{node}{suffix}':
          pipeline: gate
          suffix: ''
          branch-override: default
          node: ubuntu-xenial
      - '{pipeline}-keystone-dsvm-functional-v3-only-{node}{suffix}':
          pipeline: gate
          suffix: '-nv'
          branch-override: default
          node: ubuntu-xenial
      - '{pipeline}-keystone-dsvm-py35-functional-v3-only-{node}{suffix}':
          pipeline: gate
          suffix: '-nv'
          branch-override: default
          node: ubuntu-xenial
      - '{pipeline}-keystoneclient-dsvm-functional-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-keystone-dsvm-grenade-multinode-{node-release}{suffix}':
          pipeline: gate
          suffix: '-nv'
          branch-override: default
          node: ubuntu-xenial-2-node
          node-release: ubuntu-xenial
      - periodic-python-jobs-with-oslo-master

- project:
    name: keystone-specs

    jobs:
      - specs-jobs

- project:
    name: keystoneauth

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: keystonemiddleware

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-client-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - translation-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: kiloeyes

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs

- project:
    name: kingbird

    jobs:
      - python-jobs
      - pypi-jobs
      - '{pipeline}-kingbird-dsvm-multiregion-{node-release}{suffix}':
          pipeline: gate
          node: ubuntu-xenial-2-node
          node-release: ubuntu-xenial
          suffix: '-nv'
          branch-override: default

- project:
    name: kloudbuster

    jobs:
      - python-jobs
      - pypi-jobs
      - hook-{name}-rtfd

- project:
    name: kolla

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - kolla-publish-image-jobs
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: bandit
          node: ubuntu-xenial
      - '{pipeline}-kolla-dsvm-{action}-{distro}-{type}-{node}{suffix}':
          action:
            - build
            - deploy
          distro:
            - centos
            - oraclelinux
          node: centos-7
          pipeline: gate
          type:
            - binary
            - source
          suffix: '-nv'
      - '{pipeline}-kolla-dsvm-{action}-{distro}-{type}-{node}{suffix}':
          action:
            - build
            - deploy
          distro: ubuntu
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          pipeline: gate
          type:
            - binary
            - source
          suffix: "-nv"
      - '{pipeline}-kolla-dsvm-{action}-{distro}-{type}-{node}{suffix}':
          action: deploy-multinode
          distro: ubuntu
          node: ubuntu-trusty-2-node
          pipeline: gate
          type: source
          suffix: "-nv"
      - '{pipeline}-kolla-dsvm-{action}-{distro}-{type}-{node}{suffix}':
          action:
            - build
          distro:
            - centos
            - oraclelinux
          node: centos-7
          pipeline: gate
          type:
            - binary
            - source
          suffix: ''
      - '{pipeline}-kolla-dsvm-{action}-{distro}-{type}-{node}{suffix}':
          action:
            - build
          distro: ubuntu
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          pipeline: gate
          type:
            - binary
            - source
          suffix: ''

- project:
    name: kolla-ansible

    jobs:
      - python-jobs
      - pypi-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - deploy-guide-jobs:
          service: kolla-ansible
      - '{pipeline}-kolla-ansible-dsvm-{action}-{distro}-{type}-{node}{suffix}':
          action: deploy
          distro:
            - centos
            - oraclelinux
          node: centos-7
          pipeline: gate
          type:
            - binary
            - source
          suffix: '-nv'
      - '{pipeline}-kolla-ansible-dsvm-{action}-{distro}-{type}-{node}{suffix}':
          action: deploy
          distro: ubuntu
          node: ubuntu-xenial
          pipeline: gate
          type:
            - binary
            - source
          suffix: "-nv"
      - '{pipeline}-kolla-ansible-dsvm-{action}-{distro}-{type}-{node}{suffix}':
          action: deploy-multinode
          distro: ubuntu
          node: ubuntu-xenial-2-node
          pipeline: gate
          type:
            - binary
            - source
          suffix: "-nv"
      - '{pipeline}-kolla-ansible-dsvm-{action}-{distro}-{type}-{node}{suffix}':
          action: deploy-multinode
          distro:
            - centos
            - oraclelinux
          node: centos-7-2-node
          pipeline: gate
          type:
            - source
            - binary
          suffix: "-nv"
      - '{pipeline}-kolla-ansible-dsvm-{action}-{distro}-{type}-{node}{suffix}':
          action: deploy-ceph
          distro: ubuntu
          node: ubuntu-xenial-2-node
          pipeline: gate
          type:
            - binary
            - source
          suffix: "-nv"
      - '{pipeline}-kolla-ansible-dsvm-{action}-{distro}-{type}-{node}{suffix}':
          action: deploy-ceph
          distro:
            - centos
            - oraclelinux
          node: centos-7-2-node
          pipeline: gate
          type:
            - source
            - binary
          suffix: "-nv"

- project:
    name: kolla-kubernetes

    jobs:
      - python-jobs
      - pypi-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - 'gate-kolla-kubernetes-{action}-{distro}-{type}-{ver}-{config}{suffix}':
          action: deploy
          config: ceph-multi
          distro: centos
          node: centos-7-2-node
          type: binary
          ver:
            - '2'
            - '3'
            - '4'
            - 't'
          suffix: '-nv'
      - 'gate-kolla-kubernetes-{action}-{distro}-{type}-{ver}-{config}{suffix}':
          action: deploy
          config: ceph-reboot
          distro: centos
          node: centos-7-2-node
          type: binary
          ver: '2'
          suffix: '-nv'
      - 'gate-kolla-kubernetes-{action}-{distro}-{type}-{ver}-{config}{suffix}':
          action: upgrade
          config: ceph
          distro: centos
          node: centos-7
          type: binary
          ver:
            - '2'
            - '3'
          suffix: '-nv'
      - 'gate-kolla-kubernetes-{action}-{distro}-{type}-{ver}-{config}{suffix}':
          action: deploy
          config: ironic
          distro: centos
          node: centos-7
          type: source
          ver: '4'
          suffix: '-nv'
      - 'gate-kolla-kubernetes-{action}-{distro}-{type}-{ver}-{config}{suffix}':
          action: deploy
          config: ironic
          distro: ubuntu
          node: ubuntu-xenial
          type: source
          ver: '4'
          suffix: '-nv'
      - 'gate-kolla-kubernetes-{action}-{distro}-{type}-{ver}-{config}{suffix}':
          action: deploy
          config:
            - helm-entrypoint
            - helm-compute-kit
          distro: centos
          node: centos-7
          type:
            - 'source'
            - 'binary'
          ver:
            - '2'
            - '4'
          suffix: '-nv'
      - 'gate-kolla-kubernetes-{action}-{distro}-{type}-{ver}-{config}{suffix}':
          action: deploy
          config:
            - helm-operator
            - external-ovs
            - ceph
            - iscsi
          distro: centos
          node: centos-7
          type: binary
          ver: '2'
          suffix: '-nv'
      - 'gate-kolla-kubernetes-{action}-{distro}-{type}-{ver}-{config}{suffix}':
          action: deploy
          config:
            - ceph
            - iscsi
          distro: ubuntu
          node: ubuntu-xenial
          type: binary
          ver: '2'
          suffix: '-nv'
      - 'periodic-kolla-kubernetes-{action}-{distro}-{type}-{ver}-{config}':
          action: deploy
          config:
            - ceph
            - iscsi
          distro: ubuntu
          node: ubuntu-xenial
          type: binary
          ver:
            - '2'
            - '3'
            - '4'
      - 'periodic-kolla-kubernetes-{action}-{distro}-{type}-{ver}-{config}':
          action: deploy
          config:
            - ceph
            - iscsi
          distro: centos
          node: centos-7
          type: binary
          ver:
            - '2'
            - '3'
            - '4'

- project:
    name: kosmos

    jobs:
      - python-jobs

- project:
    name: kosmos-specs

    jobs:
      - specs-jobs

- project:
    name: kuryr

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - pypi-jobs

- project:
    name: kuryr-kubernetes

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - '{pipeline}-install-dsvm-{variant}-kuryr-kubernetes{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          variant: 'default'
          branch-override: default
      - '{pipeline}-install-dsvm-{variant}-kuryr-kubernetes{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          variant: 'dragonflow'
          branch-override: default

- project:
    name: kuryr-libnetwork

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - pypi-jobs
      - '{pipeline}-install-dsvm-kuryr-libnetwork-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-kuryr-libnetwork{kuryr_lib-src}-dsvm-fullstack-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          kuryr_lib-src: ''
          suffix: ''
          branch-override: default
      - '{pipeline}-kuryr-libnetwork{kuryr_lib-src}-dsvm-fullstack-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          kuryr_lib-src: '-kuryr_lib-src'
          suffix: ''
          branch-override: default
      - '{pipeline}-kuryr-libnetwork{kuryr_lib-src}-dsvm-rally-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          kuryr_lib-src: ''
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-kuryr-libnetwork{kuryr_lib-src}-dsvm-rally-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          kuryr_lib-src: '-kuryr_lib-src'
          suffix: '-nv'
          branch-override: default

- project:
    name: kwapi

    jobs:
      - gate-{name}-pep8-{node}:
          node: ubuntu-xenial

- project:
    name: ldappool

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: liberasurecode

    jobs:
      - 'gate-liberasurecode-unit-{node}':
          node:
            - ubuntu-xenial
            - centos-7

- project:
    name: loci

    jobs:
      - '{name}-publish-loci-tarball'

- project:
    name: loci-cinder
    shortname: cinder

    jobs:
      - loci-jobs

- project:
    name: loci-glance
    shortname: glance

    jobs:
      - loci-jobs

- project:
    name: loci-heat
    shortname: heat

    jobs:
      - loci-jobs

- project:
    name: loci-keystone
    shortname: keystone

    jobs:
      - loci-jobs

- project:
    name: loci-neutron
    shortname: neutron

    jobs:
      - loci-jobs

- project:
    name: loci-nova
    shortname: nova

    jobs:
      - loci-jobs

- project:
    name: loci-requirements
    shortname: requirements

    jobs:
      - loci-jobs

- project:
    name: lodgeit

    jobs:
      - python-jobs

- project:
    name: log_processor
    doc-publisher-folder: log_processor

    jobs:
      - python-jobs
      - pypi-jobs
      - infra-publish-jobs

- project:
    name: lpmqtt

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: magnum

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-publish-jobs
      - openstack-server-release-jobs
      - openstack-releasenotes-jobs
      - translation-jobs
      - install-guide-jobs:
          service: container-infrastructure-management
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: migration
          node: ubuntu-xenial
      - '{pipeline}-functional-dsvm-magnum-{coe}-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          coe:
            - 'api'
            - 'k8s'
            - 'swarm'
            - 'mesos'
          suffix: ''
          branch-override: default
      - '{pipeline}-functional-dsvm-magnum-{coe}-multinode-{node-release}{suffix}':
          pipeline: gate
          node: ubuntu-xenial-2-node
          node-release: ubuntu-xenial
          coe:
            - 'k8s'
            - 'swarm'
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-functional-dsvm-magnum-{coe}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          coe: 'swarm-mode'
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-functional-dsvm-magnum-{coe}-identity-v3-only-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          coe: 'api'
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-functional-dsvm-magnum-{coe}-ironic-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          coe:
            - 'k8s'
            - 'swarm'
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-magnum-dib-buildimage-{image-name}-{node}':
          pipeline: periodic
          node: ubuntu-xenial
          image-name:
            - 'fedora-atomic-25'
            - 'ubuntu-mesos'
      - api-ref-jobs:
          service: container-infrastructure-management

- project:
    name: magnum-specs

    jobs:
      - specs-jobs

- project:
    name: magnum-ui

    jobs:
      - python-jobs
      - nodejs4-jobs
      - openstack-publish-jobs
      - openstack-server-release-jobs
      - openstack-releasenotes-jobs
      - translation-jobs
      - translation-jobs-newton
      - translation-jobs-ocata

- project:
    name: manila

    jobs:
      - coverage-jobs
      - python-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs
      - translation-jobs
      - gate-{name}-pylint-{node}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: genconfig
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - api-ref-jobs:
          service: shared-file-systems
      - install-guide-jobs:
          service: shared-file-systems
      - '{pipeline}-manilaclient-dsvm-neutron-functional-{node}{suffix}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          pipeline: 'gate'
          suffix: ''
      - '{pipeline}-grenade-dsvm-manila-{node}{suffix}':
          node: ubuntu-xenial
          pipeline: 'gate'
          branch-override: default
          suffix: '-nv'
      - 'gate-manila-tempest-minimal-dsvm-{driver}-{node}{suffix}':
          node: ubuntu-trusty
          driver:
            - 'lvm'
          suffix: ''
      - 'gate-manila-tempest-minimal-dsvm-{driver}-{node}{suffix}':
          node: ubuntu-xenial
          driver:
            - 'dummy'
            - 'lvm'
          suffix: ''
      - 'gate-manila-tempest-minimal-dsvm-{driver}-{node}{suffix}':
          node: centos-7
          driver:
            - 'lvm'
          suffix: '-nv'
      - 'gate-manila-tempest-dsvm-hdfs-{node}{suffix}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
      - 'gate-manila-tempest-dsvm-{description}-{node}{suffix}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          description: postgres-generic-singlebackend
          postgres_enabled: '1'
          dhss: '1'
          back_end_type: 'singlebackend'
          driver: 'generic'
          test_type: 'api'
          suffix: '-nv'
      - 'gate-manila-tempest-dsvm-{description}-{node}{suffix}':
          node: ubuntu-trusty
          description: mysql-generic
          postgres_enabled: '0'
          dhss: '1'
          back_end_type: 'multibackend'
          driver: 'generic'
          test_type: 'api'
          suffix: ''
      - 'gate-manila-tempest-dsvm-{description}-{node}{suffix}':
          node: ubuntu-xenial
          description: mysql-generic
          postgres_enabled: '0'
          dhss: '1'
          back_end_type: 'multibackend'
          driver: 'generic'
          test_type: 'api'
          suffix: '-nv'
      - 'gate-manila-tempest-dsvm-{description}-{node}{suffix}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          description: postgres-zfsonlinux
          postgres_enabled: '1'
          dhss: '0'
          back_end_type: 'multibackend'
          driver: 'zfsonlinux'
          test_type: 'api'
          suffix: '-nv'
      - 'gate-manila-tempest-dsvm-{description}-{node}{suffix}':
          node: ubuntu-xenial
          description: postgres-container
          postgres_enabled: '1'
          dhss: '1'
          back_end_type: 'multibackend'
          driver: 'container'
          test_type: 'api'
          suffix: '-nv'
      - 'gate-manila-tempest-dsvm-{description}-{node}{suffix}':
          node: ubuntu-xenial
          description: 'container-scenario-custom-image'
          postgres_enabled: '0'
          dhss: '1'
          back_end_type: 'multibackend'
          driver: 'container_with_custom_image'
          test_type: 'scenario'
          suffix: '-nv'
      - 'gate-manila-tempest-dsvm-{description}-{node}{suffix}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          description: generic-no-share-servers
          postgres_enabled: '0'
          dhss: '0'
          back_end_type: 'multibackend'
          driver: 'generic'
          test_type: 'api'
          suffix: '-nv'
      - 'gate-manila-tempest-dsvm-{description}-{node}{suffix}':
          node: ubuntu-xenial
          description: 'generic-scenario-custom-image'
          postgres_enabled: '0'
          dhss: '1'
          back_end_type: 'multibackend'
          driver: 'generic_with_custom_image'
          test_type: 'scenario'
          suffix: '-nv'
      - 'gate-manila-tempest-dsvm-{description}-{node}{suffix}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          description: scenario
          postgres_enabled: '0'
          dhss: '1'
          back_end_type: 'multibackend'
          driver: 'generic'
          test_type: 'scenario'
          suffix: '-nv'
      - 'gate-manila-tempest-dsvm-glusterfs-{variant}-{node}{suffix}':
          node: ubuntu-trusty
          suffix: '-nv'
          variant: 'nfs'
      - 'gate-manila-tempest-dsvm-glusterfs-{variant}-{node}{suffix}':
          node: ubuntu-trusty
          suffix: '-nv'
          variant: 'native'
      - 'gate-manila-tempest-dsvm-glusterfs-{variant}-{node}{suffix}':
          node: ubuntu-xenial
          suffix: '-nv'
          variant: 'nfs'
      - 'gate-manila-tempest-dsvm-glusterfs-{variant}-{node}{suffix}':
          node: ubuntu-xenial
          suffix: '-nv'
          variant: 'native'
      - 'gate-manila-tempest-dsvm-glusterfs-{variant}-{node}{suffix}':
          node: ubuntu-xenial
          suffix: '-nv'
          variant: 'nfs-heketi'
      - 'gate-manila-tempest-dsvm-glusterfs-{variant}-{node}{suffix}':
          node: ubuntu-xenial
          suffix: '-nv'
          variant: 'native-heketi'
      - 'gate-manila-tempest-minimal-dsvm-cephfs-{variant}-{node}{suffix}':
          node:
            - ubuntu-xenial
            - centos-7
          suffix: '-nv'
          variant:
            - 'native'
            - 'nfs'

- project:
    name: manila-image-elements

    jobs:
      - gate-{name}-pep8-{node}:
          node: ubuntu-xenial
      - gate-{name}-requirements
      - gate-{name}-docs-{node}:
          node: ubuntu-xenial
      - 'gate-manila-publishimage-{image-name}-{node}':
          node: ubuntu-xenial
          image-name: generic
      - 'gate-manila-buildimage-{image-name}-{node}':
          node: ubuntu-xenial
          image-name: generic
      - 'gate-manila-buildimage-{image-name}-{node}':
          node: ubuntu-xenial
          image-name: docker

- project:
    name: manila-specs

    jobs:
      - specs-jobs

- project:
    name: manila-test-image

    jobs:
      - gate-{name}-bashate
      - gate-manila-test-image-build

- project:
    name: manila-ui

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs
      - translation-jobs
      - translation-jobs-newton
      - translation-jobs-ocata
      - openstack-releasenotes-jobs
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist:
            - py27dj19
            - py27dj110
          node: ubuntu-xenial

- project:
    name: marshal

    jobs:
      - python-jobs

- project:
    name: masakari

    jobs:
      - python-jobs

- project:
    name: masakari-monitors

    jobs:
      - python-jobs

- project:
    name: masakari-specs

    jobs:
      - specs-jobs

- project:
    name: meghdwar

    jobs:
      - python-jobs

- project:
    name: merlin

    jobs:
      - nodejs4-jobs
      - '{name}-js-release-{suffix}':
          suffix: 'master'
      - '{name}-js-release-{suffix}':
          suffix: 'branch'

- project:
    name: meteos

    jobs:
      - python-jobs

- project:
    name: meteos-ui

    jobs:
      - python-jobs

- project:
    name: microversion-parse

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: mistral

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      # A couple of projects import mistral as a library to make
      # plugins work. Until the mistral-lib work is done, we need to
      # publish mistral itself to pypi for unit test jobs for those
      # other projects.
      # - openstack-server-release-jobs
      - pypi-jobs
      - '{pipeline}-{component}-devstack-dsvm{special}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          component: mistral
          suffix: '-nv'
          special: ''
      - '{pipeline}-{component}-devstack-dsvm{special}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          component: mistral
          suffix: '-nv'
          special: '-non-apache'
      - '{pipeline}-{component}-devstack-dsvm{special}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          component: mistral
          suffix: '-nv'
          special: '-kombu'
      - gate-rally-dsvm-mistral-{name}-{node}{suffix}:
          name: task
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
      - gate-{name}-tox-{envlist}-{node}:
          envlist:
            - unit-postgresql
            - unit-mysql
          node:
            - ubuntu-trusty
            - ubuntu-xenial

- project:
    name: mistral-dashboard

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: mistral-extra
    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: mistral-lib

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: mistral-specs

    jobs:
      - specs-jobs

- project:
    name: mitmstack

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: mixmatch

    jobs:
      - python-jobs
      - pypi-jobs
      - '{pipeline}-mixmatch-dsvm-functional-{node}{job-suffix}':
          pipeline: gate
          node: ubuntu-xenial
          job-suffix: '-nv'
          branch-override: default

- project:
    name: mogan

    jobs:
      - python-jobs
      - coverage-jobs
      - gate-{name}-tox-{envlist}-{node}:
          envlist: functional
          node: ubuntu-xenial

- project:
    name: mogan-specs

    jobs:
      - specs-jobs

- project:
    name: mogan-ui

    jobs:
      - python-jobs

- project:
    name: molteniron

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: monasca-agent

    jobs:
      - python-jobs
      - pypi-jobs
      - tempest-monasca-full-jobs
      - 'gate-{name}-python35-nv'

- project:
    name: monasca-analytics

    jobs:
      - pypi-jobs
      - python-jobs
      - 'gate-{name}-python35-nv'

- project:
    name: monasca-api

    jobs:
      - python-jobs
      - pypi-jobs
      - maven-plugin-jobs
      - coverage-jobs
      - 'gate-{name}-python35-nv'

- project:
    name: monasca-ceilometer

    jobs:
      - python-jobs
      - 'gate-{name}-python35-nv'

- project:
    name: monasca-common

    jobs:
      - python-jobs
      - pypi-jobs
      - maven-plugin-jobs

- project:
    name: monasca-events-api

    jobs:
      - python-jobs
      - pypi-jobs
      - 'gate-{name}-python35-nv'

- project:
    name: monasca-grafana-datasource

    jobs:
      - nodejs4-jobs
      - nodejs4-publish-to-npm

- project:
    name: monasca-kibana-plugin

    jobs:
      - nodejs4-jobs
      - nodejs4-publish-to-npm

- project:
    name: monasca-log-api

    jobs:
      - python-jobs
      - coverage-jobs
      - openstack-publish-jobs
      - periodic-python-jobs-with-oslo-master
      - pypi-jobs
      - gate-tempest-dsvm-monasca-log-api-{node}{suffix}:
          node: ubuntu-xenial
          suffix:
            - ''
            - '-nv'

- project:
    name: monasca-notification

    jobs:
      - python-jobs
      - pypi-jobs
      - coverage-jobs
      - 'gate-{name}-python35-nv'

- project:
    name: monasca-persister

    jobs:
      - python-jobs
      - pypi-jobs
      - coverage-jobs
      - maven-plugin-jobs

- project:
    name: monasca-statsd

    jobs:
      - python-jobs
      - pypi-jobs
      - coverage-jobs

- project:
    name: monasca-thresh

    jobs:
      - maven-plugin-jobs

- project:
    name: monasca-transform

    jobs:
      - python-jobs
      - pypi-jobs
      - 'gate-{name}-python35-nv'

- project:
    name: monasca-ui

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs
      - translation-jobs
      - 'gate-{name}-python35-nv'

- project:
    name: monitorstack

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: mox3

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs

- project:
    name: mqtt_statsd

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: murano

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs
      - openstack-publish-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - openstack-releasenotes-jobs
      - periodic-python-jobs-with-oslo-master
      - gate-rally-dsvm-murano-{name}-{node}{suffix}:
          name: task
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
      - 'gate-tempest-dsvm-murano-{mode}-{node}{suffix}':
          mode: 'cfapi'
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - 'gate-tempest-dsvm-murano-{mode}-{node}{suffix}':
          mode: 'api'
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default
      - 'gate-murano-congress-devstack-dsvm-{node}{suffix}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
      - 'gate-murano-dsvm-functional-{node}{suffix}':
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - translation-jobs
      - install-guide-jobs:
          service: application-catalog
      - api-ref-jobs:
          service: application-catalog

- project:
    name: murano-agent

    jobs:
      - python-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs

- project:
    name: murano-apps

    jobs:
      - linters-jobs
      - 'gate-dsvm-{name}-{murano-app}-unittest-{node}{suffix}':
          suffix: '-nv'
          node:
            - ubuntu-xenial
            - ubuntu-trusty
          murano-app:
            - refstackclient

- project:
    name: murano-dashboard

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs
      - nodejs4-jobs
      - openstack-releasenotes-jobs
      - translation-jobs
      - translation-jobs-newton
      - translation-jobs-ocata
      - 'gate-dashboard-dsvm-selenium-{type}-{node}{suffix}':
          node: ubuntu-xenial
          branch-override: default
          suffix: '-nv'
          type:
            - package

- project:
    name: murano-pkg-check
    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs
      - translation-jobs

- project:
    name: murano-plugin-networking-sfc

    jobs:
      - python-jobs

- project:
    name: murano-specs

    jobs:
      - specs-jobs

- project:
    name: nemesis

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: nerd-reviewer

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs
      - hook-{name}-rtfd

- project:
    name: network-checker

    jobs:
      - pypi-jobs
      - python-jobs

- project:
    name: networking-6wind

    jobs:
      - python-jobs

- project:
    name: networking-ale-omniswitch

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: networking-arista

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: networking-bagpipe

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - pypi-jobs
      - coverage-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - periodic-python-jobs-with-neutron-lib-master
      - '{pipeline}-tempest-dsvm-networking-bagpipe{which}{suffix}':
          pipeline: gate
          branch-override: default
          suffix: ''
          node: ubuntu-xenial
          which: ''
      - '{pipeline}-networking-bagpipe-dsvm-fullstack-{node}{suffix}':
          pipeline: gate
          branch-override: default
          suffix: -nv
          node: ubuntu-xenial

- project:
    name: networking-baremetal

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs

- project:
    name: networking-bgpvpn

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - pypi-jobs
      - coverage-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - periodic-python-jobs-with-neutron-lib-master
      - '{pipeline}-networking-bgpvpn-dsvm-{bgpvpntest}-{node}{suffix}':
          pipeline: gate
          bgpvpntest: install
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-networking-bgpvpn-bagpipe-dsvm-{bgpvpntest}-{node}{suffix}':
          pipeline: gate
          bgpvpntest: install
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-networking-bgpvpn-dsvm-{bgpvpntest}-{node}{suffix}':
          pipeline: gate
          bgpvpntest: functional
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-networking-bgpvpn-bagpipe-dsvm-{bgpvpntest}-{node}{suffix}':
          pipeline: gate
          bgpvpntest: functional
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-networking-bgpvpn-bagpipe-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default

- project:
    name: networking-bigswitch

    jobs:
      - python-jobs

- project:
    name: networking-brocade

    jobs:
      - python-jobs

- project:
    name: networking-calico

    jobs:
      - python-jobs
      - pypi-jobs
      - '{pipeline}-tempest-dsvm-networking-calico{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-networking-calico{suffix}':
          pipeline: periodic
          node: ubuntu-xenial
          suffix: '-master'
          branch-override: master

- project:
    name: networking-cisco

    jobs:
      - python-jobs
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: newton
          node: ubuntu-trusty
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist:
            - newton
            - ocata
            - master
          node: ubuntu-xenial
      - 'gate-{name}-compare-coverage-{node}{suffix}':
          node: ubuntu-xenial
          suffix: '-nv'
      - pypi-jobs

- project:
    name: networking-cumulus

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: networking-dpm

    jobs:
      - python-jobs
      - pypi-jobs
      - hook-{name}-rtfd

- project:
    name: networking-edge-vpn

    jobs:
      - python-jobs

- project:
    name: networking-extreme

    jobs:
      - python-jobs

- project:
    name: networking-fortinet

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: networking-fujitsu

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: networking-generic-switch

    jobs:
      - python-jobs
      - pypi-jobs
      - '{pipeline}-networking-generic-switch-dsvm-tempest{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default

- project:
    name: networking-h3c

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: networking-hpe

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: networking-huawei

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: networking-hyperv

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: networking-icc

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: networking-infoblox

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: networking-l2gw

    jobs:
      - python-jobs
      - pypi-jobs
      - '{pipeline}-networking-l2gw-dsvm-functional{suffix}':
          pipeline: gate
          suffix: '-nv'
          node: ubuntu-xenial
          branch-override: default

- project:
    name: networking-lenovo

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: networking-midonet

    jobs:
      - coverage-jobs
      - python-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - pypi-jobs
      - openstack-publish-jobs
      - translation-jobs
      - openstack-releasenotes-jobs
      - periodic-python-jobs-with-neutron-lib-master
      - '{pipeline}-tempest-dsvm-networking-midonet-v1-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-networking-midonet-{midonet-plugin}-{node}{suffix}':
          pipeline: gate
          midonet-plugin: v2
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-networking-midonet-{midonet-plugin}-{node}{suffix}':
          pipeline: gate
          midonet-plugin: v2-full
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-networking-midonet-{midonet-plugin}-{node}{suffix}':
          pipeline: gate
          midonet-plugin: v2-full-legacy
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-networking-midonet-{midonet-plugin}-{node}{suffix}':
          pipeline: gate
          midonet-plugin: v2
          node: ubuntu-trusty
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-networking-midonet-{midonet-plugin}-{node}{suffix}':
          pipeline: periodic
          midonet-plugin: ml2-full
          node: ubuntu-xenial
          suffix: '-ocata'
          branch-override: stable/ocata
      - '{pipeline}-tempest-dsvm-networking-midonet-{midonet-plugin}-{node}{suffix}':
          pipeline: periodic
          midonet-plugin: v2-full
          node: ubuntu-xenial
          suffix: '-ocata'
          branch-override: stable/ocata
      - '{pipeline}-tempest-dsvm-networking-midonet-{midonet-plugin}-{node}{suffix}':
          pipeline: periodic
          midonet-plugin: v2
          node: ubuntu-xenial
          suffix: '-newton'
          branch-override: stable/newton
      - '{pipeline}-tempest-dsvm-networking-midonet-{midonet-plugin}-{node}{suffix}':
          pipeline: periodic
          midonet-plugin: v2
          node: ubuntu-trusty
          suffix: '-mitaka'
          branch-override: stable/mitaka
      - '{pipeline}-tempest-dsvm-networking-midonet-{midonet-plugin}-{node}{suffix}':
          pipeline: gate
          midonet-plugin: ml2
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-networking-midonet-{midonet-plugin}-{node}{suffix}':
          pipeline: gate
          midonet-plugin: ml2-full
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-networking-midonet-{midonet-plugin}-{node}{suffix}':
          pipeline: gate
          midonet-plugin: ml2-full-legacy
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-networking-midonet-{midonet-plugin}-{node}{suffix}':
          pipeline: gate
          midonet-plugin: ml2
          node: ubuntu-trusty
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-networking-midonet-rally-dsvm-{midonet-plugin}-{node}{suffix}':
          pipeline: gate
          midonet-plugin: v2
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-networking-midonet-rally-dsvm-{midonet-plugin}-{node}{suffix}':
          pipeline: gate
          midonet-plugin: ml2
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-grenade-dsvm-networking-midonet-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default

- project:
    name: networking-mlnx

    jobs:
      - python-jobs

- project:
    name: networking-nec

    jobs:
      - python-jobs

- project:
    name: networking-odl

    jobs:
      - coverage-jobs
      - python-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - openstack-publish-jobs
      - translation-jobs
      - openstack-releasenotes-jobs
      - pypi-jobs
      - '{pipeline}-tempest-dsvm-networking-odl-{odl-release-base}-{odl-provider}{driver-version}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: '-mitaka-nv'
          odl-provider: ''
          driver-version: 'v1driver'
          odl-release-base:
            - 'beryllium-snapshot'
            - 'boron-snapshot'
            - 'carbon-snapshot'
          branch-override: stable/mitaka
      # tempest-dsvm-networking-odl-{odl-release-base} is for newton+
      - '{pipeline}-tempest-dsvm-networking-odl-{odl-release-base}-{odl-provider}{driver-version}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          odl-provider: ''
          driver-version: 'v2driver'
          odl-release-base:
            - 'carbon-snapshot'
          branch-override: default
      - '{pipeline}-tempest-dsvm-networking-odl-{odl-release-base}-{odl-provider}{driver-version}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          odl-provider: ''
          driver-version: 'v2driver'
          odl-release-base:
            - 'beryllium-snapshot'
            - 'boron-snapshot'
          branch-override: default
      - '{pipeline}-tempest-dsvm-networking-odl-{odl-release-base}-{odl-provider}{driver-version}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          odl-provider: 'vpnservice-'
          driver-version:
            - 'v1driver'
            - 'v2driver'
          odl-release-base:
            - 'boron-snapshot'
            - 'carbon-snapshot'
          branch-override: default
      - '{pipeline}-tempest-dsvm-networking-odl-multinode-{odl-release-base}{suffix}':
          pipeline: gate
          node: ubuntu-xenial-2-node
          suffix: '-nv'
          odl-release-base: 'carbon-snapshot'
          branch-override: default
      - '{pipeline}-rally-dsvm-networking-odl-{odl-release-base}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          odl-release-base:
            - 'beryllium-snapshot'
            - 'boron-snapshot'
            - 'carbon-snapshot'
          branch-override: default
      - '{pipeline}-grenade-dsvm-networking-odl{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-dsvm-networking-odl-{odltest}-{odl-release-base}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          odltest: fullstack
          odl-release-base: 'carbon-snapshot'
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-dsvm-networking-odl-{odltest}-{odl-release-base}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          odltest: functional
          odl-release-base: 'carbon-snapshot'
          suffix: ''
          branch-override: default
      - periodic-python-jobs-with-neutron-lib-master

- project:
    name: networking-onos

    jobs:
      - python-jobs
      - pypi-jobs
      - '{pipeline}-tempest-dsvm-networking-onos-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
          branch-override: default

- project:
    name: networking-opencontrail

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: networking-ovn

    jobs:
      - coverage-jobs
      - python-jobs
      - translation-jobs
      - pypi-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - '{pipeline}-tempest-dsvm-networking-ovn-ovs-master{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-networking-ovn-ovs-master-python3{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-networking-ovn-ovs-release{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-networking-ovn-multinode{suffix}':
          pipeline: gate
          node: ubuntu-xenial-2-node
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-rally-dsvm-networking-ovn{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-install-dsvm-networking-ovn-kuryr{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-networking-ovn-dsvm-{ovntest}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          ovntest: functional
          suffix: ''
          branch-override: default
      - '{pipeline}-networking-ovn-dsvm-{ovntest}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          ovntest: functional-py35
          suffix: ''
          branch-override: default
      # networking-ovn doesn't have branches older than newton. By running
      # grenade with ubuntu-xenial in the name we automatically pin
      # grenade against this project to run starting with master which
      # should be fine because there is nothing before newton to upgrade from.
      - '{pipeline}-grenade-dsvm-networking-ovn-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - periodic-python-jobs-with-neutron-lib-master

- project:
    name: networking-ovs-dpdk

    jobs:
      - python-jobs
      - '{pipeline}-tempest-dsvm-networking-ovs-dpdk{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default

- project:
    name: networking-peregrine

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: networking-plumgrid

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: networking-powervm

    jobs:
      - python-jobs
      - pypi-jobs
      - hook-{name}-rtfd

- project:
    name: networking-sfc

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - pypi-jobs
      - periodic-python-jobs-with-neutron-lib-master
      - '{pipeline}-networking-sfc-functional-dsvm-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-networking-sfc-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: ''
          branch-override: default
      - '{pipeline}-networking-sfc-functional-dsvm-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-networking-sfc-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-networking-sfc-multinode-{node-release}{suffix}':
          pipeline: gate
          node-release: ubuntu-xenial
          node: ubuntu-xenial-2-node
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-networking-sfc-{node}{suffix}':
          pipeline: periodic
          node: ubuntu-xenial
          suffix: ''
          branch-override: master

- project:
    name: networking-vpp

    jobs:
      - python-jobs
      - '{pipeline}-networking-vpp-smoke-{node}{suffix}':
          node: ubuntu-xenial
          pipeline: gate
          suffix: '-nv'

- project:
    name: networking-vsphere

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: networking-zte

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: networking-zvm

    jobs:
      - python-jobs

- project:
    name: neutron

    jobs:
      - coverage-jobs
      - python-jobs
      - cross-python-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs
      - translation-jobs
      - translation-jobs-newton
      - translation-jobs-ocata
      - gate-rally-dsvm-neutron-{name}-{node}{suffix}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          telemetry: '0'
      - gate-rally-dsvm-py35-neutron-{name}-{node}{suffix}:
          node: ubuntu-xenial
          suffix: '-nv'
          telemetry: '0'
      - '{pipeline}-grenade-dsvm-neutron-multinode-{node-release}{suffix}':
          pipeline: gate
          node-release: ubuntu-trusty
          node: ubuntu-trusty-2-node
          suffix: ''
          branch-override: default
      - '{pipeline}-grenade-dsvm-neutron-multinode-zero-downtime-{node-release}{job-suffix}':
          pipeline: gate
          node-release: ubuntu-xenial
          node: ubuntu-xenial-2-node
          job-suffix: ''
          branch-override: default
      - '{pipeline}-grenade-dsvm-neutron-multinode-{node-release}{suffix}':
          pipeline: gate
          node-release: ubuntu-xenial
          node: ubuntu-xenial-2-node
          suffix: ''
          branch-override: default
      - '{pipeline}-grenade-dsvm-neutron-dvr-multinode-{node-release}{suffix}':
          pipeline: gate
          node-release: ubuntu-trusty
          node: ubuntu-trusty-2-node
          suffix: ''
          branch-override: default
      - '{pipeline}-grenade-dsvm-neutron-dvr-multinode-{node-release}{suffix}':
          pipeline: gate
          node-release: ubuntu-xenial
          node: ubuntu-xenial-2-node
          suffix: ''
          branch-override: default
      - '{pipeline}-grenade-dsvm-neutron-linuxbridge-multinode-{node-release}{suffix}':
          pipeline: gate
          node: ubuntu-xenial-2-node
          node-release: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-neutron-dsvm-functional{python}-{node}{suffix}':
          pipeline: gate
          python: ''
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-neutron-dsvm-functional{python}-{node}{suffix}':
          pipeline: gate
          python: '-python35'
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-neutron-dsvm-functional{python}-{node}{suffix}':
          pipeline: periodic
          python: ''
          node: ubuntu-xenial
          suffix: ''
          branch-override: master
      # This job is for cross testing with devstack-gate
      - '{pipeline}-neutron-dsvm-functional{python}-{node}{suffix}':
          pipeline: gate
          python: ''
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-neutron-dsvm-fullstack-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-neutron-dsvm-api{which}-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default
          which:
            - ''
            - '-pecan'
      - '{pipeline}-neutron-dsvm-api{which}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
          which: ''
      - '{pipeline}-tempest-dsvm-neutron-linuxbridge-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-neutron-scenario-linuxbridge-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-neutron-ipv6only{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-neutron-serviceipv6{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-neutron-ovs-native-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-neutron-dvr-ovs-native-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-dsvm-neutron-{which}-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default
          which: pecan
      - '{pipeline}-tempest-dsvm-neutron-{which}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
          which: ovsfw
      - '{pipeline}-tempest-dsvm-neutron-pg-full-{node}{suffix}':
          pipeline: periodic
          node: ubuntu-xenial
          suffix: ''
          branch-override: master
      - '{pipeline}-tempest-dsvm-neutron-with-ryu-master-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - periodic-python-jobs-with-oslo-master
      - periodic-python-jobs-with-neutron-lib-master

- project:
    name: neutron-classifier

    jobs:
      - python-jobs

- project:
    name: neutron-dynamic-routing

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs
      - '{pipeline}-neutron-dynamic-routing-dsvm-functional{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-neutron-dynamic-routing-dsvm-tempest-api{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-neutron-dynamic-routing-dsvm-tempest-scenario-{scenariotype}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
          scenariotype: ipv4
      - '{pipeline}-neutron-dynamic-routing-dsvm-tempest-scenario-{scenariotype}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
          scenariotype: ipv6
      - '{pipeline}-neutron-dynamic-routing-dsvm-tempest-scenario-{scenariotype}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
          scenariotype: basic
      - periodic-python-jobs-with-neutron-lib-master

- project:
    name: neutron-fwaas

    jobs:
      - coverage-jobs
      - python-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs
      - translation-jobs
      - '{pipeline}-neutron-fwaas-dsvm-functional{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-neutron-fwaas-{fwaas-version}-dsvm-tempest{branch-designator}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          branch-designator: ''
          branch-override: default
          fwaas-version: v2
          suffix: ''
      - '{pipeline}-neutron-fwaas-{fwaas-version}-dsvm-tempest{branch-designator}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          branch-designator: ''
          branch-override: default
          fwaas-version: v1
          suffix: ''
      - '{pipeline}-neutron-fwaas-{fwaas-version}-dsvm-tempest{branch-designator}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          branch-designator: ''
          branch-override: default
          fwaas-version: legacy
          suffix: ''
      - '{pipeline}-neutron-fwaas-{fwaas-version}-dsvm-tempest-multinode{branch-designator}{suffix}':
          pipeline: gate
          node: ubuntu-xenial-2-node
          branch-designator: ''
          branch-override: default
          fwaas-version: v2
          suffix: '-nv'
      - '{pipeline}-neutron-fwaas-{fwaas-version}-dsvm-tempest-multinode{branch-designator}{suffix}':
          pipeline: gate
          node: ubuntu-xenial-2-node
          branch-designator: ''
          branch-override: default
          fwaas-version: v1
          suffix: '-nv'
      - periodic-python-jobs-with-neutron-lib-master
      - '{pipeline}-grenade-dsvm-neutron-fwaas-multinode{suffix}':
          pipeline: gate
          node: ubuntu-xenial-2-node
          branch-override: default
          suffix: '-nv'
      - '{pipeline}-neutron-fwaas-dsvm-fullstack-{node}{suffix}':
          pipeline: gate
          branch-override: default
          node: ubuntu-xenial
          suffix: '-nv'

- project:
    name: neutron-lbaas

    jobs:
      - python-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - openstack-publish-jobs
      - openstack-server-release-jobs
      - openstack-releasenotes-jobs
      - translation-jobs
      # Legacy trusty job mitaka - remove after mitaka EOL
      - '{pipeline}-neutron-{lbaasversion}-dsvm-{lbaastest}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: ''
          branch-override: default
          lbaasversion: lbaasv1
          lbaastest: api
      - '{pipeline}-neutron-{lbaasversion}-dsvm-{lbaastest}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: ''
          branch-override: default
          lbaasversion: lbaasv2
          lbaastest:
            - healthmonitor
            - listener
            - loadbalancer
            - member
            - pool
            - minimal
      - '{pipeline}-neutron-{lbaasversion}-dsvm-{lbaastest}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: '-nv'
          branch-override: default
          lbaasversion: lbaasv2
          lbaastest:
            - scenario
            - scenario-namespace
            - api-namespace
      # Legacy xenial jobs (newton) - Remove after newton EOL
      - '{pipeline}-neutron-{lbaasversion}-dsvm-{lbaastest}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
          lbaasversion: lbaasv2
          lbaastest:
            - healthmonitor
            - listener
            - loadbalancer
            - member
            - pool
            - minimal
      # Current xenial jobs (newton|ocata|>)
      - '{pipeline}-neutron-{lbaasversion}-dsvm-{lbaastest}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
          lbaasversion: lbaasv2
          lbaastest: api
      - '{pipeline}-neutron-{lbaasversion}-dsvm-py3x-{lbaastest}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
          lbaasversion: lbaasv2
          lbaastest: api
      - '{pipeline}-neutron-{lbaasversion}-dsvm-{lbaastest}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
          lbaasversion: lbaasv2
          lbaastest:
            - scenario
            - scenario-namespace
            - api-namespace
      - '{pipeline}-neutron-{lbaasversion}-dsvm-py3x-{lbaastest}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
          lbaasversion: lbaasv2
          lbaastest:
            - scenario
            - scenario-namespace
            - api-namespace

- project:
    name: neutron-lbaas-dashboard

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - nodejs4-jobs
      - pypi-jobs
      - translation-jobs
      - translation-jobs-ocata
      - gate-neutron-lbaas-dashboard-dsvm-integration-{node}{suffix}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
      - gate-neutron-lbaas-dashboard-dsvm-py3x-integration-{node}{suffix}:
          node: ubuntu-xenial
          suffix: '-nv'

- project:
    name: neutron-lib

    jobs:
      - coverage-jobs
      - python-jobs
      - translation-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - '{pipeline}-tempest-dsvm-neutron-src-{name}-{node}{suffix}':
          name: neutron-lib
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default
      # networking api-ref is maintained in neutron-lib repo.
      - api-ref-jobs:
          service: networking

- project:
    name: neutron-specs

    jobs:
      - specs-jobs

- project:
    name: neutron-vpnaas

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - 'gate-{name}-releasenotes'
      - '{pipeline}-neutron-vpnaas-dsvm-{vpnaastest}-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          vpnaastest:
            - functional
            - functional-sswan
          suffix: ''
          branch-override: default
      - '{pipeline}-neutron-vpnaas-dsvm-rally-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-neutron-dsvm-tempest-vpnaas-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-neutron-vpnaas-dsvm-api{which}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: '-nv'
          branch-override: default
          which: ''

- project:
    name: nfv-filters

    jobs:
      - python-jobs

- project:
    name: nodepool
    doc-publisher-folder: nodepool

    jobs:
      - coverage-jobs
      - python-jobs
      - 'gate-{name}-python35-nv'
      - pypi-jobs
      - infra-publish-jobs
      - '{pipeline}-dsvm-nodepool{python}{suffix}':
          pipeline: gate
          python: ''
          node: ubuntu-xenial
          suffix: ''
          branch-override: 'default'
      - '{pipeline}-dsvm-nodepool{python}{images}-src{suffix}':
          pipeline: gate
          python: ''
          node: ubuntu-xenial
          images: ''
          suffix: '-nv'
          branch-override: 'default'
      - '{pipeline}-dsvm-nodepool{python}{images}-src{suffix}':
          pipeline: gate
          python: '-py35'
          node: ubuntu-xenial
          images: ''
          suffix: '-nv'
          branch-override: 'default'


- project:
    name: nose-html-output

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: nova

    jobs:
      - coverage-jobs
      - python-jobs
      - cross-python-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs
      - translation-jobs
      - translation-jobs-newton
      - translation-jobs-ocata
      - gate-{name}-tox-{envlist}-{node}:
          envlist:
            - functional
            - functional-py35
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - periodic-python-jobs-with-oslo-master
      - api-guide-jobs:
          service: compute
      - api-ref-jobs:
          service: compute
      - gate-placement-api-ref-nv
      - '{pipeline}-tempest-dsvm-neutron-nova-next-full-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-grenade-dsvm-neutron-nova-next-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-barbican-{plugin}-dsvm-tempest{special}-{node}{suffix}':
          pipeline: gate
          plugin: simple-crypto
          branch-override: default
          special: '-nova'
          suffix: '-nv'
          node: ubuntu-xenial

- project:
    name: nova-dpm

    jobs:
      - python-jobs
      - hook-{name}-rtfd
      - pypi-jobs
      - gate-{name}-tox-{envlist}-{node}:
          envlist:
            - functional
            - functional-py35
          node: ubuntu-xenial

- project:
    name: nova-fusioncompute

    jobs:
      - python-jobs

- project:
    name: nova-lxd

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: nova-mksproxy

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: nova-powervm

    jobs:
      - python-jobs
      - pypi-jobs
      - hook-{name}-rtfd

- project:
    name: nova-solver-scheduler

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: nova-specs

    jobs:
      - specs-jobs
      - gate-{name}-pep8-{node}:
          node: ubuntu-xenial

- project:
    name: nova-zvm-virt-driver

    jobs:
      - python-jobs

- project:
    name: novajoin

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: oaktree

    jobs:
      - pypi-jobs
      - python-jobs
      - '{pipeline}-oaktree-dsvm-functional{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - hook-{name}-rtfd

- project:
    name: oaktreemodel

    jobs:
      - oaktreemodel-tarball
      - '{name}-pypi-both-upload'
      - '{name}-tarball-signing'
      - '{name}-announce-release'
      - python-jobs

- project:
    name: octavia

    jobs:
      - openstack-publish-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - pypi-jobs
      - python-jobs
      - periodic-python-jobs-with-oslo-master
      - openstack-releasenotes-jobs
      - translation-jobs
      - coverage-jobs
      - api-ref-jobs:
          service: load-balancer
      - '{pipeline}-octavia-{octaviaversion}-dsvm-{octaviatest}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix:
            - ''
            - '-nv'
          branch-override: default
          octaviaversion: v1
          octaviatest: scenario
      - '{pipeline}-octavia-{octaviaversion}-dsvm-py3x-{octaviatest}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix:
            - ''
            - '-nv'
          branch-override: default
          octaviaversion: v1
          octaviatest: scenario
      - '{pipeline}-octavia-{octaviaversion}-dsvm-{octaviatest}-multinode{suffix}':
          pipeline: gate
          node: ubuntu-xenial-2-node
          suffix: ''
          branch-override: default
          octaviaversion: v1
          octaviatest: scenario
      - '{pipeline}-octavia-{octaviaversion}-dsvm-py3x-{octaviatest}-multinode{suffix}':
          pipeline: gate
          node: ubuntu-xenial-2-node
          suffix: ''
          branch-override: default
          octaviaversion: v1
          octaviatest: scenario
      - '{pipeline}-octavia-{octaviaversion}-dsvm-{octaviatest}-lxd-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
          octaviaversion: v1
          octaviatest: scenario
      - '{pipeline}-octavia-{octaviaversion}-dsvm-{octaviatest}-{hypervisor}-{amphora_os}.{amphora_os_version}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
          octaviaversion: v1
          octaviatest: scenario
          hypervisor: kvm
          amphora_os: centos
          amphora_os_version: 7
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist:
            - functional
            - functional-py35
          node: ubuntu-xenial

- project:
    name: octavia-dashboard

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - nodejs4-jobs
      - pypi-jobs
      - translation-jobs
      - gate-octavia-dashboard-dsvm-integration-{node}{suffix}:
          node: ubuntu-xenial
          suffix: '-nv'
      - gate-octavia-dashboard-dsvm-py3x-integration-{node}{suffix}:
          node: ubuntu-xenial
          suffix: '-nv'

- project:
    name: octavia-tempest-plugin

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs

- project:
    name: ooi

    jobs:
      - python-jobs
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: functional
          node: ubuntu-xenial
      - pypi-jobs
      - hook-{name}-rtfd

- project:
    name: opencafe

    jobs:
      - gate-{name}-pep8-{node}:
          node: ubuntu-xenial

- project:
    name: openstack-ansible

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - deploy-guide-jobs:
          service: openstack-ansible
      - 'gate-{name}-openstack-ansible-{scenario}-{node}{suffix}':
          suffix: ''
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          scenario: aio
      - 'gate-{name}-openstack-ansible-{scenario}-{node}{suffix}':
          suffix: '-nv'
          node:
            - centos-7
            - ubuntu-xenial
          scenario:
            - aio
            - ceph
            - compute
            - ironic
            - magnum
            - sahara
            - swift
      - 'periodic-openstack-ansible-{action}-{scenario}-{branch-name}-{node}{suffix}':
          action:
            - deploy
            - upgrade
          branch: 'master'
          branch-name: 'master'
          node:
            - centos-7
            - ubuntu-xenial
          scenario:
            - aio
            - ceph
          suffix: ''
      - 'periodic-openstack-ansible-{action}-{scenario}-{branch-name}-{node}{suffix}':
          action:
            - deploy
            - upgrade
          branch: 'stable/ocata'
          branch-name: 'ocata'
          node:
            - centos-7
            - ubuntu-xenial
          scenario:
            - aio
            - ceph
          suffix: ''

- project:
    name: openstack-ansible-apt_package_pinning

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-ceph_client

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-galera_client

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-galera_server

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - '{pipeline}-{name}-ansible-{scenario}-{ostype}{suffix}':
          suffix: '-nv'
          ostype:
            - centos-7
            - ubuntu-xenial
          pipeline: gate
          scenario: ssl

- project:
    name: openstack-ansible-haproxy_server

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-lxc_container_create

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-lxc_hosts

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-memcached_server

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-openstack_hosts

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-openstack_openrc

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-ops

    jobs:
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - 'gate-{name}-docs-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - linters-jobs
      - gate-{name}-requirements

- project:
    name: openstack-ansible-os_almanach

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_aodh

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_barbican

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_ceilometer

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - '{pipeline}-{name}-ansible-{scenario}-{ostype}{suffix}':
          suffix: '-nv'
          ostype:
            - centos-7
            - ubuntu-trusty
            - ubuntu-xenial
          pipeline: gate
          scenario:
            - gnocchi

- project:
    name: openstack-ansible-os_cinder

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - '{pipeline}-{name}-ansible-{scenario}-{ostype}{suffix}':
          suffix: ''
          ostype:
            - ubuntu-xenial
          pipeline: gate
          scenario:
            - upgrade

- project:
    name: openstack-ansible-os_cloudkitty

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_designate

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_glance

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - '{pipeline}-{name}-ansible-{scenario}-{ostype}{suffix}':
          suffix:
            - ''
            - '-nv'
          ostype:
            - centos-7
            - ubuntu-xenial
          pipeline: gate
          scenario:
            - upgrade

- project:
    name: openstack-ansible-os_gnocchi

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_heat

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_horizon

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_ironic

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_karbor

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_keystone

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - '{pipeline}-{name}-ansible-{scenario}-{ostype}{suffix}':
          suffix: '-nv'
          ostype:
            - centos-7
            - ubuntu-xenial
          pipeline: gate
          scenario:
            - upgrade
      - '{pipeline}-{name}-ansible-{scenario}-{ostype}{suffix}':
          suffix: ''
          ostype:
            - centos-7
            - ubuntu-trusty
            - ubuntu-xenial
          pipeline: gate
          scenario:
            - upgrade
            - uw_apache
            - uw_nginx

- project:
    name: openstack-ansible-os_magnum

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_molteniron

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_monasca

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_monasca-agent

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_monasca-ui

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_neutron

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - '{pipeline}-{name}-ansible-{scenario}-{ostype}{suffix}':
          suffix: '-nv'
          ostype:
            - centos-7
            - ubuntu-trusty
            - ubuntu-xenial
          pipeline: gate
          scenario:
            - calico
            - dragonflow
      - '{pipeline}-{name}-ansible-{scenario}-{ostype}{suffix}':
          suffix: ''
          ostype:
            - centos-7
            - ubuntu-trusty
            - ubuntu-xenial
          pipeline: gate
          scenario:
            - func_ovs
            - upgrade

- project:
    name: openstack-ansible-os_nova

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - '{pipeline}-{name}-ansible-{scenario}-{ostype}{suffix}':
          suffix: ''
          ostype:
            - centos-7
            - ubuntu-trusty
            - ubuntu-xenial
          pipeline: gate
          scenario:
            - func_lxd
            - upgrade

- project:
    name: openstack-ansible-os_octavia

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_rally

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_sahara

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_searchlight

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_swift

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - '{pipeline}-{name}-ansible-{scenario}-{ostype}{suffix}':
          suffix:
            - ''
            - '-nv'
          ostype:
            - centos-7
            - ubuntu-trusty
            - ubuntu-xenial
          pipeline: gate
          scenario:
            - func_pypy
            - multi_reg
            - upgrade

- project:
    name: openstack-ansible-os_tempest

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_trove

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_watcher

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-os_zaqar

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-pip_install

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-pip_lock_down

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-plugins

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-rabbitmq_server

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-repo_build

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-repo_server

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-rsyslog_client

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-rsyslog_server

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-ansible-security

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - '{pipeline}-{name}-ansible-{scenario}-{ostype}{suffix}':
          suffix: ''
          ostype: ubuntu-trusty
          pipeline: gate
          scenario: func_rhel6


- project:
    name: openstack-ansible-specs

    jobs:
      - gate-{name}-requirements
      - specs-jobs

- project:
    name: openstack-ansible-tests

    jobs:
      - ansible-role-jobs
      - gate-{name}-requirements
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: openstack-chef-repo

    jobs:
      - chef-rake-jobs

- project:
    name: openstack-chef-specs

    jobs:
      - specs-jobs

- project:
    name: openstack-doc-tools

    jobs:
      - openstack-client-publish-jobs
      - openstack-releasenotes-jobs
      - pypi-jobs
      - python-jobs

- project:
    name: openstack-health

    jobs:
      - python-jobs
      - nodejs4-jobs

- project:
    name: openstack-helm

    jobs:
      - gate-openstack-helm-{integration}-{type}-{node}{suffix}:
          integration: nocluster
          type: linter
          node: ubuntu-xenial
          suffix: '-nv'
      - gate-openstack-helm-{integration}-{type}-{node}{suffix}:
          integration: aio
          type: basic
          node:
            - ubuntu-xenial
            - centos-7
            - fedora-25
          suffix: '-nv'
      - gate-{name}-docs-{node}:
          node: ubuntu-xenial
      - hook-{name}-rtfd

- project:
    name: openstack-manuals

    jobs:
      - openstack-doc-jobs
      - openstack-releasenotes-jobs
      - manual-translation-jobs
      - translation-jobs-newton
      - translation-jobs-ocata
      - gate-{name}-tox-{envlist}-{node}:
          envlist: checksyntax
          node: ubuntu-xenial

- project:
    name: openstack-resource-agents-specs

    jobs:
      - specs-jobs

- project:
    name: openstack-specs

    jobs:
      - specs-jobs

- project:
    name: openstack-ux

    jobs:
      - specs-jobs

- project:
    name: openstackclient

    jobs:
      - python-jobs

- project:
    name: openstackdocstheme

    jobs:
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - pypi-jobs
      - gate-{name}-requirements
      - gate-{name}-docs-{node}:
          node: ubuntu-xenial
      - gate-{name}-pep8-{node}:
          node: ubuntu-xenial
      - '{name}-branch-tarball'
      - gate-{name}-api-ref
      - gate-{name}-tox-doc-publish-{envlist}:
          envlist: checkbuild

- project:
    name: openstackid
    doc-publisher-folder: openstackid

    jobs:
      - gate-openstackid-unittests
      - 'openstackid-release-{suffix}':
          suffix: 'master'
      - 'openstackid-release-{suffix}':
          suffix: 'branch'
      - infra-publish-jobs
      - 'gate-{name}-docs-{node}':
          node: ubuntu-xenial

- project:
    name: os-api-ref

    jobs:
      - openstack-publish-jobs
      - python-jobs
      - pypi-jobs

- project:
    name: os-apply-config

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs

- project:
    name: os-brick

    jobs:
      - openstack-client-publish-jobs
      - pypi-jobs
      - python-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'
      - '{pipeline}-tempest-dsvm-full-ceph-plugin-src-{name}-{node}{suffix}':
          node: ubuntu-trusty
          pipeline: gate
          plugin: ceph
          plugin-repo: openstack/devstack-plugin-ceph
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-full-ceph-plugin-src-{name}-{node}{suffix}':
          node: ubuntu-xenial
          pipeline: gate
          plugin: ceph
          plugin-repo: openstack/devstack-plugin-ceph
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-full-lio-src-{name}-{node}{suffix}':
          node: ubuntu-trusty
          pipeline: gate
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-full-lio-src-{name}-{node}{suffix}':
          node: ubuntu-xenial
          pipeline: gate
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-nnet-head-{name}{suffix}':
          node: ubuntu-trusty
          pipeline: gate
          suffix: ''
          branch-override: default
          projects-from-git: os-brick oslo.privsep
      - gate-{name}-pylint-{node}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial

- project:
    name: os-client-config

    jobs:
      - python-jobs
      - 'gate-{name}-pypy'
      - pypi-jobs
      - openstack-client-publish-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: os-collect-config

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs

- project:
    name: os-dpm

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: os-faults

    jobs:
      - python-jobs
      - pypi-jobs
      - hook-{name}-rtfd

- project:
    name: os-http

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: os-log-merger

    jobs:
      - pypi-jobs

- project:
    name: os-loganalyze

    jobs:
      - python-jobs
      - 'gate-dsvm-os-loganalyze{suffix}':
          suffix: '-nv'
          node: ubuntu-xenial

- project:
    name: os-net-config

    jobs:
      - python-jobs
      - pypi-jobs
      - coverage-jobs

- project:
    name: os-performance-tools

    jobs:
      - python-jobs
      - pypi-jobs
      - openstack-publish-jobs

- project:
    name: os-refresh-config

    jobs:
      - python-jobs
      - pypi-jobs
      - coverage-jobs

- project:
    name: os-testr

    jobs:
      - python-jobs
      - pypi-jobs
      - openstack-publish-jobs

- project:
    name: os-traits
    jobs:
      - python-jobs
      - pypi-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: os-vif
    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs

- project:
    name: os-win

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: os-xenapi

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: osc-lib

    jobs:
      - python-jobs
      - 'gate-{name}-pypy'
      - pypi-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: osc-placement

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - '{pipeline}-osc-placement-dsvm-functional{special}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          special: ''
          suffix: ''
          branch-override: default

- project:
    name: oslo-cookiecutter

    jobs:
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: cookiecutter
          node: ubuntu-xenial

- project:
    name: oslo-specs

    jobs:
      - specs-jobs

- project:
    name: oslo.cache
    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - translation-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: oslo.concurrency

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - translation-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: oslo.config

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - 'lib-forward-testing-{name}'
      - openstack-releasenotes-jobs

- project:
    name: oslo.context

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: oslo.db

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - translation-jobs
      - gate-{name}-tox-{envlist}-{node}:
          envlist:
            - mysql-python
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - 'lib-forward-testing-{name}'
      - openstack-releasenotes-jobs

- project:
    name: oslo.i18n

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - translation-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: oslo.log

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - translation-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'
      - '{pipeline}-{name}-src-grenade-dsvm-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
          branch-override: default

- project:
    name: oslo.messaging

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - translation-jobs
      - 'lib-forward-testing-{name}'
      - openstack-releasenotes-jobs
      - 'gate-{name}-tox-{envlist}-{node}':
          node: ubuntu-xenial
          envlist:
            - py27-func-amqp1
            - py27-func-kafka
            - py27-func-pika
            - py27-func-rabbit
            - py27-func-zmq
            - py27-func-zmq-proxy
            - py27-func-zmq-pubsub
            - py35-func-amqp1
            - py35-func-rabbit
            - py35-func-zmq
      - '{pipeline}-{name}-src-grenade-dsvm-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-{name}-src-grenade-dsvm-multinode-{node-release}{suffix}':
          pipeline: gate
          node-release: ubuntu-xenial
          node: ubuntu-xenial-2-node
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-oslo.messaging-src-dsvm-full-{plugin}-{config}-{node}{suffix}':
          pipeline: gate
          plugin: zmq
          config: default
          node: ubuntu-xenial
          plugin-repo: openstack/devstack-plugin-zmq
          suffix:
            - ''
            - '-nv'
      - '{pipeline}-oslo.messaging-src-dsvm-full-{plugin}-{config}-{node}{suffix}':
          pipeline: gate
          plugin: amqp1
          config: dual
          node: centos-7
          plugin-repo: openstack/devstack-plugin-amqp1
          suffix: '-nv'
      - '{pipeline}-oslo.messaging-src-dsvm-full-{plugin}-{config}-{node}{suffix}':
          pipeline: gate
          plugin: amqp1
          config: hybrid
          node: ubuntu-xenial
          plugin-repo: openstack/devstack-plugin-amqp1
          suffix: '-nv'
      - '{pipeline}-oslo.messaging-src-dsvm-full-{plugin}-{config}-{node}{suffix}':
          pipeline: gate
          plugin: pika
          config: default
          node: ubuntu-xenial
          plugin-repo: openstack/devstack-plugin-pika
          suffix: ''
      - 'gate-telemetry-dsvm-integration-{name}-{node}':
          node:
            - ubuntu-xenial
      - 'gate-oslo.messaging-telemetry-dsvm-integration-{plugin}-{node}{suffix}':
          node:
            - ubuntu-xenial
          plugin:
            - amqp1
            - pika
            - zmq
          suffix: '-nv'
      - 'gate-tempest-neutron-dsvm-src-oslo.messaging-{plugin}-{config}-{node}{suffix}':
          node: ubuntu-xenial
          plugin: amqp1
          config: hybrid
          suffix: '-nv'
      - 'gate-tempest-neutron-dsvm-src-oslo.messaging-{plugin}-{config}-{node}{suffix}':
          node: ubuntu-xenial
          plugin: zmq
          config: default
          suffix: '-nv'
      - 'gate-tempest-neutron-dsvm-src-oslo.messaging-{plugin}-{config}-{node}{suffix}':
          node: ubuntu-xenial
          plugin: pika
          config: default
          suffix: ''

- project:
    name: oslo.middleware
    jobs:
      - python-jobs
      - 'gate-{name}-pypy'
      - openstack-publish-jobs
      - pypi-jobs
      - translation-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: oslo.policy

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - translation-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: oslo.privsep
    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - translation-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: oslo.reports
    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - translation-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: oslo.rootwrap

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: oslo.serialization

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: oslo.service

    jobs:
      - python-jobs
      - 'gate-{name}-python35-nv'
      - openstack-publish-jobs
      - pypi-jobs
      - translation-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: oslo.utils

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - translation-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: oslo.versionedobjects

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - translation-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'
      - 'stable-compat-jobs-{name}'
      - '{pipeline}-{name}-src-grenade-dsvm-multinode-{node-release}{suffix}':
          pipeline: gate
          node-release: ubuntu-trusty
          node: ubuntu-trusty-2-node
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-{name}-src-grenade-dsvm-multinode-{node-release}{suffix}':
          pipeline: gate
          node-release: ubuntu-xenial
          node: ubuntu-xenial-2-node
          suffix: '-nv'
          branch-override: default

- project:
    name: oslo.vmware

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - translation-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: oslosphinx

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs

- project:
    name: oslotest

    jobs:
      - coverage-jobs
      - python-jobs
      - 'gate-{name}-pypy'
      - openstack-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs

- project:
    name: osops-tools-generic

    jobs:
      - gate-{name}-bashate

- project:
    name: osprofiler

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - openstack-publish-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: ospurge

    jobs:
      - coverage-jobs
      - 'gate-{name}-python35'
      - gate-{name}-pep8-{node}:
          node: ubuntu-xenial
      - gate-{name}-requirements
      - gate-{name}-docs-{node}:
          node: ubuntu-xenial
      - '{pipeline}-ospurge-dsvm-functional-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default

- project:
    name: ossa
    docroot: security

    jobs:
      - 'gate-{name}-docs-{node}':
          node: ubuntu-xenial
      - 'static-{name}-publish'

- project:
    name: ovsdbapp
    jobs:
        - python-jobs
        - pypi-jobs
        - gate-{name}-tox-{envlist}-{node}:
            node: ubuntu-xenial
            envlist: functional

- project:
    name: packetary
    jobs:
      - pypi-jobs
      - python-jobs
      - hook-{name}-rtfd

- project:
    name: packetary-specs
    jobs:
      - specs-jobs
      - hook-{name}-rtfd

- project:
    name: packstack
    ostype: centos-7
    scenario:
      - scenario001
      - scenario002
      - scenario003
    jobs:
      - python-jobs
      - '{name}-tarball'
      - '{name}-tarball-signing'
      - 'gate-{name}-releasenotes'
      - 'gate-packstack-integration-{scenario}-tempest-{ostype}'

- project:
    name: pandaman

    jobs:
      - python-jobs

- project:
    name: panko

    jobs:
      - python-jobs
      - gate-{name}-tox-{envlist}-{node}:
          node: ubuntu-xenial
          envlist:
            - py27-mysql
            - py27-postgresql
            - py27-mongodb
            - py35-mysql
            - py35-postgresql
            - py35-mongodb
      - pypi-jobs
      - openstack-publish-jobs
      - translation-jobs
      - openstack-releasenotes-jobs
      - 'gate-telemetry-dsvm-integration-{name}-{node}':
          node: ubuntu-xenial

- project:
    name: patrole

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - '{pipeline}-tempest-dsvm-patrole-{rbac-role}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          branch-override: default
          suffix: ''
          rbac-role:
            - admin
            - member
      - '{pipeline}-tempest-dsvm-patrole-py35-{rbac-role}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          branch-override: default
          suffix: '-nv'
          rbac-role:
            - member
      - '{pipeline}-tempest-dsvm-patrole-multinode-{rbac-role}-{node-release}{suffix}':
          pipeline: gate
          node-release: ubuntu-xenial
          node: ubuntu-xenial-2-node
          branch-override: default
          suffix: '-nv'
          rbac-role:
            - admin
            - member

- project:
    name: paunch

    jobs:
      - python-jobs
      - pypi-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - coverage-jobs

- project:
    name: pbr

    jobs:
      - coverage-jobs
      - openstack-publish-jobs
      - python-jobs
      - 'gate-{name}-pypy'
      - pypi-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: performa

    jobs:
      - python-jobs
      - pypi-jobs
      - hook-{name}-rtfd

- project:
    name: performance-docs
    jobs:
      - python-jobs
      - openstack-publish-jobs

- project:
    name: poppy

    jobs:
      - python-jobs
      - 'gate-{name}-pypy'
      - pypi-jobs
      - hook-{name}-rtfd

- project:
    name: poppy-ui

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs

- project:
    name: project-config

    jobs:
      - bindep-fallback-tests
      - linters-jobs
      - generate-specs-site-jobs

- project:
    name: project-config-example

    jobs:
      - linters-jobs

- project:
    name: project-navigator-data

    jobs:
      - python-jobs
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist:
            - validate
          node: ubuntu-xenial

- project:
    name: project-team-guide

    jobs:
      - 'gate-{name}-docs-{node}':
          node: ubuntu-xenial

- project:
    name: proliantutils

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs

- project:
    name: puppet-accessbot

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-ansible

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-aodh

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-apparmor

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-apps_site

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-askbot

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-asterisk

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-autossh

    jobs:
      - puppet-check-jobs

- project:
    name: puppet-bandersnatch

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-barbican

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-bugdaystats

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-bup

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-ceilometer

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-ceph

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-cgit

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-cinder

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-ciwatch

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-cloudkitty

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-congress

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-designate

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-diskimage_builder

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-docker_registry

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-drupal

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-ec2api

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-elastic_recheck

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-elasticsearch

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-ethercalc

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-etherpad_lite

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-exim

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-featuretracker

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-freezer

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-germqtt

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default

- project:
    name: puppet-gerrit

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-gerritbot

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-github

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-glance

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-glare

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-gnocchi

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-grafyaml

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-graphite

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-haveged

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-heat

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-horizon

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-hound

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-httpd

    jobs:
      - puppet-check-jobs
      - '{name}-forge-upload'
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-infracloud

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-ipsilon

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-iptables

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-ironic

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-jeepyb

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-jenkins

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-kerberos

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-keystone

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-kibana

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-lodgeit

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-log_processor

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-logrotate

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-logstash

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-lpmqtt

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default

- project:
    name: puppet-magnum

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-mailman

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-manila

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-mediawiki

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-meetbot

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-midonet

    jobs:
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-mistral

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-monasca

    jobs:
      - puppet-check-jobs
      - puppet-module-unit

- project:
    name: puppet-mosquitto

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default

- project:
    name: puppet-mqtt_statsd

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default

- project:
    name: puppet-murano

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-mysql_backup

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-n1k-vsm

    jobs:
      - puppet-check-jobs
      - puppet-module-unit

- project:
    name: puppet-neutron

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-nodepool

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-nova

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-octavia

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-odsreg

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-openafs

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-openstack-cookiecutter

    jobs:
      - puppet-openstack-libraries-jobs

- project:
    name: puppet-openstack_extras

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-openstack-guide

    jobs:
      - openstack-publish-jobs
      - gate-{name}-docs-{node}:
          node: ubuntu-xenial

- project:
    name: puppet-openstack_health

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-openstack_infra_spec_helper

    jobs:
      - puppet-openstack-infra-spec-helper-jobs

- project:
    name: puppet-openstack-integration

    jobs:
      - puppet-check-jobs
      - puppet-openstack-integration-jobs:
          suffix: ''
      - puppet-openstack-integration-jobs:
          suffix: '-nv'

- project:
    name: puppet-openstack_spec_helper

    jobs:
      - openstack-releasenotes-jobs

- project:
    name: puppet-openstack-specs

    jobs:
      - specs-jobs

- project:
    name: puppet-openstackci
    doc-publisher-folder: openstackci

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default
      - 'gate-openstackci-beaker-{node}':
          node: centos-7
          ostype: centos7
      - 'gate-openstackci-beaker-{node}':
          node: ubuntu-trusty
          ostype: trusty
      - 'gate-openstackci-beaker-{node}':
          node: ubuntu-xenial
          ostype: xenial
      - gate-{name}-docs-{node}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - infra-publish-jobs

- project:
    name: puppet-openstackid

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-openstacklib

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-os_client_config

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-oslo

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-ovn

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-pacemaker

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-packagekit

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-panko

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-pgsql_backup

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-phabricator

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-pip

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-planet

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-project_config

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-puppet

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-qdr

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-rally

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-redis

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-refstack

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-releasestatus

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-reviewday

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-sahara

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-setproxy

    jobs:
      - puppet-check-jobs

- project:
    name: puppet-simpleproxy

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-snmpd

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-ssh

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-ssl_cert_check

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-stackalytics

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-statusbot

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-storyboard

    jobs:
      - puppet-check-jobs
      - '{name}-forge-upload'
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-subunit2sql

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-sudoers

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-swift

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-tacker

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-tempest

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-tmpreaper

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-translation_checksite

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-tripleo

    jobs:
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - openstack-releasenotes-jobs

- project:
    name: puppet-trove

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-ulimit

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-unattended_upgrades

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-unbound

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-user

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-vinz

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-vitrage

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-vswitch

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-watcher

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-yum

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-zanata

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-zaqar

    jobs:
      - openstack-releasenotes-jobs
      - puppet-release-jobs
      - puppet-check-jobs
      - puppet-module-unit
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: puppet-zuul

    jobs:
      - puppet-check-jobs
      - puppet-beaker-jobs-trusty:
          suffix: ''
          branch-override: default
      - puppet-beaker-jobs-xenial:
          suffix: '-nv'
          branch-override: default
      - puppet-beaker-jobs-centos7:
          suffix: ''
          branch-override: default

- project:
    name: pycadf

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: pyeclib

    jobs:
      - python-jobs
      - pypi-jobs
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: py27
          node: centos-7
      - '{pipeline}-libec-pyeclib-unit-{node}':
          pipeline: gate
          node:
            - centos-7
            - ubuntu-xenial

- project:
    name: pyghmi

    jobs:
      - python-jobs
      - 'gate-{name}-python35-nv'
      - pypi-jobs
      - '{pipeline}-tempest-dsvm-ironic-pxe_ipmitool-pyghmi-src-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default

- project:
    name: pylockfile

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs

- project:
    name: pymod2pkg

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs

- project:
    name: pynotedb

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs

- project:
    name: pypi-mirror

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: python-almanachclient

    jobs:
      - python-jobs
      - pypi-jobs
      - hook-{name}-rtfd

- project:
    name: python-aodhclient

    jobs:
      - python-jobs
      - 'gate-{name}-pypy'
      - openstack-client-publish-jobs
      - pypi-jobs

- project:
    name: python-barbicanclient

    jobs:
      - python-jobs
      - 'gate-{name}-pypy'
      - openstack-client-publish-jobs
      - pypi-jobs
      - gate-python-barbicanclient-devstack-dsvm-{node}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial

- project:
    name: python-bileanclient

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: python-blazarclient

    jobs:
      - python-jobs
      - 'gate-{name}-python35-nv'
      - '{name}-tarball'
      - '{name}-tarball-signing'

- project:
    name: python-brick-cinderclient-ext

    jobs:
      - openstack-client-publish-jobs
      - 'gate-{name}-pypy'
      - pypi-jobs
      - python-jobs
      - '{pipeline}-brick-cinderclient-ext-dsvm-functional-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default

- project:
    name: python-ceilometerclient

    jobs:
      - python-jobs
      - 'gate-{name}-pypy'
      - openstack-client-publish-jobs
      - pypi-jobs
      - '{pipeline}-tempest-dsvm-neutron-src-{name}-plugin-{node}{suffix}':
          project-repo: ceilometer
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-ceilometerclient-dsvm-functional{special}-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          special: ''
          suffix: ''
          branch-override: default
      - '{pipeline}-ceilometerclient-dsvm-functional{special}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          special: '-identity-v3-only'
          suffix: ''
          branch-override: default
      - 'gate-telemetry-dsvm-integration-{name}-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial

- project:
    name: python-cerberusclient

    jobs:
      - python-jobs

- project:
    name: python-cinderclient

    jobs:
      - coverage-jobs
      - python-jobs
      - 'gate-{name}-pypy'
      - openstack-client-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'
      - '{pipeline}-cinderclient-dsvm-functional{special}-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          special: ''
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-cinderclient-dsvm-functional{special}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          special: '-identity-v3-only'
          suffix: '-nv'
          branch-override: default
      - gate-{name}-pylint-{node}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial

- project:
    name: python-cloudkittyclient

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs

- project:
    name: python-cloudpulseclient
    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: python-cognitiveclient
    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: python-congressclient

    jobs:
      - python-jobs
      - pypi-jobs
      - openstack-client-publish-jobs

- project:
    name: python-cratonclient

    jobs:
      - hook-{name}-rtfd
      - python-jobs

- project:
    name: python-cueclient

    jobs:
      - python-jobs
      - 'gate-{name}-python35-nv'
      - pypi-jobs

- project:
    name: python-designateclient

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-client-publish-jobs
      - pypi-jobs

- project:
    name: python-distilclient

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: python-don

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: python-dracclient

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: python-evoqueclient

    jobs:
      - python-jobs

- project:
    name: python-freezerclient

    jobs:
      - python-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - gate-{name}-pylint-{node}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial

- project:
    name: python-fuelclient

    jobs:
      - pypi-jobs
      - python-jobs

- project:
    name: python-glanceclient

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-client-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'
      - '{pipeline}-glanceclient-dsvm-functional{special}-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          special: ''
          suffix: ''
          branch-override: default
      - '{pipeline}-glanceclient-dsvm-functional{special}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          special: '-identity-v3-only'
          suffix: '-nv'
          branch-override: default

- project:
    name: python-glareclient

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: python-group-based-policy-client

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: python-heatclient

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-client-publish-jobs
      - pypi-jobs
      - translation-jobs
      - 'gate-{name}-pypy'
      - '{pipeline}-heatclient-dsvm-functional-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default

- project:
    name: python-hnvclient

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: python-iotronicclient

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: python-ironic-inspector-client

    jobs:
      - python-jobs
      - openstack-client-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: func
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - '{pipeline}-python-ironic-inspector-client-dsvm-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-python-ironic-inspector-client-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default

- project:
    name: python-ironicclient

    jobs:
      - coverage-jobs
      - python-jobs
      - 'gate-{name}-pypy'
      - openstack-client-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - '{pipeline}-ironicclient-dsvm-functional-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-python-ironicclient-src-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default

- project:
    name: python-jenkins

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs
      - hook-{name}-rtfd

- project:
    name: python-karborclient

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs

- project:
    name: python-keystoneclient

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-client-publish-jobs
      - pypi-jobs
      - translation-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'
      - '{pipeline}-keystoneclient-dsvm-functional-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: ''
          branch-override: default
      - '{pipeline}-keystoneclient-dsvm-functional-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default

- project:
    name: python-kingbirdclient

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: python-magnumclient

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-client-publish-jobs
      - pypi-jobs
      - translation-jobs

- project:
    name: python-manilaclient

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-client-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs

- project:
    name: python-masakariclient

    jobs:
      - python-jobs

- project:
    name: python-meteosclient

    jobs:
      - python-jobs

- project:
    name: python-mistralclient

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs
      - openstack-client-publish-jobs
      - openstack-releasenotes-jobs
      - '{pipeline}-{component}-devstack-dsvm{special}-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          component: python-mistralclient
          special: ''

- project:
    name: python-moganclient

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: python-monascaclient

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs

- project:
    name: python-muranoclient

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs
      - '{pipeline}-muranoclient-dsvm-functional-{mode}-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          mode: 'mysql-backend'
          branch-override: default
      - openstack-releasenotes-jobs
      - translation-jobs

- project:
    name: python-neutronclient

    jobs:
      - coverage-jobs
      - python-jobs
      - 'gate-{name}-pypy'
      - openstack-client-publish-jobs
      - openstack-releasenotes-jobs
      - pypi-jobs
      - translation-jobs
      - 'lib-forward-testing-{name}'
      - '{pipeline}-neutronclient-test-dsvm-{which-test}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          which-test: functional
          suffix: ''
          branch-override: default
      - '{pipeline}-neutronclient-test-dsvm-{which-test}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          which-test: functional
          suffix: ''
          branch-override: default
      - '{pipeline}-neutronclient-test-dsvm-{which-test}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          which-test: functional
          suffix: '-mitaka-nv'
          branch-override: stable/mitaka
      - '{pipeline}-neutronclient-test-dsvm-{which-test}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          which-test: functional-adv-svcs
          suffix: ''
          branch-override: default
      - '{pipeline}-neutronclient-test-dsvm-{which-test}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          which-test: functional-adv-svcs
          suffix: ''
          branch-override: default
      - '{pipeline}-grenade-dsvm-neutron-libs-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
          branch-override: default


- project:
    name: python-novaclient

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-client-publish-jobs
      - pypi-jobs
      - translation-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'
      - '{pipeline}-novaclient-dsvm-functional{special}-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          special: ''
          suffix: ''
          branch-override: default
      - '{pipeline}-novaclient-dsvm-functional{special}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          special: '-identity-v3-only'
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-novaclient-dsvm-functional{special}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          special: '-neutron'
          suffix: ''
          branch-override: default

- project:
    name: python-octaviaclient

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-client-publish-jobs
      - pypi-jobs

- project:
    name: python-oneviewclient
    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: python-openstackclient

    jobs:
      - coverage-jobs
      - python-jobs
      - translation-jobs
      - '{pipeline}-osc-dsvm-functional-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-osc-dsvm-functional-tips-{node}{suffix}':
          pipeline: gate
          suffix: '-nv'
          branch-override: default
          node: ubuntu-xenial
      - '{pipeline}-osc-dsvm-functional-n-net-{node}{suffix}':
          pipeline: gate
          suffix: '-nv'
          branch-override: default
          node: ubuntu-xenial
      - openstack-client-publish-jobs
      - openstack-releasenotes-jobs
      - pypi-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: python-openstacksdk

    jobs:
      - coverage-jobs
      - python-jobs
      - 'gate-{name}-pypy'
      - '{pipeline}-sdk-dsvm-functional-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - pypi-jobs

- project:
    name: python-opentsdbclient

    jobs:
      - python-jobs

- project:
    name: python-pankoclient

    jobs:
      - python-jobs
      - openstack-client-publish-jobs
      - pypi-jobs

- project:
    name: python-rackclient

    jobs:
      - coverage-jobs
      - python-jobs

- project:
    name: python-redfish

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: python-saharaclient

    jobs:
      - coverage-jobs
      - python-jobs
      - 'gate-{name}-pypy'
      - pypi-jobs
      - openstack-client-publish-jobs
      - openstack-releasenotes-jobs
      - '{pipeline}-tempest-dsvm-neutron-src-python-saharaclient-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default

- project:
    name: python-scciclient

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: python-searchlightclient

    jobs:
      - python-jobs
      - 'gate-{name}-pypy'
      - openstack-client-publish-jobs
      - pypi-jobs

- project:
    name: python-senlinclient

    jobs:
      - python-jobs
      - openstack-releasenotes-jobs
      - pypi-jobs
      - translation-jobs
      - '{pipeline}-senlinclient-dsvm-functional{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default

- project:
    name: python-solumclient

    jobs:
      - coverage-jobs
      - python-jobs
      - 'gate-{name}-pypy'
      - pypi-jobs
      - translation-jobs

- project:
    name: python-sticksclient

    jobs:
      - python-jobs

- project:
    name: python-storyboardclient
    doc-publisher-folder: python-storyboardclient

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs
      - infra-publish-jobs

- project:
    name: python-surveilclient

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: python-swiftclient

    jobs:
      - coverage-jobs
      - python-jobs
      - 'gate-{name}-pypy'
      - openstack-publish-jobs
      - pypi-jobs
      - '{pipeline}-swiftclient-dsvm-functional{special}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          special: ''
          suffix: ''
          branch-override: default
      - '{pipeline}-swiftclient-dsvm-functional{special}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          special: ''
          suffix: ''
          branch-override: default
      - '{pipeline}-swiftclient-dsvm-functional{special}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          special: '-identity-v3-only'
          suffix: '-nv'
          branch-override: default
      - 'lib-forward-testing-{name}'

- project:
    name: python-tackerclient

    jobs:
      - python-jobs
      - 'gate-{name}-python35-nv'
      - pypi-jobs
      - openstack-releasenotes-jobs

- project:
    name: python-tricircleclient

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - coverage-jobs

- project:
    name: python-tripleoclient

    jobs:
      - python-jobs
      - openstack-releasenotes-jobs
      - pypi-jobs
      - 'gate-tripleo-buildimage-{image-name}-{node}{suffix}':
          suffix: ''
          node: centos-7
          image-name: overcloud-full
      - 'gate-tripleo-buildimage-{image-name}-{node}{suffix}':
          suffix: '-nv'
          node: centos-7
          image-name:
            - agent-ramdisk
            - deploy-ramdisk

- project:
    name: python-troveclient

    jobs:
      - python-jobs
      - 'gate-{name}-pypy'
      - openstack-client-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - '{pipeline}-tempest-dsvm-neutron-src-python-troveclient-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default

- project:
    name: python-valenceclient
    jobs:
      - python-jobs

- project:
    name: python-vitrageclient

    jobs:
      - openstack-releasenotes-jobs
      - python-jobs
      - openstack-client-publish-jobs
      - pypi-jobs

- project:
    name: python-watcherclient

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-client-publish-jobs
      - pypi-jobs

- project:
    name: python-zaqarclient

    jobs:
      - python-jobs
      - openstack-client-publish-jobs
      - openstack-releasenotes-jobs
      - pypi-jobs
      - '{pipeline}-zaqarclient-dsvm-functional-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default

- project:
    name: python-zunclient

    jobs:
      - python-jobs
      - pypi-jobs
      - openstack-client-publish-jobs
      - '{pipeline}-zunclient-devstack-dsvm-{driver}-{db}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          driver: 'docker'
          db: 'sql'
          branch-override: default
          suffix: '-nv'

- project:
    name: qa-specs

    jobs:
      - specs-jobs

- project:
    name: qinling

    jobs:
      - python-jobs

- project:
    name: quark

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: rack

    jobs:
      - python-jobs

- project:
    name: rally

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs
      - openstack-publish-jobs
      - hook-{name}-rtfd
      - gate-rally-install-{node}:
          node:
            - centos-7
            - ubuntu-xenial
      - gate-rally-dsvm-verify-{job-mode}-{ctx-mode}{suffix}:
          job-mode: light
          ctx-mode: discover-resources
          compare: 1
          ceilometer: 0
          heat: 0
          sahara: 0
          suffix: ''
      - gate-rally-dsvm-verify-{job-mode}-{ctx-mode}{suffix}:
          job-mode: full
          ctx-mode: discover-resources
          compare: 0
          ceilometer: 1
          heat: 1
          sahara: 1
          suffix: ''
      - gate-rally-dsvm-verify-{job-mode}-{ctx-mode}{suffix}:
          job-mode: light
          ctx-mode: create-resources
          compare: 1
          ceilometer: 1
          heat: 1
          sahara: 1
          suffix: '-nv'
      - gate-rally-dsvm-verify-{job-mode}-{ctx-mode}{suffix}:
          job-mode: full
          ctx-mode: create-resources
          compare: 0
          ceilometer: 1
          heat: 1
          sahara: 1
          suffix: '-nv'
      - gate-rally-dsvm-certification-with-keystone-{keystone-version}{suffix}:
          keystone-version: v3
          suffix: '-nv'
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: self
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - gate-rally-dsvm-neutron-{name}-{node}{suffix}:
          node: ubuntu-xenial
          suffix: ''
          name: 'rally'
          telemetry: '0'
      - gate-rally-dsvm-neutron-{name}-{node}{suffix}:
          node: ubuntu-xenial
          suffix: '-nv'
          name: 'telemetry'
          telemetry: '1'
      - gate-rally-dsvm-rally-{service}{suffix}:
          service: cinder
          heat: 0
          suffix: ''
      - gate-rally-dsvm-rally-{service}{suffix}:
          service: heat
          heat: 1
          suffix: ''
      - gate-rally-dsvm-rally-{service}{suffix}:
          heat: 0
          service: nova
          suffix: '-nv'
      - gate-rally-dsvm-py35-rally-{service}{suffix}:
          heat: 0
          service: nova
          suffix: '-nv'
      - gate-rally-dsvm-{name}-{node}{suffix}:
          node: ubuntu-xenial
          suffix: ''
          swift: '1'
      - gate-rally-dsvm-designate-{name}-{node}{suffix}:
          node: ubuntu-xenial
          suffix: '-nv'
      - gate-rally-dsvm-ironic-{name}{suffix}:
          suffix: '-nv'
      - gate-rally-dsvm-monasca-{name}-{node}{suffix}:
          node: ubuntu-xenial
          suffix: '-nv'
      - gate-rally-dsvm-murano-{name}-{node}{suffix}:
          node: ubuntu-xenial
          suffix: '-nv'
      - gate-rally-dsvm-mistral-{name}-{node}{suffix}:
          node: ubuntu-xenial
          suffix: '-nv'
      - gate-rally-dsvm-neutron-extensions-{name}{suffix}:
          suffix: '-nv'
      - gate-rally-dsvm-neutron-existing-users-{name}
      - gate-rally-dsvm-zaqar-{name}-{node}{suffix}:
          node: ubuntu-xenial
          suffix: '-nv'
      - gate-rally-dsvm-senlin-{name}-{node}{suffix}:
          node: ubuntu-xenial
          suffix: '-nv'
      - gate-rally-dsvm-watcher-{name}-{node}{suffix}:
          node: ubuntu-xenial
          suffix: '-nv'
      - gate-rally-dsvm-magnum-{name}{suffix}:
          suffix: '-nv'

- project:
    name: ramdisk-func-test

    jobs:
      - gate-{name}-pep8-{node}:
          node: ubuntu-xenial

- project:
    name: refstack

    jobs:
      - python-jobs
      - nodejs4-jobs
      - pypi-jobs
      - coverage-jobs
      - gate-{name}-tox-{envlist}-{node}:
          envlist:
            - py27-func-mysql
            - py35-func-mysql
          node: ubuntu-xenial
      - openstack-publish-jobs

- project:
    name: refstack-client

    jobs:
      - coverage-jobs
      - python-jobs

- project:
    name: release-test

    jobs:
      - pypi-jobs

- project:
    name: release-tools

    jobs:
      - python-jobs
      - gate-{name}-bashate

- project:
    name: releases
    docroot: releases

    jobs:
      - python-jobs
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist:
            - validate
            - list-changes
          node: ubuntu-xenial
      - 'static-{name}-publish'

- project:
    name: renderspec

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs

- project:
    name: reno

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs

- project:
    name: requests-mock

    jobs:
      - python-jobs
      - 'gate-{name}-pypy'
      - pypi-jobs
      - hook-{name}-rtfd
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist:
            - keystoneclient-tip
            - novaclient-tip
          node: ubuntu-xenial

- project:
    name: requestsexceptions

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: requirements

    jobs:
      - python-jobs
      - pypi-jobs
      - gate-{name}-pypy
      - openstack-publish-jobs
      - propose-requirements-constraints{suffix}:
          suffix: '-master'
          branch-override: master
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist:
            - validate-projects
          node: ubuntu-xenial
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist:
            - validate
            - babel
            - py27-check-uc
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      # This is a periodic job to ensure that our wheels are reasonably
      # up-to-date. Adding it to the requirements project seems to be the best
      # place to put it, though it's not strictly a requirement for
      # requirements.
      - wheel-build-{node_arch}-{python}:
          node_arch:
            - centos-7-amd64
            - ubuntu-trusty-amd64
            - ubuntu-xenial-amd64
          python:
            - python2
            - python3
      - wheel-release-{mirror_arch}:
          mirror_arch:
            - cent7x64
            - trustyx64
            - xenialx64

- project:
    name: requirements-jobs

    jobs:
      - '{pipeline}-requirements-integration-dsvm-{node}':
          pipeline: gate
          node: ubuntu-trusty
      - '{pipeline}-pbr-installation-dsvm{variant}-{node}':
          pipeline: gate
          node: ubuntu-trusty
          variant: ''
      - '{pipeline}-pbr-installation-dsvm{variant}-{node}':
          pipeline: gate
          node: ubuntu-trusty
          variant: '-upstream'
      - '{pipeline}-requirements-integration-dsvm-{node}':
          pipeline: gate
          node: ubuntu-xenial
      - '{pipeline}-pbr-installation-dsvm{variant}-{node}':
          pipeline: gate
          node: ubuntu-xenial
          variant: ''
      - '{pipeline}-pbr-installation-dsvm{variant}-{node}':
          pipeline: gate
          node: ubuntu-xenial
          variant: '-upstream'

- project:
    name: reviewday

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: reviewstats

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: rpm-packaging

    jobs:
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: lint
          node:
            - ubuntu-trusty
            - ubuntu-xenial

- project:
    name: rpm-packaging-tools

    jobs:
      - gate-{name}-pep8-{node}:
          node: ubuntu-xenial

- project:
    name: rst2bash

    jobs:
      - python-jobs
      - 'gate-labs-ig-cluster-{hypervisor}-{distro}{suffix}':
          hypervisor:
            - kvm
            - vbox
          distro:
            - ubuntu
          suffix: '-nv'

- project:
    name: sahara

    jobs:
      - coverage-jobs
      - python-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs
      - translation-jobs
      - gate-{name}-pylint-{node}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - '{pipeline}-tempest-dsvm-sahara-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-tempest-dsvm-sahara-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-{name}-cli-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-sahara-dsvm-scenario-mod-wsgi-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-sahara-dsvm-scenario-{network}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          network: neutron
          branch-override: default
      - '{pipeline}-sahara-dsvm-scenario-multinode-{plugin}-{node-release}{suffix}':
          pipeline: gate
          node-release: ubuntu-xenial
          node: ubuntu-xenial-2-node
          suffix: '-nv'
          branch-override: default
          plugin: spark
      # only for mitaka branch
      - '{pipeline}-sahara-dsvm-scenario-{network}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: '-nv'
          branch-override: default
          network:
            - nova
            - neutron
      - api-ref-jobs:
          service: data-processing
      - '{pipeline}-grenade-dsvm-sahara-{node}{suffix}':
          pipeline: gate
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - 'gate-{name}-buildimages-{plugin}-{node}{suffix}':
          node: centos-7
          suffix: '-nv'
          plugin:
            - cloudera
            - ambari

- project:
    name: sahara-ci-config

    jobs:
      - gate-{name}-pep8-{node}:
          node: ubuntu-xenial

- project:
    name: sahara-dashboard

    jobs:
      - python-jobs
      - pypi-jobs
      - translation-jobs
      - translation-jobs-newton
      - translation-jobs-ocata
      - openstack-releasenotes-jobs
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist:
            - py27dj19
            - py27dj110
          node: ubuntu-xenial
      - 'gate-sahara-dashboard-dsvm-integration-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial

- project:
    name: sahara-extra

    jobs:
      - python-jobs
      - openstack-server-release-jobs
      - 'gate-sahara-extra-artifacts':
          node: ubuntu-xenial
      - 'post-sahara-extra-artifacts':
          node: ubuntu-xenial

- project:
    name: sahara-image-elements

    jobs:
      - python-jobs
      - pypi-jobs
      - 'gate-{name}-buildimages-{plugin}-{node}{suffix}':
          suffix: '-nv'
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          plugin:
            - vanilla
            - cloudera
            - spark
            - storm
            - mapr
            - ambari
            - plain

- project:
    name: sahara-specs

    jobs:
      - specs-jobs

- project:
    name: sahara-tests

    jobs:
      - coverage-jobs
      - pypi-jobs
      - openstack-publish-jobs
      - python-jobs
      - gate-{name}-pylint-{node}:
          node: ubuntu-xenial
      - openstack-releasenotes-jobs

- project:
    name: scalpels

    jobs:
      - python-jobs
      - pypi-jobs
      - '{pipeline}-scalpels-dsvm-neutron-{node}{suffix}':
          node: ubuntu-xenial
          pipeline: gate
          suffix: '-nv'
          branch-override: default

- project:
    name: scientific-wg

    jobs:
      - gate-{name}-python27-{node}:
          node: ubuntu-xenial

- project:
    name: searchlight
    jobs:
      - python-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs
      - translation-jobs
      - api-ref-jobs:
          service: search

- project:
    name: searchlight-specs

    jobs:
      - specs-jobs

- project:
    name: searchlight-ui

    jobs:
      - python-jobs
      - pypi-jobs
      - nodejs4-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - translation-jobs
      - translation-jobs-newton
      - translation-jobs-ocata

- project:
    name: security-analysis

    jobs:
      - python-jobs
      - openstack-publish-jobs

- project:
    name: security-doc

    jobs:
      - openstack-doc-jobs
      - manual-translation-jobs

- project:
    name: security-specs

    jobs:
      - specs-jobs

- project:
    name: senlin

    jobs:
      - coverage-jobs
      - python-jobs
      - gate-rally-dsvm-senlin-{name}-{node}{suffix}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
      - '{pipeline}-senlin-dsvm-tempest-{py_ver}-{test_type}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
          py_ver:
            - py27
          test_type:
            - api
            - functional
      - '{pipeline}-senlin-dsvm-tempest-{py_ver}-{test_type}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
          py_ver:
            - py35
          test_type:
            - api
            - functional
      - '{pipeline}-senlin-dsvm-tempest-{py_ver}-{test_type}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
          py_ver:
            - py27
            - py35
          test_type:
            - integration
      - translation-jobs
      - pypi-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - api-ref-jobs:
          service: clustering

- project:
    name: senlin-dashboard

    jobs:
      - python-jobs
      - 'gate-{name}-python35-nv'
      - pypi-jobs
      - translation-jobs
      - nodejs4-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: service-types-authority

    jobs:
      - specs-jobs
      - 'gate-{name}-pep8-{node}':
          node: ubuntu-xenial
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist:
            - validate
          node: ubuntu-xenial

- project:
    name: shade

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - openstack-client-publish-jobs
      - '{pipeline}-shade-dsvm-functional-legacy{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: stable/newton
      - '{pipeline}-shade-dsvm-functional-legacy-libs{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: stable/newton
      - '{pipeline}-shade-dsvm-functional-libs{python}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
          python:
          - ''
          - '-py35'
      - '{pipeline}-shade-dsvm-functional-magnum{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-shade-dsvm-functional-neutron{python}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
          python: ''
      - '{pipeline}-shade-dsvm-functional-neutron{python}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
          python: '-py35'
      - '{pipeline}-shade-dsvm-ansible{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-shade-dsvm-ansible-dev{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-dsvm-nodepool{python}{images}-src{suffix}':
          pipeline: gate
          python: ''
          node: ubuntu-xenial
          images: ''
          suffix: ''
          branch-override: 'default'

- project:
    name: shaker

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: shotgun

    jobs:
      - python-jobs

- project:
    name: shovel

    jobs:
      - nodejs4-jobs
      - nodejs4-publish-to-npm

- project:
    name: shovel-horizon

    jobs:
      - python-jobs

- project:
    name: snap-ceilometer

    jobs:
      - snap-jobs

- project:
    name: snap-glance

    jobs:
      - snap-jobs

- project:
    name: snap-keystone

    jobs:
      - snap-jobs

- project:
    name: snap-neutron

    jobs:
      - snap-jobs

- project:
    name: snap-nova

    jobs:
      - snap-jobs

- project:
    name: snap-nova-hypervisor

    jobs:
      - snap-jobs

- project:
    name: snap-openstackclients

    jobs:
      - snap-jobs

- project:
    name: snap-rally

    jobs:
      - snap-jobs

- project:
    name: snap-tempest

    jobs:
      - snap-jobs

- project:
    name: snap.openstack

    jobs:
      - python-jobs

- project:
    name: solar

    jobs:
      - python-jobs
      - hook-{name}-rtfd

- project:
    name: solum

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-server-release-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - 'gate-{name}-pypy'
      - translation-jobs
      - 'gate-solum-devstack-dsvm-{node}{suffix}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: ''
      - 'gate-solum-devstack-dsvm-{node}{suffix}':
          node: centos-7
          suffix: '-nv'
      - 'gate-solum-devstack-dsvm-py35-{node}{suffix}':
          node: ubuntu-xenial
          suffix: '-nv'

- project:
    name: solum-dashboard

    jobs:
      - python-jobs
      - 'gate-{name}-pypy'
      - pypi-jobs
      - translation-jobs

- project:
    name: solum-infra-guestagent

    jobs:
      - coverage-jobs
      - python-jobs
      - 'gate-{name}-python35-nv'
      - 'gate-{name}-pypy'
      - pypi-jobs

- project:
    name: solum-specs

    jobs:
      - specs-jobs

- project:
    name: spanner

    jobs:
      - python-jobs

- project:
    name: sphinx-feature-classification

    jobs:
      - python-jobs

- project:
    name: sqlalchemy-migrate

    jobs:
      - python-jobs
      - 'gate-{name}-python35-nv'
      - gate-{name}-tox-{envlist}-{node}:
          envlist: py27sa07
          node: ubuntu-xenial
      - '{pipeline}-sqlalchemy-migrate-devstack-dsvm{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - hook-{name}-rtfd
      - pypi-jobs

- project:
    name: stackalytics

    jobs:
      - python-jobs
      - pypi-jobs
      - hook-{name}-rtfd

- project:
    name: stacklight-integration-tests

    jobs:
      - python-jobs

- project:
    name: stacktach

    jobs:
      - python-jobs

- project:
    name: stacktach-klugman

    jobs:
      - python-jobs

- project:
    name: stacktach-notification-utils

    jobs:
      - python-jobs

- project:
    name: stacktach-quince

    jobs:
      - python-jobs

- project:
    name: stacktach-quincy

    jobs:
      - python-jobs

- project:
    name: stacktach-shoebox

    jobs:
      - python-jobs

- project:
    name: stacktach-simport

    jobs:
      - python-jobs

- project:
    name: stacktach-stackdistiller

    jobs:
      - python-jobs

- project:
    name: stacktach-timex

    jobs:
      - python-jobs

- project:
    name: stacktach-winchester

    jobs:
      - python-jobs

- project:
    name: stackube

    jobs:
      - golang-jobs

- project:
    name: stackviz

    jobs:
      - nodejs4-jobs
      - python-jobs
      - openstack-publish-jobs

- project:
    name: statusbot

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: steth

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: stevedore

    jobs:
      - python-jobs
      - 'gate-{name}-pypy'
      - pypi-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'
      - openstack-publish-jobs

- project:
    name: sticks

    jobs:
      - python-jobs

- project:
    name: sticks-dashboard

    jobs:
      - python-jobs

- project:
    name: storlets

    jobs:
      - openstack-server-release-jobs
      - openstack-publish-jobs
      - python-jobs
      - gate-storlets-functional-{node}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial

- project:
    name: storyboard
    doc-publisher-folder: storyboard

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs
      - gate-storyboard-js-integration-{node}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - infra-publish-jobs

- project:
    name: storyboard-webclient

    jobs:
      - 'gate-{name}-nodejs{version}-npm-run-{command}':
          command: 'lint'
          version: '4'
      - 'gate-{name}-nodejs{version}-npm-run-{command}':
          command: 'test-unit'
          version: '4'
      - 'gate-{name}-nodejs{version}-npm-run-{command}':
          command: 'test-functional'
          version: '4'
      - 'gate-{name}-nodejs{version}-npm-run-{command}':
          command: 'test-integration'
          version: '4'
      - gate-{name}-js-draft
      - '{name}-js-release-{suffix}':
          suffix: 'master'
      - '{name}-js-release-{suffix}':
          suffix: 'branch'

- project:
    name: subunit2sql

    jobs:
      - python-jobs
      - pypi-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs

- project:
    name: surveil

    jobs:
      - python-jobs
      - 'gate-{name}-pypy'
      - pypi-jobs
      - hook-{name}-rtfd

- project:
    name: sushy

    jobs:
      - coverage-jobs
      - python-jobs
      - pypi-jobs
      - hook-{name}-rtfd
      - '{pipeline}-tempest-dsvm-ironic-ipa-partition-redfish-sushy-src-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default

- project:
    name: sushy-tools

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: swauth

    jobs:
      - hook-{name}-rtfd
      - python-jobs
      - pypi-jobs

- project:
    name: swift

    jobs:
      - coverage-jobs
      - python-jobs
      - cross-python-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - openstack-server-release-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - translation-jobs
      - translation-jobs-newton
      - translation-jobs-ocata
      - api-ref-jobs:
          service: object-storage
      - install-guide-jobs:
          service: object-storage
      - 'gate-{name}-tox-xfs-tmp-{envlist}-{node}':
          envlist:
            - py27
            - py34
            - func
            - func-fast-post
          node: ubuntu-trusty
      - 'gate-{name}-tox-xfs-tmp-{envlist}-{node}':
          envlist:
            - py27
            - py35
            - func
            - func-fast-post
            - func-post-as-copy
            - func-encryption
            - func-ec
          node: ubuntu-xenial
      - 'gate-{name}-tox-xfs-tmp-{envlist}-{node}':
          envlist:
            - py27
            - func
            - func-fast-post
            - func-post-as-copy
            - func-encryption
            - func-ec
          node: centos-7
      - '{pipeline}-swift-dsvm-functional{special}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          special: ''
          suffix: ''
          branch-override: default
      - '{pipeline}-swift-dsvm-functional{special}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          special: ''
          suffix: ''
          branch-override: default
      - '{pipeline}-swift-dsvm-functional{special}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          special: ''
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-swift-dsvm-functional{special}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          special: ''
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-swift-dsvm-functional{special}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          special: '-identity-v3-only'
          suffix: '-nv'
          branch-override: default

- project:
    name: swift-bench

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: swift-ceph-backend

    jobs:
      - python-jobs

- project:
    name: swift-specs

    jobs:
      - specs-jobs

- project:
    name: swift3

    jobs:
      - coverage-jobs
      - python-jobs
      - '{name}-tarball'
      - '{name}-tarball-signing'
      - gate-{name}-pylint-{node}:
          node: ubuntu-xenial
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist:
            - tempauth
            - keystone
            - s3acl
            - s3tests_tempauth
            - s3tests_keystone
          node: ubuntu-xenial

- project:
    name: swiftonfile

    jobs:
      - python-jobs

- project:
    name: swiftonhpss

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: synergy-scheduler-manager

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: synergy-service

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: syntribos

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs

- project:
    name: system-config
    doc-publisher-folder: system-config

    jobs:
      - puppet-check-jobs:
      - linters-jobs
      - gate-infra-puppet-apply-{puppet_version}-{node}:
          puppet_version:
            - 3
            - 4
          node:
            - centos-7
            - ubuntu-trusty
            - ubuntu-xenial
      - infra-publish-jobs
      - 'gate-{name}-docs-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - gate-logstash-filters-{node}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial

- project:
    name: tacker

    jobs:
      - python-jobs
      - pypi-jobs
      - translation-jobs
      - openstack-releasenotes-jobs
      - openstack-publish-jobs
      - '{pipeline}-tacker-dsvm-functional-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tacker-dsvm-functional-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - api-ref-jobs:
          service: nfv-orchestration

- project:
    name: tacker-horizon

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: tacker-specs

    jobs:
      - specs-jobs

- project:
    name: tap-as-a-service

    jobs:
      - python-jobs
      - '{pipeline}-tempest-dsvm-tap-as-a-service{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default

- project:
    name: taskflow

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - 'lib-forward-testing-{name}'
      - 'gate-{name}-pypy'

- project:
    name: tc-as-a-service

    jobs:
      - python-jobs

- project:
    name: telcowg-usecases

    jobs:
      - specs-jobs

- project:
    name: telemetry-specs

    jobs:
      - specs-jobs

- project:
    name: tempest

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - pypi-jobs
      - '{pipeline}-tempest-dsvm-neutron-scenario-multinode-{node-release}{suffix}':
          pipeline: gate
          node: ubuntu-xenial-2-node
          node-release: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
      - '{pipeline}-tempest-plugin-sanity-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'

- project:
    name: tempest-horizon

    jobs:
      - gate-{name}-requirements
      - pypi-jobs

- project:
    name: tempest-lib

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - pypi-jobs
      - 'lib-forward-testing-{name}'

- project:
    name: terracotta

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: timmy

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: tooz

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - gate-{name}-tox-{envlist}-{node}:
          envlist:
            - py27-etcd
            - py34-etcd
            - py35-etcd
            - py27-etcd3
            - py35-etcd3
            - py27-zookeeper
            - py34-zookeeper
            - py35-zookeeper
            - py27-redis
            - py34-redis
            - py35-redis
            - py27-sentinel
            - py34-sentinel
            - py35-sentinel
            - py27-memcached
            - py34-memcached
            - py35-memcached
            - py27-postgresql
            - py34-postgresql
            - py35-postgresql
            - py27-mysql
            - py34-mysql
            - py35-mysql
            - py27-consul
            - py34-consul
            - py35-consul
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - 'lib-forward-testing-{name}'

- project:
    name: tosca-parser

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs

- project:
    name: training-guides

    jobs:
      - openstack-doc-jobs
      - translation-jobs

- project:
    name: training-labs

    jobs:
      - python-jobs
      - 'training-labs-scripts-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - 'gate-training-labs-scripts-{node}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial

- project:
    name: transparency-policy
    docroot: transparency-policy

    jobs:
      - 'gate-{name}-docs-{node}':
          node:  ubuntu-xenial
      - 'static-{name}-publish'

- project:
    name: tricircle

    jobs:
      - python-jobs
      - pypi-jobs
      - coverage-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - '{pipeline}-tricircle-dsvm-functional-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: ''
          branch-override: default
      - '{pipeline}-tricircle-dsvm-functional-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
      - '{pipeline}-tricircle-dsvm-multiregion-{node-release}{suffix}':
          pipeline: gate
          node: ubuntu-xenial-2-node
          node-release: ubuntu-xenial
          suffix: '-nv'
          branch-override: default

- project:
    name: trio2o

    jobs:
      - python-jobs
      - pypi-jobs
      - '{pipeline}-trio2o-dsvm-functional-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default

- project:
    name: tripleo-ci

    jobs:
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-ovb-nonha'
          suffix: ''
          type: 'ovb-nonha'
          node: tripleo-centos-7
          trigger: 'gate'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-ovb-ha'
          suffix: ''
          type: 'ovb-ha'
          node: tripleo-centos-7
          trigger: 'gate'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-ovb-updates'
          suffix: ''
          type: 'ovb-updates'
          node: tripleo-centos-7
          trigger: 'gate'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-ovb-nonha-convergence'
          suffix: ''
          type: 'ovb-nonha-convergence'
          node: tripleo-centos-7
          trigger: 'gate'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-ovb-nonha'
          suffix: ''
          type: 'periodic-ovb-nonha'
          node: tripleo-centos-7
          trigger: 'periodic'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-ovb-ha'
          suffix: ''
          type: 'periodic-ovb-ha'
          node: tripleo-centos-7
          trigger: 'periodic'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-ovb-updates'
          suffix: ''
          type: 'periodic-ovb-updates'
          node: tripleo-centos-7
          trigger: 'periodic'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-ovb-ha-ocata'
          suffix: ''
          type: 'periodic-ovb-ha-ocata'
          node: tripleo-centos-7
          trigger: 'periodic'
          branch-override: stable/ocata
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-ovb-ha-newton'
          suffix: ''
          type: 'periodic-ovb-ha-newton'
          node: tripleo-centos-7
          trigger: 'periodic'
          branch-override: stable/newton
          timeout: 180
      # periodic job for testing quickstart with full tempest
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-ovb-nonha-tempest-oooq-ocata'
          suffix: ''
          type: 'periodic-ovb-nonha-tempest-oooq'
          node: tripleo-centos-7
          trigger: 'periodic'
          branch-override: stable/ocata
          timeout: 300
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-ovb-nonha-tempest-oooq-master'
          suffix: ''
          type: 'periodic-ovb-nonha-tempest-oooq'
          node: tripleo-centos-7
          trigger: 'periodic'
          branch-override: default
          timeout: 300
      # job for basic multinode
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-nonha-multinode'
          suffix:
            - ''
            - '-nv'
          type: 'nonha-multinode'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 180
      # non-voting job for multinode with 3 nodes
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-3nodes-multinode'
          suffix: '-nv'
          type: '3nodes-multinode'
          node: centos-7-3-node
          trigger: 'gate'
          branch-override: default
          timeout: 180
      # Experimental scenario for multinode with 4 nodes
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-scenario005-multinode'
          suffix: ''
          type: 'scenario005-multinode'
          node: centos-7-4-node
          trigger: 'gate'
          branch-override: default
          timeout: 180
      # Experimental scenario for tripleo+coe
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-scenario006-multinode-oooq'
          suffix: '-nv'
          type: 'multinode-1ctlr-featureset012'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 180
      # undercloud-only job
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-undercloud-oooq'
          suffix: ''
          type: 'singlenode-featureset003'
          node: centos-7
          trigger: 'gate'
          branch-override: default
          timeout: 180
      # containerized undercloud-only job
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-undercloud-containers'
          suffix: '-nv'
          type: 'undercloud-containers'
          node: centos-7
          trigger: 'gate'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-scenario001-multinode-oooq'
          suffix: ''
          type: 'periodic-multinode-1ctlr-featureset005'
          node: centos-7-2-node
          trigger: 'periodic'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-scenario002-multinode-oooq'
          suffix: ''
          type: 'periodic-multinode-1ctlr-featureset006'
          node: centos-7-2-node
          trigger: 'periodic'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-scenario003-multinode-oooq'
          suffix: ''
          type: 'periodic-multinode-1ctlr-featureset007'
          node: centos-7-2-node
          trigger: 'periodic'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-scenario004-multinode-oooq'
          suffix: ''
          type: 'periodic-multinode-1ctlr-featureset008'
          node: centos-7-2-node
          trigger: 'periodic'
          branch-override: default
          timeout: 180
      # duplicate scenarioXXX-multinode for upgrade scenarios
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-scenario001-multinode'
          suffix:
            - '-upgrades'
            - '-upgrades-nv'
          type: 'scenario001-multinode-upgrades'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 190
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-scenario002-multinode'
          suffix:
            - '-upgrades'
            - '-upgrades-nv'
          type: 'scenario002-multinode-upgrades'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 190
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-scenario003-multinode'
          suffix:
            - '-upgrades'
            - '-upgrades-nv'
          type: 'scenario003-multinode-upgrades'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 190
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-scenario004-multinode'
          suffix:
            - '-upgrades'
            - '-upgrades-nv'
          type: 'scenario004-multinode-upgrades'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 190
      # non-voting job for undercloud-only upgrade job
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-undercloud-upgrades'
          suffix: '-nv'
          type: 'undercloud-upgrades'
          node: centos-7
          trigger: 'gate'
          branch-override: default
          timeout: 180
      # non-voting job for overcloud update job
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-nonha-multinode-updates'
          suffix: '-nv'
          type: 'nonha-multinode-updates'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 180
      # mulitnode overcloud upgrade job
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-multinode-upgrades'
          suffix:
            - ''
            - '-nv'
          type: 'multinode-upgrades'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 180
      # experimental mulitnode overcloud upgrade job w/containers
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-containers-multinode-upgrades'
          suffix:
            - ''
            - '-nv'
          type: 'multinode-1ctlr-featureset011'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 180
      # experimental job for testing TLS CA server on "fake" HA
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-ovb-fakeha-caserver'
          suffix: ''
          type: 'ovb-fakeha-caserver'
          node: tripleo-centos-7
          trigger: 'gate'
          branch-override: default
          timeout: 180
      # periodic job for testing TLS CA server on "fake" HA
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-ovb-fakeha-caserver'
          suffix: ''
          type: 'ovb-fakeha-caserver'
          node: tripleo-centos-7
          trigger: 'periodic'
          branch-override: master
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-ovb-ha-oooq'
          suffix: ''
          type: 'ovb-3ctlr_1comp-featureset001'
          node: tripleo-centos-7
          trigger: 'gate'
          branch-override: default
          timeout: 180
      # containerized jobs for testing quickstart with multinode
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-scenario001-multinode-oooq-container'
          suffix: ''
          type: 'multinode-1ctlr-featureset016'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          suffix: ''
          jobname: 'centos-7-scenario002-multinode-oooq-container'
          type: 'multinode-1ctlr-featureset017'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          suffix: ''
          jobname: 'centos-7-scenario003-multinode-oooq-container'
          type: 'multinode-1ctlr-featureset018'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          suffix: ''
          jobname: 'centos-7-scenario004-multinode-oooq-container'
          type: 'multinode-1ctlr-featureset019'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          suffix: ''
          jobname: 'centos-7-scenario001-multinode-oooq-container-upgrades'
          type: 'multinode-1ctlr-featureset012'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          suffix: ''
          jobname: 'centos-7-scenario002-multinode-oooq-container-upgrades'
          type: 'multinode-1ctlr-featureset013'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          suffix: ''
          jobname: 'centos-7-scenario003-multinode-oooq-container-upgrades'
          type: 'multinode-1ctlr-featureset014'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          suffix: ''
          jobname: 'centos-7-scenario004-multinode-oooq-container-upgrades'
          type: 'multinode-1ctlr-featureset015'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 180
      # non-containerized jobs for testing quickstart with multinode
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-nonha-multinode-oooq'
          suffix:
            - ''
            - '-nv'
          type: 'multinode-1ctlr-featureset004'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-scenario001-multinode-oooq'
          suffix:
            - ''
            - '-puppet'
            - '-puppet-nv'
          type: 'multinode-1ctlr-featureset005'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-scenario002-multinode-oooq'
          suffix:
            - ''
            - '-puppet'
            - '-puppet-nv'
          type: 'multinode-1ctlr-featureset006'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-scenario003-multinode-oooq'
          suffix:
            - ''
            - '-puppet'
            - '-puppet-nv'
          type: 'multinode-1ctlr-featureset007'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-scenario004-multinode-oooq'
          suffix:
            - ''
            - '-puppet'
          type: 'multinode-1ctlr-featureset008'
          node: centos-7-2-node
          trigger: 'gate'
          branch-override: default
          timeout: 180
      # scenario005 is still experimental
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-scenario005-multinode-oooq'
          suffix: '-nv'
          type: 'multinode-1ctlr-featureset009'
          node: centos-7-4-node
          trigger: 'gate'
          branch-override: default
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-ovb-containers-oooq'
          suffix: '-nv'
          type: 'ovb-containers-oooq'
          node: tripleo-centos-7
          trigger: 'gate'
          branch-override: default
          timeout: 180
      # tripleo-ci is branchless, so we need to test changes against all the
      # stable branches as well.
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-ovb-nonha-ocata'
          suffix: ''
          type: 'ovb-nonha'
          node: tripleo-centos-7
          trigger: 'gate'
          branch-override: 'stable/ocata'
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-ovb-nonha-newton'
          suffix: ''
          type: 'ovb-nonha'
          node: tripleo-centos-7
          trigger: 'gate'
          branch-override: 'stable/newton'
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-ovb-ha-oooq-ocata'
          suffix: ''
          type: 'ovb-3ctlr_1comp-featureset001'
          node: tripleo-centos-7
          trigger: 'gate'
          branch-override: 'stable/ocata'
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-ovb-ha-oooq-newton'
          suffix: ''
          type: 'ovb-3ctlr_1comp-featureset001'
          node: tripleo-centos-7
          trigger: 'gate'
          branch-override: 'stable/newton'
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-ovb-nonha-puppet-newton'
          suffix: ''
          type: 'ovb-nonha'
          node: tripleo-centos-7
          trigger: 'gate'
          branch-override: 'stable/newton'
          timeout: 180
      - '{trigger}-tripleo-ci-{jobname}{suffix}':
          jobname: 'centos-7-ovb-nonha-puppet-ocata'
          suffix: ''
          type: 'ovb-nonha'
          node: tripleo-centos-7
          trigger: 'gate'
          branch-override: 'stable/ocata'
          timeout: 180

- project:
    name: tripleo-common

    jobs:
      - python-jobs
      - pypi-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - coverage-jobs

- project:
    name: tripleo-docs

    jobs:
      - gate-{name}-docs-{node}:
          node: ubuntu-xenial
      - openstack-publish-jobs
      - deploy-guide-jobs:
          service: tripleo

- project:
    name: tripleo-heat-templates

    jobs:
      - puppet-check-jobs
      - python-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs

- project:
    name: tripleo-image-elements

    jobs:
      - '{name}-branch-tarball'
      - pypi-jobs
      - openstack-releasenotes-jobs

- project:
    name: tripleo-incubator

    jobs:
      - gate-{name}-docs-{node}:
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - openstack-publish-jobs

- project:
    name: tripleo-puppet-elements

    jobs:
      - python-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs

- project:
    name: tripleo-quickstart

    jobs:
      - ansible-role-jobs
      - openstack-publish-jobs
      - tripleo-quickstart-jobs
      - '{name}-tarball'
      - '{name}-tarball-signing'
      - openstack-releasenotes-jobs

- project:
    name: tripleo-quickstart-extras

    jobs:
      - ansible-role-jobs
      - tripleo-quickstart-extras-jobs
      - '{name}-tarball'
      - '{name}-tarball-signing'
      - openstack-releasenotes-jobs

- project:
    name: tripleo-repos

    jobs:
      - python-jobs
      - pypi-jobs
      - coverage-jobs

- project:
    name: tripleo-specs

    jobs:
      - specs-jobs

- project:
    name: tripleo-ui

    jobs:
      - nodejs6-publish-to-npm
      - 'gate-{name}-nodejs{version}-npm-run-{command}':
          command: 'test'
          version: '6'
      - 'gate-{name}-nodejs{version}-npm-run-{command}':
          command: 'lint'
          version: '6'
      - openstack-releasenotes-jobs
      - translation-jobs
      - translation-jobs-ocata

- project:
    name: tripleo-validations

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs

- project:
    name: trove

    jobs:
      - coverage-jobs
      - python-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - openstack-server-release-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - translation-jobs
      - install-guide-jobs:
          service: database
      - periodic-python-jobs-with-oslo-master
      - 'gate-trove-functional-dsvm-{datastore}-{node}{suffix}':
          datastore: 'mysql'
          suffix: ''
          node: ubuntu-xenial
          branch-override: default
      - 'gate-trove-legacy-functional-dsvm-{datastore}{suffix}':
          datastore: 'mysql'
          suffix: ''
          branch-override: default
      - 'gate-trove-legacy-scenario-dsvm-{datastore}{suffix}':
          suffix: ''
          branch-override: default
          datastore:
            - mysql
            - pxc
            - postgresql
      - 'gate-trove-legacy-scenario-dsvm-{datastore}{suffix}':
          suffix: '-nv'
          branch-override: default
          datastore:
            - redis
      - 'gate-trove-scenario-dsvm-{datastore}-{group}-{node}{suffix}':
          suffix: ''
          branch-override: default
          node: ubuntu-xenial
          group:
            - single
            - multi
          datastore:
            - mysql
      - 'gate-trove-scenario-dsvm-{datastore}-{group}-{node}{suffix}':
          suffix: '-nv'
          branch-override: default
          node: ubuntu-xenial
          group:
            - single
            - multi
          datastore:
            - cassandra
            - mariadb
            - mongodb
            - percona
            - postgresql
            - pxc
            - redis
      - 'gate-trove-scenario-dsvm-{datastore}-{group}-{node}{suffix}':
          suffix: '-nv'
          branch-override: default
          node: ubuntu-xenial
          group: single
          datastore:
            - couchbase
            - couchdb
      - api-ref-jobs:
          service: database
      - gate-{name}-tox-{envlist}-{node}:
          node: ubuntu-xenial
          envlist:
            - fakemodetests
            - apiexamples
      - gate-{name}-pylint-{node}:
          node: ubuntu-xenial

- project:
    name: trove-dashboard

    jobs:
      - python-jobs
      - 'gate-{name}-python35-nv'
      - pypi-jobs
      - translation-jobs
      - translation-jobs-newton
      - translation-jobs-ocata
      - openstack-releasenotes-jobs

- project:
    name: trove-integration

    jobs:
      - 'gate-trove-legacy-functional-dsvm-{datastore}{suffix}':
          datastore: 'mysql'
          suffix: '-mitaka'
          branch-override: stable/mitaka
      - 'gate-trove-legacy-functional-dsvm-{datastore}{suffix}':
          datastore:
            - mysql
            - redis
          suffix: '-newton'
          node: ubuntu-xenial
          branch-override: stable/newton

- project:
    name: trove-specs

    jobs:
      - specs-jobs

- project:
    name: tuning-box

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: turbo-hipster

    jobs:
      - python-jobs
      - hook-{name}-rtfd

- project:
    name: valence
    jobs:
      - python-jobs

- project:
    name: valence-specs

    jobs:
      - specs-jobs

- project:
    name: valet
    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: vinz

    jobs:
      - nodejs4-jobs

- project:
    name: vinz-webclient

    jobs:
      - gate-{name}-js-draft
      - '{name}-js-release-{suffix}':
          suffix: 'master'
      - '{name}-js-release-{suffix}':
          suffix: 'branch'

- project:
    name: virtualbmc

    jobs:
      - python-jobs
      - pypi-jobs
      - '{pipeline}-tempest-dsvm-ironic-pxe_ipmitool-virtualbmc-src-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default

- project:
    name: virtualpdu

    jobs:
      - python-jobs
      - pypi-jobs
      - '{pipeline}-tempest-dsvm-ironic-pxe_snmp-virtualpdu-src-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default

- project:
    name: vitrage

    jobs:
      - python-jobs
      - openstack-releasenotes-jobs
      - openstack-publish-jobs
      - pypi-jobs
      - '{pipeline}-vitrage-dsvm-{suite}-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suite:
            - api
            - datasources
          suffix: ''
          branch-override: default

- project:
    name: vitrage-dashboard

    jobs:
      - openstack-releasenotes-jobs
      - openstack-publish-jobs
      - python-jobs
      - pypi-jobs

- project:
    name: vitrage-specs

    jobs:
      - specs-jobs

- project:
    name: vm-bm-wg

    jobs:
      - gate-{name}-python27-{node}:
          node: ubuntu-xenial

- project:
    name: vmtp

    jobs:
      - python-jobs
      - pypi-jobs
      - hook-{name}-rtfd

- project:
    name: vmware-nsx

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: vmware-nsxlib

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: vmware-vspc

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: watcher

    jobs:
      - coverage-jobs
      - python-jobs
      - openstack-publish-jobs
      - translation-jobs
      - pypi-jobs
      - openstack-releasenotes-jobs
      - gate-rally-dsvm-watcher-{name}-{node}{suffix}:
          node: ubuntu-xenial
          suffix: '-nv'
      - '{pipeline}-watcher-dsvm-multinode-{node-release}{suffix}':
          pipeline: gate
          node-release: ubuntu-xenial
          node: ubuntu-xenial-2-node
          suffix: '-nv'
          branch-override: default

- project:
    name: watcher-dashboard

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - pypi-jobs
      - translation-jobs

- project:
    name: watcher-specs

    jobs:
      - specs-jobs

- project:
    name: windmill

    jobs:
      - ansible-role-jobs
      - windmill-jobs
      - hook-{name}-rtfd

- project:
    name: workload-ref-archs

    jobs:
      - gate-{name}-docs-{node}:
          node: ubuntu-xenial

- project:
    name: wsme

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: xstatic-angular

    jobs:
      - pypi-jobs

- project:
    name: xstatic-angular-bootstrap

    jobs:
      - pypi-jobs

- project:
    name: xstatic-angular-cookies

    jobs:
      - pypi-jobs

- project:
    name: xstatic-angular-fileupload

    jobs:
      - pypi-jobs

- project:
    name: xstatic-angular-gettext

    jobs:
      - pypi-jobs

- project:
    name: xstatic-angular-lrdragndrop

    jobs:
      - pypi-jobs

- project:
    name: xstatic-angular-mock

    jobs:
      - pypi-jobs

- project:
    name: xstatic-angular-sanitize

    jobs:
      - pypi-jobs

- project:
    name: xstatic-angular-smart-table

    jobs:
      - pypi-jobs

- project:
    name: xstatic-angular-ui-router

    jobs:
      - pypi-jobs

- project:
    name: xstatic-bootstrap-datepicker

    jobs:
      - pypi-jobs

- project:
    name: xstatic-bootstrap-scss

    jobs:
      - pypi-jobs

- project:
    name: xstatic-bootswatch

    jobs:
      - pypi-jobs

- project:
    name: xstatic-d3

    jobs:
      - pypi-jobs

- project:
    name: xstatic-font-awesome

    jobs:
      - pypi-jobs

- project:
    name: xstatic-hogan

    jobs:
      - pypi-jobs

- project:
    name: xstatic-jasmine

    jobs:
      - pypi-jobs

- project:
    name: xstatic-jquery-migrate

    jobs:
      - pypi-jobs

- project:
    name: xstatic-jquery.bootstrap.wizard

    jobs:
      - pypi-jobs

- project:
    name: xstatic-jquery.quicksearch

    jobs:
      - pypi-jobs

- project:
    name: xstatic-jquery.tablesorter

    jobs:
      - pypi-jobs

- project:
    name: xstatic-jsencrypt

    jobs:
      - pypi-jobs

- project:
    name: xstatic-magic-search

    jobs:
      - pypi-jobs

- project:
    name: xstatic-mdi

    jobs:
      - pypi-jobs

- project:
    name: xstatic-qunit

    jobs:
      - pypi-jobs

- project:
    name: xstatic-rickshaw

    jobs:
      - pypi-jobs

- project:
    name: xstatic-roboto-fontface

    jobs:
      - pypi-jobs

- project:
    name: xstatic-spin

    jobs:
      - pypi-jobs

- project:
    name: yaml2ical

    jobs:
      - python-jobs
      - pypi-jobs

- project:
    name: yaql

    jobs:
      - python-jobs
      - pypi-jobs
      - hook-{name}-rtfd

- project:
    name: zaqar

    jobs:
      - python-jobs
      - python-mitaka-bitrot-jobs
      - python-newton-bitrot-jobs
      - python-ocata-bitrot-jobs
      - openstack-publish-jobs
      - openstack-releasenotes-jobs
      - openstack-server-release-jobs
      - translation-jobs
      - 'gate-{name}-tox-{envlist}-{node}':
          envlist: integration
          node:
            - ubuntu-trusty
            - ubuntu-xenial
      - 'gate-rally-dsvm-zaqar-{name}-{node}{suffix}':
          node:
            - ubuntu-trusty
            - ubuntu-xenial
          suffix: '-nv'
      - '{pipeline}-dsvm-{backend}-zaqar-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: '-nv'
          branch-override: default
          backend: mongodb
      - '{pipeline}-dsvm-{backend}-zaqar-{node}{suffix}':
          pipeline: gate
          node: ubuntu-trusty
          suffix: '-nv'
          branch-override: default
          backend: redis
      - '{pipeline}-tempest-dsvm-{backend}-zaqar-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
          backend: mongodb
      - '{pipeline}-tempest-dsvm-{backend}-zaqar-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
          backend: redis
      - '{pipeline}-tempest-dsvm-{backend}-zaqar-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: ''
          branch-override: default
          backend: swift
      - '{pipeline}-grenade-dsvm-{backend}-zaqar-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
          backend: mongodb
      - '{pipeline}-grenade-dsvm-{backend}-zaqar-{node}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          suffix: '-nv'
          branch-override: default
          backend: redis
      - api-ref-jobs:
          service: messaging
      - install-guide-jobs:
          service: messaging

- project:
    name: zaqar-specs

    jobs:
      - specs-jobs

- project:
    name: zaqar-ui

    jobs:
      - python-jobs
      - nodejs4-jobs
      - openstack-publish-jobs
      - openstack-server-release-jobs
      - openstack-releasenotes-jobs
      - translation-jobs
      - translation-jobs-newton
      - translation-jobs-ocata

- project:
    name: zmq-event-publisher

    jobs:
      - jenkins-plugin-jobs

- project:
    name: zun

    jobs:
      - python-jobs
      - openstack-publish-jobs
      - openstack-server-release-jobs
      - '{pipeline}-zun-devstack-dsvm-{driver}-{db}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          driver: 'docker'
          db: 'sql'
          branch-override: default
          suffix: ''
      - '{pipeline}-zun-devstack-dsvm-{driver}-{db}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          driver: 'nova-docker'
          db: 'sql'
          branch-override: default
          suffix: '-nv'
      - '{pipeline}-zun-devstack-dsvm-{driver}-{db}{suffix}':
          pipeline: gate
          node: ubuntu-xenial
          driver: 'docker'
          db: 'etcd'
          branch-override: default
          suffix: '-nv'

- project:
    name: zun-ui

    jobs:
      - python-jobs
      - nodejs4-jobs
      - openstack-server-release-jobs

- project:
    name: zuul
    doc-publisher-folder: zuul

    jobs:
      - python-jobs
      - pypi-jobs
      - infra-publish-jobs