Merge "Add volume dependency test coverage"
diff --git a/.zuul.yaml b/.zuul.yaml
index be6d789..2b6b59c 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -25,9 +25,9 @@
# 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-2
- cinder-tempest-plugin-basic-2023-1
- cinder-tempest-plugin-basic-zed
- - cinder-tempest-plugin-basic-yoga
- cinder-tempest-plugin-protection-functional
gate:
jobs:
@@ -38,9 +38,9 @@
- cinder-tempest-plugin-cbak-ceph
experimental:
jobs:
+ - cinder-tempest-plugin-cbak-ceph-2023-2
- 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
@@ -51,10 +51,13 @@
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:
@@ -266,6 +269,12 @@
timeout: 10800
- 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
@@ -277,12 +286,6 @@
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:
@@ -413,6 +416,12 @@
- ^releasenotes/.*$
- 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
@@ -423,9 +432,3 @@
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
diff --git a/cinder_tempest_plugin/api/volume/admin/test_consistencygroups.py b/cinder_tempest_plugin/api/volume/admin/test_consistencygroups.py
index 7dff494..42c78f1 100644
--- a/cinder_tempest_plugin/api/volume/admin/test_consistencygroups.py
+++ b/cinder_tempest_plugin/api/volume/admin/test_consistencygroups.py
@@ -28,9 +28,7 @@
class ConsistencyGroupsV2Test(base.BaseVolumeAdminTest):
@classmethod
def setup_clients(cls):
- cls._api_version = 2
super(ConsistencyGroupsV2Test, cls).setup_clients()
- cls.admin_volume_client = cls.os_admin.volumes_v2_client
manager = cinder_clients.Manager(cls.os_admin)
cls.consistencygroups_adm_client = manager.consistencygroups_adm_client
diff --git a/cinder_tempest_plugin/api/volume/admin/test_volume_backup.py b/cinder_tempest_plugin/api/volume/admin/test_volume_backup.py
index e5ded52..41cfc91 100644
--- a/cinder_tempest_plugin/api/volume/admin/test_volume_backup.py
+++ b/cinder_tempest_plugin/api/volume/admin/test_volume_backup.py
@@ -24,13 +24,6 @@
class VolumesBackupsTest(base.BaseVolumeAdminTest):
@classmethod
- def setup_clients(cls):
- super(VolumesBackupsTest, cls).setup_clients()
- cls.admin_volume_client = cls.os_admin.volumes_client_latest
- cls.backups_client = cls.os_primary.backups_client_latest
- cls.volumes_client = cls.os_primary.volumes_client_latest
-
- @classmethod
def skip_checks(cls):
super(VolumesBackupsTest, cls).skip_checks()
if not CONF.volume_feature_enabled.backup:
diff --git a/cinder_tempest_plugin/api/volume/base.py b/cinder_tempest_plugin/api/volume/base.py
index ea6bd2e..1fd82bf 100644
--- a/cinder_tempest_plugin/api/volume/base.py
+++ b/cinder_tempest_plugin/api/volume/base.py
@@ -16,7 +16,6 @@
from tempest.common import compute
from tempest.common import waiters
from tempest import config
-from tempest.lib.common import api_microversion_fixture
from tempest.lib.common import api_version_utils
from tempest.lib.common.utils import data_utils
from tempest.lib.common.utils import test_utils
@@ -57,8 +56,6 @@
def setUp(self):
super(BaseVolumeTest, self).setUp()
- self.useFixture(api_microversion_fixture.APIMicroversionFixture(
- volume_microversion=self.request_microversion))
@classmethod
def resource_setup(cls):
@@ -67,6 +64,8 @@
api_version_utils.select_request_microversion(
cls.min_microversion,
CONF.volume.min_microversion))
+ cls.setup_api_microversion_fixture(
+ volume_microversion=cls.request_microversion)
@classmethod
def create_volume(cls, wait_until='available', **kwargs):
@@ -171,7 +170,7 @@
cls.admin_volume_types_client = cls.os_admin.volume_types_client_latest
cls.admin_backups_client = cls.os_admin.backups_client_latest
- cls.admin_volumes_client = cls.os_admin.volumes_client_latest
+ cls.admin_volume_client = cls.os_admin.volumes_client_latest
@classmethod
def create_volume_type(cls, name=None, **kwargs):
@@ -194,12 +193,12 @@
type_id = volume_type['id']
type_name = volume_type['name']
- volumes = cls.admin_volumes_client.list_volumes(
+ volumes = cls.admin_volume_client.list_volumes(
detail=True, params={'all_tenants': 1})['volumes']
for volume in [v for v in volumes if v['volume_type'] == type_name]:
test_utils.call_and_ignore_notfound_exc(
- cls.admin_volumes_client.delete_volume, volume['id'])
- cls.admin_volumes_client.wait_for_resource_deletion(volume['id'])
+ cls.admin_volume_client.delete_volume, volume['id'])
+ cls.admin_volume_client.wait_for_resource_deletion(volume['id'])
test_utils.call_and_ignore_notfound_exc(
cls.admin_volume_types_client.delete_volume_type, type_id)
diff --git a/cinder_tempest_plugin/api/volume/test_volume_revert.py b/cinder_tempest_plugin/api/volume/test_volume_revert.py
index bf3d806..2c4d6bd 100644
--- a/cinder_tempest_plugin/api/volume/test_volume_revert.py
+++ b/cinder_tempest_plugin/api/volume/test_volume_revert.py
@@ -35,7 +35,6 @@
@classmethod
def setup_clients(cls):
- cls._api_version = 3
super(VolumeRevertTests, cls).setup_clients()
manager = cinder_clients.Manager(cls.os_primary)
diff --git a/cinder_tempest_plugin/rbac/v3/base.py b/cinder_tempest_plugin/rbac/v3/base.py
index af724a3..6fc6be5 100644
--- a/cinder_tempest_plugin/rbac/v3/base.py
+++ b/cinder_tempest_plugin/rbac/v3/base.py
@@ -13,7 +13,6 @@
from tempest.common import waiters
from tempest import config
-from tempest.lib.common import api_microversion_fixture
from tempest.lib.common import api_version_utils
from tempest.lib.common.utils import data_utils
from tempest.lib.common.utils import test_utils
@@ -51,8 +50,6 @@
def setUp(self):
super(VolumeV3RbacBaseTests, self).setUp()
- self.useFixture(api_microversion_fixture.APIMicroversionFixture(
- volume_microversion=self.request_microversion))
@classmethod
def resource_setup(cls):
@@ -61,6 +58,8 @@
api_version_utils.select_request_microversion(
cls.min_microversion,
CONF.volume.min_microversion))
+ cls.setup_api_microversion_fixture(
+ volume_microversion=cls.request_microversion)
def do_request(self, method, expected_status=200, client=None, **payload):
"""Perform API call