- project:
    templates:
      - check-requirements
      - tempest-plugin-jobs
    check:
      jobs:
        - cinder-tempest-plugin-lvm-multiattach
        - cinder-tempest-plugin-lvm-lio-barbican
        - cinder-tempest-plugin-lvm-lio-barbican-centos-9-stream:
            voting: false
        # FIXME: the tgt job is broken on jammy, and we may be removing tgt
        # support anyway.  So make it non-voting until we figure out what to
        # do about this, which should be at the March 2023 virtual PTG.
        - cinder-tempest-plugin-lvm-tgt-barbican:
            voting: false
        - nova-ceph-multistore:
            voting: false
        - cinder-tempest-plugin-cbak-ceph
        - cinder-tempest-plugin-cbak-s3
        # As per the Tempest "Stable Branch Support Policy", Tempest will only
        # support the "Maintained" stable branches and not the "Extended Maintained"
        # branches. That is what we need to do for all tempest plugins. Only jobs
        # for the current releasable ("Maintained") stable branches should be listed
        # here.
        - cinder-tempest-plugin-basic-yoga
        - cinder-tempest-plugin-basic-xena
        - cinder-tempest-plugin-basic-wallaby
        # Set this job to voting once we have some actual tests to run
        - cinder-tempest-plugin-protection-functional:
            voting: false
    gate:
      jobs:
        - cinder-tempest-plugin-lvm-lio-barbican
        # FIXME: no sense running a non-voting gate job.  See comment above.
        # - cinder-tempest-plugin-lvm-tgt-barbican
        - cinder-tempest-plugin-cbak-ceph
    experimental:
      jobs:
        - cinder-tempest-plugin-cbak-ceph-yoga
        - cinder-tempest-plugin-cbak-ceph-xena
        - cinder-tempest-plugin-cbak-ceph-wallaby

- job:
    name: cinder-tempest-plugin-protection-functional
    parent: devstack-tempest
    required-projects:
      - opendev.org/openstack/cinder-tempest-plugin
      - opendev.org/openstack/cinder
    vars:
      tox_envlist: all
      tempest_test_regex: 'cinder_tempest_plugin.rbac'
      devstack_local_conf:
        test-config:
          $CINDER_CONF:
            oslo_policy:
              enforce_new_defaults: True
          $TEMPEST_CONFIG:
            enforce_scope:
              cinder: True
      tempest_plugins:
        - cinder-tempest-plugin

- job:
    name: cinder-tempest-plugin-lvm-multiattach
    description: |
      This enables multiattach tests along with standard tempest tests
    parent: devstack-tempest
    required-projects:
      - opendev.org/openstack/tempest
      - opendev.org/openstack/cinder-tempest-plugin
      - opendev.org/openstack/cinder
    vars:
      tempest_test_regex: '(^tempest\.(api|scenario)|(^cinder_tempest_plugin))'
      tempest_test_exclude_list: '{{ ansible_user_dir }}/{{ zuul.projects["opendev.org/openstack/tempest"].src_dir }}/tools/tempest-integrated-gate-storage-exclude-list.txt'
      # Temporarily exclude TestMultiAttachVolumeSwap until LP bug #1980816 is resolved.
      tempest_exclude_regex: 'TestMultiAttachVolumeSwap'
      tox_envlist: all
      devstack_localrc:
        ENABLE_VOLUME_MULTIATTACH: true
      tempest_plugins:
        - cinder-tempest-plugin
    irrelevant-files:
      - ^.*\.rst$
      - ^doc/.*$
      - ^releasenotes/.*$

- job:
    name: cinder-tempest-plugin-lvm-barbican-base-abstract
    description: |
      This is a base job for lvm with lio & tgt targets
    parent: devstack-tempest
    abstract: true
    timeout: 10800
    required-projects:
      - opendev.org/openstack/barbican
      - opendev.org/openstack/tempest
      - opendev.org/openstack/cinder-tempest-plugin
      - opendev.org/openstack/cinder
    host-vars:
      controller:
        devstack_plugins:
          barbican: https://opendev.org/openstack/barbican
    vars:
      tempest_test_regex: '(^tempest\.(api|scenario)|(^cinder_tempest_plugin))'
      tox_envlist: all
      devstack_localrc:
        CINDER_LVM_TYPE: thin
        CINDER_COORDINATION_URL: 'file://\$state_path'
      devstack_local_conf:
        test-config:
          $TEMPEST_CONFIG:
            auth:
              # FIXME: 'creator' should be re-added by the barbican devstack plugin
              # but the value below override everything.
              tempest_roles: member,creator
            volume:
              build_timeout: 300
            volume-feature-enabled:
              volume_revert: True
      devstack_services:
        barbican: true
      tempest_plugins:
        - cinder-tempest-plugin
    irrelevant-files:
      - ^.*\.rst$
      - ^doc/.*$
      - ^releasenotes/.*$

- job:
    name: cinder-tempest-plugin-lvm-barbican-base
    description: |
      This is a base job for lvm with lio & tgt targets
      with cinderlib tests.
    branches: ^(?!stable/(ocata|pike|queens|rocky|stein|train|ussuri|victoria)).*$
    parent: cinder-tempest-plugin-lvm-barbican-base-abstract
    roles:
      - zuul: opendev.org/openstack/cinderlib
    required-projects:
      - opendev.org/openstack/cinderlib
    run: playbooks/tempest-and-cinderlib-run.yaml
    # Required to collect the tox-based logs of the cinderlib functional tests
    post-run: playbooks/post-cinderlib.yaml
    vars:
      fetch_subunit_output_additional_dirs:
        - "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/openstack/cinderlib'].src_dir }}"
      tempest_test_exclude_list: '{{ ansible_user_dir }}/{{ zuul.projects["opendev.org/openstack/tempest"].src_dir }}/tools/tempest-integrated-gate-storage-exclude-list.txt'

- job:
    name: cinder-tempest-plugin-lvm-barbican-base
    description: |
      This is a base job for lvm with lio & tgt targets
      with cinderlib tests to run on stable/victoria
      testing. To run on those stable branches that are using tempest
      26.1.0 (which is set in the devstack stackrc file), we must
      use cinder-tempest-plugin compatible version 1.3.0.
    branches:
      - stable/victoria
    parent: cinder-tempest-plugin-lvm-barbican-base-abstract
    roles:
      - zuul: opendev.org/openstack/cinderlib
    required-projects:
      - opendev.org/openstack/cinderlib
      - name: opendev.org/openstack/cinder-tempest-plugin
        override-checkout: 1.3.0
    run: playbooks/tempest-and-cinderlib-run.yaml
    # Required to collect the tox-based logs of the cinderlib functional tests
    post-run: playbooks/post-cinderlib.yaml
    vars:
      fetch_subunit_output_additional_dirs:
        - "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/openstack/cinderlib'].src_dir }}"
      tempest_test_exclude_list: '{{ ansible_user_dir }}/{{ zuul.projects["opendev.org/openstack/tempest"].src_dir }}/tools/tempest-integrated-gate-storage-exclude-list.txt'

- job:
    name: cinder-tempest-plugin-lvm-barbican-base
    description: |
      This is a base job for lvm with lio & tgt targets
      for stable/train and stable/ussuri testing.
      To run on those stable branches that are using tempest
      26.1.0 (which is set in the devstack stackrc file), we must
      use cinder-tempest-plugin compatible version 1.3.0.
      We no longer test cinderlib because it's EOL on these branches.
    branches:
      - stable/train
      - stable/ussuri
    parent: cinder-tempest-plugin-lvm-barbican-base-abstract
    required-projects:
      - opendev.org/openstack/cinderlib
      - name: opendev.org/openstack/cinder-tempest-plugin
        override-checkout: 1.3.0
    vars:
      tempest_test_exclude_list: '{{ ansible_user_dir }}/{{ zuul.projects["opendev.org/openstack/tempest"].src_dir }}/tools/tempest-integrated-gate-storage-exclude-list.txt'

- job:
    name: cinder-tempest-plugin-lvm-barbican-base
    description: |
      This is a base job for lvm with lio & tgt targets
    branches: ^(?=stable/(ocata|pike|queens|rocky|stein)).*$
    parent: cinder-tempest-plugin-lvm-barbican-base-abstract
    required-projects:
      - name: opendev.org/openstack/cinder-tempest-plugin
        override-checkout: stein-last
    vars:
      tempest_test_blacklist: '{{ ansible_user_dir }}/{{ zuul.projects["opendev.org/openstack/tempest"].src_dir }}/tools/tempest-integrated-gate-storage-blacklist.txt'

- job:
    name: cinder-tempest-plugin-cbak-ceph
    parent: devstack-plugin-ceph-tempest-py3
    description: |
      Integration tests that runs with the ceph devstack plugin, py3
      and enable the backup service.
    vars:
      configure_swap_size: 4096
      devstack_local_conf:
        test-config:
          $TEMPEST_CONFIG:
            volume-feature-enabled:
              volume_revert: True
      devstack_services:
        c-bak: true

- job:
    name: cinder-tempest-plugin-cbak-ceph-yoga
    parent: cinder-tempest-plugin-cbak-ceph
    nodeset: openstack-single-node-focal
    override-checkout: stable/yoga

- job:
    name: cinder-tempest-plugin-cbak-ceph-xena
    parent: cinder-tempest-plugin-cbak-ceph
    nodeset: openstack-single-node-focal
    override-checkout: stable/xena

- job:
    name: cinder-tempest-plugin-cbak-ceph-wallaby
    parent: cinder-tempest-plugin-cbak-ceph
    nodeset: openstack-single-node-focal
    override-checkout: stable/wallaby

# variant for pre-Ussuri branches (no volume revert for Ceph),
# should this job be used on those branches
- job:
    name: cinder-tempest-plugin-cbak-ceph
    branches: ^(?=stable/(ocata|pike|queens|rocky|stein|train)).*$
    vars:
      devstack_local_conf:
        test-config:
          $TEMPEST_CONFIG:
            volume-feature-enabled:
              volume_revert: False

- job:
    name: cinder-tempest-plugin-lvm-lio-barbican
    description: |
      This jobs configures Cinder with LVM, LIO, barbican and
      runs tempest tests and cinderlib tests.
    parent: cinder-tempest-plugin-lvm-barbican-base
    vars:
      devstack_localrc:
        CINDER_ISCSI_HELPER: lioadm

- job:
    name: cinder-tempest-plugin-lvm-lio-barbican-centos-8-stream
    parent: cinder-tempest-plugin-lvm-lio-barbican
    nodeset: devstack-single-node-centos-8-stream
    description: |
      This jobs configures Cinder with LVM, LIO, barbican and
      runs tempest tests and cinderlib tests on CentOS Stream 8.

- job:
    name: cinder-tempest-plugin-lvm-lio-barbican-centos-9-stream
    parent: cinder-tempest-plugin-lvm-lio-barbican
    nodeset: devstack-single-node-centos-9-stream
    description: |
      This jobs configures Cinder with LVM, LIO, barbican and
      runs tempest tests and cinderlib tests on CentOS Stream 9.

- job:
    name: cinder-tempest-plugin-lvm-tgt-barbican
    description: |
      This jobs configures Cinder with LVM, tgt, barbican and
      runs tempest tests and cinderlib tests.
    parent: cinder-tempest-plugin-lvm-barbican-base
    vars:
      devstack_localrc:
        CINDER_ISCSI_HELPER: tgtadm

- job:
    name: cinder-tempest-plugin-cbak-s3
    parent: cinder-tempest-plugin-basic
    description: |
      Integration tests that runs with the s3 backup driver with
      Swift S3 API.
    vars:
      devstack_localrc:
        CINDER_BACKUP_DRIVER: 's3_swift'
      devstack_services:
        c-bak: true
        s3api: true
        # Workaround: TLS proxy seems to cause S3 signature mismatch.
        tls-proxy: false
      tempest_test_regex: '(test_volume_backup|test_volumes_backup|test_snapshot_backup)'
- job:
    name: cinder-tempest-plugin-basic
    parent: devstack-tempest
    description: |
      Cinder tempest plugin tests job which run only cinder-tempest-plugin
      tests.
    required-projects:
      - opendev.org/openstack/cinder-tempest-plugin
    vars:
      devstack_localrc:
        TEMPEST_VOLUME_REVERT_TO_SNAPSHOT: True
      tox_envlist: all
      tempest_test_regex: cinder_tempest_plugin
      tempest_plugins:
        - cinder-tempest-plugin
    irrelevant-files:
      - ^.*\.rst$
      - ^doc/.*$
      - ^releasenotes/.*$

- job:
    name: cinder-tempest-plugin-basic-yoga
    parent: cinder-tempest-plugin-basic
    nodeset: openstack-single-node-focal
    override-checkout: stable/yoga

- job:
    name: cinder-tempest-plugin-basic-xena
    parent: cinder-tempest-plugin-basic
    nodeset: openstack-single-node-focal
    override-checkout: stable/xena

- job:
    name: cinder-tempest-plugin-basic-wallaby
    parent: cinder-tempest-plugin-basic
    nodeset: openstack-single-node-focal
    override-checkout: stable/wallaby
