- job:
    name: zaqar-grenade-base
    abstract: true
    parent: grenade
    description: |
      Abstract base grenade job for zaqar tempest plugin
    required-projects:
      - opendev.org/openstack/python-zaqarclient
      - opendev.org/openstack/zaqar
      - opendev.org/openstack/zaqar-tempest-plugin
    vars:
      devstack_plugins:
        zaqar: https://opendev.org/openstack/zaqar
      devstack_services:
        # probably other services can be disabled;
        # the old legacy job only uses mysql, keystone, zaqar and tempest
        s-account: false
        s-container: false
        s-object: false
        s-proxy: false
        c-bak: false
      tempest_plugins:
        - zaqar-tempest-plugin
      tempest_test_regex: zaqar_tempest_plugin.tests
      tox_envlist: all
    irrelevant-files:
      - ^(test-|)requirements.txt$
      - ^setup.cfg$
      - ^doc/.*$
      - ^zaqar/hacking/.*$
      - ^zaqar/tests/.*$
      - ^releasenotes/.*$
      - ^setup.cfg$
      - ^tox.ini$

- job:
    name: zaqar-grenade-mongodb
    parent: zaqar-grenade-base
    voting: false
    vars:
      grenade_devstack_localrc:
        shared:
          ZAQAR_BACKEND: mongodb

- job:
    name: zaqar-grenade-redis
    parent: zaqar-grenade-base
    voting: false
    vars:
      grenade_devstack_localrc:
        shared:
          ZAQAR_BACKEND: redis

- job:
    name: zaqar-grenade-swift
    parent: zaqar-grenade-base
    voting: false
    vars:
      devstack_services:
        s-account: true
        s-container: true
        s-object: true
        s-proxy: true
      grenade_devstack_localrc:
        shared:
          ZAQAR_BACKEND: swift

- job:
    name: zaqar-tox-integration
    parent: openstack-tox
    description: |
      Run Zaqar integration tests using tox with environment ``integration``.
    irrelevant-files:
      - ^\.gitreview$
      - ^.*\.rst$
      - ^api-ref/.*$
      - ^doc/.*$
      - ^zaqar/hacking/.*$
      - ^zaqar/tests/unit/.*$
      - ^releasenotes/.*$
    vars:
      tox_envlist: integration

- project:
    queue: zaqar
    templates:
      - openstack-python3-jobs
      - openstack-python3-jobs-arm64
      - publish-openstack-docs-pti
      - periodic-stable-jobs
      - check-requirements
      - release-notes-jobs-python3
    check:
      jobs:
        - zaqar-tox-integration
        - zaqar-tempest-plugin-mongodb
        - zaqar-tempest-plugin-redis
        - zaqar-tempest-plugin-swift
        - zaqar-tempest-plugin-swift-ipv6
        - zaqar-grenade-mongodb
        - zaqar-grenade-redis
        - zaqar-grenade-swift
    gate:
      jobs:
        - zaqar-tox-integration
        - zaqar-tempest-plugin-mongodb
        - zaqar-tempest-plugin-redis
        - zaqar-tempest-plugin-swift
        - zaqar-tempest-plugin-swift-ipv6