cinder-tempest-plugin/.zuul.yaml

441 lines
16 KiB
YAML

- 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, so only jobs for the
# current stable branches should be listed here.
- cinder-tempest-plugin-basic-2024-1
- cinder-tempest-plugin-basic-2023-2
- cinder-tempest-plugin-basic-2023-1
# TODO: remove when zed goes Unmaintained (early in Dalmatian cycle)
- cinder-tempest-plugin-basic-zed
- 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-2024-1
- cinder-tempest-plugin-cbak-ceph-2023-2
- cinder-tempest-plugin-cbak-ceph-2023-1
- 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_localrc:
KEYSTONE_ENFORCE_SCOPE: True
devstack_local_conf:
test-config:
$CINDER_CONF:
oslo_policy:
enforce_scope: True
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:
configure_swap_size: 8192
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:
configure_swap_size: 8192
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.
No cinderlib testing beginning with 2024.1 development.
# FIXME: the following RE2 expression won't work after the 9999.2 release.
# If you are reading this during the 9999.2 development cycle, greetings
# from the 21st century!
branches: ^(master|(stable/(202[4-9]|20[3-9]\d|2[1-9]\d\d|[3-9]\d\d\d))\.[12])$
parent: cinder-tempest-plugin-lvm-barbican-base-abstract
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
with cinderlib tests.
branches: ^(stable/(xena|yoga|zed|2023\.[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:
- 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-2024-1
parent: cinder-tempest-plugin-cbak-ceph
nodeset: openstack-single-node-jammy
override-checkout: stable/2024.1
- job:
name: cinder-tempest-plugin-cbak-ceph-2023-2
parent: cinder-tempest-plugin-cbak-ceph
nodeset: openstack-single-node-jammy
override-checkout: stable/2023.2
- 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
# 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:
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-2024-1
parent: cinder-tempest-plugin-basic
nodeset: openstack-single-node-jammy
override-checkout: stable/2024.1
- job:
name: cinder-tempest-plugin-basic-2023-2
parent: cinder-tempest-plugin-basic
nodeset: openstack-single-node-jammy
override-checkout: stable/2023.2
- 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