- 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
        - cinder-tempest-plugin-lvm-nvmet-barbican
        - 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-2023-1
        - cinder-tempest-plugin-basic-zed
        - cinder-tempest-plugin-basic-yoga
        - cinder-tempest-plugin-protection-functional
    gate:
      jobs:
        - cinder-tempest-plugin-lvm-lio-barbican
        - cinder-tempest-plugin-lvm-nvmet-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-2023-1
        - cinder-tempest-plugin-cbak-ceph-zed
        - cinder-tempest-plugin-cbak-ceph-yoga

- 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: ^(master|stable/(xena|yoga|zed|2\d\d\d\.[12])).*$
    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/wallaby
      testing. To run on those stable branches that are using tempest
      29.0.0 (which is set in the devstack stackrc file), we must
      use cinder-tempest-plugin compatible version 1.8.0.
    branches:
      - stable/wallaby
    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.8.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
      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-exclude-list.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-2023-1
    parent: cinder-tempest-plugin-cbak-ceph
    nodeset: openstack-single-node-jammy
    override-checkout: stable/2023.1

- 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

# 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-nvmet-barbican
    description: |
      This jobs configures Cinder with LVM, nvmet, barbican and
      runs tempest tests and cinderlib tests.  nvmet is
      configured to use the new connection information format,
      NVMe-oF native multipathing, and sharing the NVMe-oF
      namespace for all the connections to the same node.
    # TODO: switch to cinder-tempest-plugin-lvm-barbican-base
    # when cinderlib support for NVMe is fixed
    parent: cinder-tempest-plugin-lvm-barbican-base-abstract
    pre-run: playbooks/install-multipath.yaml
    vars:
      devstack_localrc:
        CINDER_TARGET_HELPER: nvmet
        CINDER_TARGET_PROTOCOL: nvmet_tcp
        TEMPEST_STORAGE_PROTOCOL: nvmeof
      devstack_local_conf:
        test-config:
          $TEMPEST_CONFIG:
            volume-feature-enabled:
              # NotImplementedError: Revert volume to snapshot not implemented for thin LVM.
              volume_revert: False
        post-config:
          $NOVA_CONF:
            libvirt:
              volume_use_multipath: true
          $CINDER_CONF:
            lvmdriver-1:
              nvmeof_conn_info_version: 2
              lvm_share_target: true
              target_secondary_ip_addresses: 127.0.0.1
              use_multipath_for_image_xfer: true

- 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-2023-1
    parent: cinder-tempest-plugin-basic
    nodeset: openstack-single-node-jammy
    override-checkout: stable/2023.1

- 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
