Merge "Drop centos 8 stream jobs"
diff --git a/.zuul.yaml b/.zuul.yaml
index 2b502c7..276a927 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -254,6 +254,11 @@
       Integration tests that runs with the ceph devstack plugin, py3
       and enable the backup service.
     vars:
+      # FIXME: change I29b1af0a4034decad to tempest added image format tests that
+      # cannot pass in this job because the image data takes a optimized path that
+      # bypasses nova's checks.  Until the nova team decides on a strategy to handle
+      # this issue, we skip these tests.
+      tempest_exclude_regex: (tempest.api.image.v2.test_images_formats.ImagesFormatTest.test_compute_rejects)
       configure_swap_size: 4096
       devstack_local_conf:
         test-config:
@@ -304,7 +309,7 @@
     parent: cinder-tempest-plugin-lvm-barbican-base
     vars:
       devstack_localrc:
-        CINDER_ISCSI_HELPER: lioadm
+        CINDER_TARGET_HELPER: lioadm
 
 - job:
     name: cinder-tempest-plugin-lvm-lio-barbican-centos-9-stream
@@ -368,7 +373,7 @@
     parent: cinder-tempest-plugin-lvm-barbican-base
     vars:
       devstack_localrc:
-        CINDER_ISCSI_HELPER: tgtadm
+        CINDER_TARGET_HELPER: tgtadm
 
 - job:
     name: cinder-tempest-plugin-cbak-s3
diff --git a/babel.cfg b/babel.cfg
deleted file mode 100644
index 15cd6cb..0000000
--- a/babel.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-[python: **.py]
-
diff --git a/cinder_tempest_plugin/rbac/v3/test_snapshots.py b/cinder_tempest_plugin/rbac/v3/test_snapshots.py
index f11da42..14377a9 100644
--- a/cinder_tempest_plugin/rbac/v3/test_snapshots.py
+++ b/cinder_tempest_plugin/rbac/v3/test_snapshots.py
@@ -17,6 +17,8 @@
 from tempest.lib import decorators
 from tempest.lib import exceptions
 
+import testtools
+
 from cinder_tempest_plugin.rbac.v3 import base as rbac_base
 
 CONF = config.CONF
@@ -309,10 +311,15 @@
     def test_force_delete_snapshot(self):
         self._force_delete_snapshot(expected_status=exceptions.Forbidden)
 
+    # We don't need to skip the unmanage because the failure should happen at
+    # the API level, so it should fail regardless of the driver support for
+    # unmanaging snapshots.
     @decorators.idempotent_id('35495666-b663-4c68-ba44-0695e30a6838')
     def test_unmanage_snapshot(self):
         self._unmanage_snapshot(expected_status=exceptions.Forbidden)
 
+    @testtools.skipUnless(CONF.volume_feature_enabled.manage_snapshot,
+                          'manage snapshots are disabled')
     @decorators.idempotent_id('d2d1326d-fb47-4448-a1e1-2d1219d30fd5')
     def test_manage_snapshot(self):
         self._manage_snapshot(
@@ -362,10 +369,15 @@
     def test_force_delete_snapshot(self):
         self._force_delete_snapshot(expected_status=exceptions.Forbidden)
 
+    # We don't need to skip the unmanage because the failure should happen at
+    # the API level, so it should fail regardless of the driver support for
+    # unmanaging snapshots.
     @decorators.idempotent_id('dd7da3da-68ef-42f5-af1d-29803a4a04fd')
     def test_unmanage_snapshot(self):
         self._unmanage_snapshot(expected_status=exceptions.Forbidden)
 
+    @testtools.skipUnless(CONF.volume_feature_enabled.manage_snapshot,
+                          'manage snapshots are disabled')
     @decorators.idempotent_id('c2501d05-9bca-42d7-9ab5-c0d9133e762f')
     def test_manage_snapshot(self):
         self._manage_snapshot(
diff --git a/cinder_tempest_plugin/scenario/test_volume_multiattach.py b/cinder_tempest_plugin/scenario/test_volume_multiattach.py
index e04610f..4fb266e 100644
--- a/cinder_tempest_plugin/scenario/test_volume_multiattach.py
+++ b/cinder_tempest_plugin/scenario/test_volume_multiattach.py
@@ -71,18 +71,25 @@
         # Create a multiattach volume
         volume = self.create_volume(volume_type=multiattach_vol_type['id'])
 
-        # Create encrypted volume
-        encrypted_volume = self.create_encrypted_volume(
-            'luks', volume_type='luks')
+        # Create a volume with the default volume type
+        default_volume = self.create_volume()
 
-        # Create a normal volume
-        simple_volume = self.create_volume()
+        # Create other volume
+        if CONF.compute_feature_enabled.attach_encrypted_volume:
+            other_volume = self.create_encrypted_volume(
+                'luks', volume_type='luks')
+        else:
+            # Create secondary volume type
+            second_vol_type = self.create_volume_type()
 
-        # Attach normal and encrypted volumes (These volumes are not used in
+            other_volume = self.create_volume(
+                volume_type=second_vol_type['id'])
+
+        # Attach default and secondary volumes (These volumes are not used in
         # the current test but is used to emulate a real world scenario
         # where different types of volumes will be attached to the server)
-        self.attach_volume(server_1, simple_volume)
-        self.attach_volume(server_1, encrypted_volume)
+        self.attach_volume(server_1, default_volume)
+        self.attach_volume(server_1, other_volume)
 
         instance_ip = self.get_server_ip(server_1)
 
diff --git a/test-requirements.txt b/test-requirements.txt
index 905ad51..cb279bc 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -2,7 +2,7 @@
 # of appearance. Changing the order has an impact on the overall integration
 # process, which may cause wedges in the gate later.
 
-hacking>=3.0.1,<3.1 # Apache-2.0
+hacking>=6.1.0,<7.0 # Apache-2.0
 
 coverage!=4.4,>=4.0 # Apache-2.0
 python-subunit>=1.0.0 # Apache-2.0/BSD