- 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
        - cinder-tempest-plugin-lvm-lio-barbican-fips:
            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-zed
        - cinder-tempest-plugin-basic-yoga
        - cinder-tempest-plugin-basic-xena
        - cinder-tempest-plugin-protection-functional
    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-zed
        - cinder-tempest-plugin-cbak-ceph-yoga
        - cinder-tempest-plugin-cbak-ceph-xena

- 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.
      # Other excluded tests are tests that are somewhat time consuming but unrelated
      # to multi-attach testing.
      tempest_exclude_regex: 'TestMultiAttachVolumeSwap|^tempest.api.image|^tempest.api.object_storage|^tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern.test_boot_server_from_encrypted|^tempest.scenario.test_server_advanced_ops|^tempest.scenario.test_unified_limits'
      tox_envlist: all
      devstack_localrc:
        ENABLE_VOLUME_MULTIATTACH: true
      tempest_plugins:
        - cinder-tempest-plugin
    irrelevant-files:
      - ^.*\.rst$
      - ^doc/.*$
      - ^releasenotes/.*$
    timeout: 10800

- 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
      devstack_localrc:
        CINDER_QUOTA_VOLUMES: 25
    timeout: 10800

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

- 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-lio-barbican-fips
    parent: cinder-tempest-plugin-lvm-lio-barbican-centos-9-stream
    description: |
      This job configures Cinder with LVM, LIO, barbican and
      runs tempest tests and cinderlib tests on CentOS Stream 9
      under FIPS mode
    pre-run: playbooks/enable-fips.yaml
    vars:
      configure_swap_size: 4096
      nslookup_target: 'opendev.org'
      tempest_exclude_regex: 'test_encrypted_cinder_volumes_cryptsetup'

- 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-zed
    parent: cinder-tempest-plugin-basic
    nodeset: openstack-single-node-focal
    override-checkout: stable/zed

- 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
