- job:
    name: oslo.messaging-tox-py27-func-amqp1
    parent: openstack-tox-py27
    vars:
      tox_envlist: py27-func-amqp1

- job:
    name: oslo.messaging-tox-py27-func-kafka
    parent: openstack-tox-py27
    vars:
      tox_envlist: py27-func-kafka
      bindep_profile: kafka

- job:
    name: oslo.messaging-tox-py27-func-rabbit
    parent: openstack-tox-py27
    vars:
      tox_envlist: py27-func-rabbit
      bindep_profile: rabbit

- job:
    name: oslo.messaging-tox-py35-func-amqp1
    parent: openstack-tox-py35
    vars:
      tox_envlist: py35-func-amqp1

- job:
    name: oslo.messaging-tox-py35-func-kafka
    parent: openstack-tox-py35
    vars:
      tox_envlist: py35-func-kafka
      bindep_profile: kafka

- job:
    name: oslo.messaging-tox-py35-func-rabbit
    parent: openstack-tox-py35
    vars:
      tox_envlist: py35-func-rabbit
      bindep_profile: rabbit

# Begin v3 native jobs
# See https://docs.openstack.org/devstack/latest/


- job:
    name: oslo.messaging-devstack-tempest-full-base
    description: |
      Base for all devstack based tempest full testing jobs (with
      neutron)
    abstract: true
    parent: devstack-tempest
    timeout: 10800
    required-projects:
      - openstack/oslo.messaging
    vars:
      tox_envlist: full


- job:
    name: oslo.messaging-src-dsvm-full-rabbit
    description: |
      Run full tempest tests against rabbitmq
    parent: oslo.messaging-devstack-tempest-full-base


- job:
    name: oslo.messaging-src-dsvm-full-amqp1-hybrid
    description: |
      Run the full tempest tests using the AMQP 1.0 driver for RPC and
      RabbitMQ for Notifications.
    parent: oslo.messaging-devstack-tempest-full-base
    required-projects:
      - openstack/devstack-plugin-amqp1
    vars:
      devstack_localrc:
        AMQP1_SERVICE: qpid-hybrid
      devstack_plugins:
        devstack-plugin-amqp1: https://git.openstack.org/openstack/devstack-plugin-amqp1
      zuul_copy_output:
        '{{ devstack_log_dir }}/qdrouterd.log': logs


- job:
    name: oslo.messaging-src-dsvm-full-amqp1-centos-7
    description: |
      Run the oslo.messaging-src-dsvm-full-amqp1-hybrid test on a
      centos 7 node.
    parent: oslo.messaging-src-dsvm-full-amqp1-hybrid
    # nodeset: centos-7
    nodeset: devstack-single-node-centos-7


- job:
    name: oslo.messaging-src-dsvm-full-kafka-hybrid
    description: |
      Run the full tempest tests using the AMQP 1.0 driver for RPC and
      Apache Kafka for Notifications.
    parent: oslo.messaging-devstack-tempest-full-base
    required-projects:
      - openstack/devstack-plugin-kafka
    vars:
      devstack_plugins:
        devstack-plugin-kafka: https://git.openstack.org/openstack/devstack-plugin-kafka
      zuul_copy_output:
        '{{ devstack_log_dir }}/server.log': logs

- job:
    name: oslo.messaging-src-dsvm-full-kafka-centos-7
    description: |
      Run the oslo.messaging-src-dsvm-full-kafka-hybrid test on a
      centos 7 node.
    parent: oslo.messaging-src-dsvm-full-kafka-hybrid
    # nodeset: centos-7
    nodeset: devstack-single-node-centos-7


# End v3 native jobs


- job:
    name: oslo.messaging-src-grenade-dsvm
    parent: legacy-dsvm-base
    run: playbooks/oslo.messaging-src-grenade-dsvm/run.yaml
    post-run: playbooks/oslo.messaging-src-grenade-dsvm/post.yaml
    timeout: 10800
    required-projects:
      - openstack-dev/grenade
      - openstack-infra/devstack-gate
      - openstack/oslo.messaging
    irrelevant-files:
      - ^(test-|)requirements.txt$
      - ^setup.cfg$

- job:
    name: oslo.messaging-src-grenade-dsvm-multinode
    parent: legacy-dsvm-base-multinode
    run: playbooks/oslo.messaging-src-grenade-dsvm-multinode/run.yaml
    post-run: playbooks/oslo.messaging-src-grenade-dsvm-multinode/post.yaml
    timeout: 10800
    required-projects:
      - openstack-dev/grenade
      - openstack-infra/devstack-gate
      - openstack/oslo.messaging
    irrelevant-files:
      - ^(test-|)requirements.txt$
      - ^setup.cfg$
    nodeset: legacy-ubuntu-xenial-2-node


- job:
    name: oslo.messaging-telemetry-dsvm-integration-amqp1
    parent: legacy-dsvm-base
    run: playbooks/oslo.messaging-telemetry-dsvm-integration-amqp1/run.yaml
    post-run: playbooks/oslo.messaging-telemetry-dsvm-integration-amqp1/post.yaml
    timeout: 10800
    required-projects:
      - openstack-infra/devstack-gate
      - openstack/aodh
      - openstack/ceilometer
      - openstack/devstack-plugin-amqp1
      - openstack/oslo.messaging
      - openstack/panko
      - openstack/telemetry-tempest-plugin
      - openstack/heat-tempest-plugin
      - openstack/heat
      # following are required when DEVSTACK_GATE_HEAT, which this
      # job turns on
      - openstack/dib-utils
      - openstack/diskimage-builder


- job:
    name: oslo.messaging-telemetry-dsvm-integration-kafka
    parent: legacy-dsvm-base
    run: playbooks/oslo.messaging-telemetry-dsvm-integration-kafka/run.yaml
    post-run: playbooks/oslo.messaging-telemetry-dsvm-integration-kafka/post.yaml
    timeout: 10800
    required-projects:
      - openstack-infra/devstack-gate
      - openstack/aodh
      - openstack/ceilometer
      - openstack/devstack-plugin-kafka
      - openstack/oslo.messaging
      - openstack/panko
      - openstack/telemetry-tempest-plugin
      - openstack/heat-tempest-plugin
      - openstack/heat
      # following are required when DEVSTACK_GATE_HEAT, which this
      # job turns on
      - openstack/dib-utils
      - openstack/diskimage-builder


- job:
    name: oslo.messaging-telemetry-dsvm-integration-rabbit
    parent: legacy-dsvm-base
    run: playbooks/oslo.messaging-telemetry-dsvm-integration-rabbit/run.yaml
    post-run: playbooks/oslo.messaging-telemetry-dsvm-integration-rabbit/post.yaml
    timeout: 10800
    required-projects:
      - openstack-infra/devstack-gate
      - openstack/aodh
      - openstack/ceilometer
      - openstack/oslo.messaging
      - openstack/panko
      - openstack/telemetry-tempest-plugin
      - openstack/heat-tempest-plugin
      - openstack/heat
      # following are required when DEVSTACK_GATE_HEAT, which this
      # job turns on
      - openstack/dib-utils
      - openstack/diskimage-builder


- project:
    templates:
      - check-requirements
      - lib-forward-testing
      - lib-forward-testing-python3
      - openstack-cover-jobs
      - openstack-lower-constraints-jobs
      - openstack-python-jobs
      - openstack-python36-jobs
      - openstack-python37-jobs
      - periodic-stable-jobs
      - publish-openstack-docs-pti
      - release-notes-jobs-python3
    check:
      jobs:
        - oslo.messaging-tox-py27-func-rabbit
        - oslo.messaging-tox-py27-func-amqp1:
            voting: false
        - oslo.messaging-tox-py27-func-kafka:
            voting: false
        - oslo.messaging-tox-py35-func-rabbit:
            voting: false
        - oslo.messaging-tox-py35-func-amqp1:
            voting: false
        - oslo.messaging-tox-py35-func-kafka:
            voting: false

        - oslo.messaging-src-dsvm-full-rabbit
        - oslo.messaging-src-dsvm-full-amqp1-hybrid:
            voting: false
        - oslo.messaging-src-dsvm-full-amqp1-centos-7:
            voting: false
        - oslo.messaging-src-dsvm-full-kafka-hybrid:
            voting: false
        - oslo.messaging-src-dsvm-full-kafka-centos-7:
            voting: false

        - oslo.messaging-src-grenade-dsvm:
            voting: false
        - oslo.messaging-src-grenade-dsvm-multinode:
            voting: false

        - oslo.messaging-telemetry-dsvm-integration-rabbit:
            voting: false
        - oslo.messaging-telemetry-dsvm-integration-amqp1:
            voting: false
        - oslo.messaging-telemetry-dsvm-integration-kafka:
            voting: false

    gate:
      jobs:
        - oslo.messaging-tox-py27-func-rabbit
        - oslo.messaging-src-dsvm-full-rabbit