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
