From 66ea243053f2b7a0abc015164baa4a338d4a2621 Mon Sep 17 00:00:00 2001
From: Thomas Bechtold <thomasbechtold@jpberlin.de>
Date: Fri, 05 Jun 2026 17:03:18 +0200
Subject: [PATCH] Detect cinder via block-storage service type

Tempest moved [volume] catalog_type default from 'volumev3' to
'block-storage' in Sept 2024 (tempest commit 1a744c8042d3) following
the OpenStack service-types-authority canonical naming. kolla-ansible
followed in Dec 2024 (commit 7d1f8d1d4b8) and removed the legacy
'cinderv3/volumev3' catalog alias entirely in the 2026.1 release.

VolumeService.get_service_type() only returned ['volumev3'], so
discover-tempest-config failed to find cinder in deployments where
only 'block-storage' is registered, leaving service_available.cinder
false and skipping all volume tests with "Cinder is not available".

Return both 'block-storage' (canonical, listed first) and 'volumev3'
(legacy, kept for backwards compatibility with older deployments).
This needs two supporting fixes:

* ClientManager.get_service_client() only mapped service names
  containing 'volume' to the volume client, so a service discovered
  under the 'block-storage' type got a None client and crashed in
  VolumeService.post_configuration() with "'NoneType' object has no
  attribute 'list_services'". Map 'block-storage' to the volume
  client as well.

* Services.discover() set availability per catalog type, so for a
  service exposing several type aliases an absent alias would override
  the availability set by a present one, depending on order. Use a
  for/else loop so the service is only marked unavailable when none of
  its types are present (also fixes the same latent issue for the
  share/sharev2 and workflow/workflowv2 aliases).

Change-Id: I6f992459bbeb70698bd886040522c746608cbdcb
Signed-off-by: Thomas Bechtold <thomasbechtold@jpberlin.de>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---

diff --git a/config_tempest/clients.py b/config_tempest/clients.py
index f3d3eba..2557a42 100644
--- a/config_tempest/clients.py
+++ b/config_tempest/clients.py
@@ -226,7 +226,7 @@
             return self
         elif service_name == "compute":
             return self.hosts_client
-        elif "volume" in service_name:
+        elif "volume" in service_name or service_name == "block-storage":
             return self.volume_client
         elif service_name == "metering":
             return self.service_client
diff --git a/config_tempest/services/services.py b/config_tempest/services/services.py
index 1d201c1..11118e4 100644
--- a/config_tempest/services/services.py
+++ b/config_tempest/services/services.py
@@ -124,12 +124,19 @@
                     service.set_availability(self._conf, True)
 
                     self._services.append(service)
-                else:
-                    # service is not available
-                    # quickly instantiate a class in order to set
-                    # availability of the service
-                    s = s_class(None, None, None, None, None)
-                    s.set_availability(self._conf, False)
+                    # A service can be registered under more than one type
+                    # (e.g. cinder as 'block-storage' and the legacy
+                    # 'volumev3'). They are aliases for the same service, so
+                    # stop at the first one found.
+                    break
+            else:
+                # None of the service types is available. Quickly instantiate
+                # a class in order to set availability of the service. This is
+                # the for-else: it only runs when the loop did not break, i.e.
+                # when no type matched - so an absent alias can no longer
+                # override the availability set by a present one.
+                s = s_class(None, None, None, None, None)
+                s.set_availability(self._conf, False)
 
     def merge_exts_multiversion_service(self, service):
         """Merges extensions of a service given by its name
diff --git a/config_tempest/services/volume.py b/config_tempest/services/volume.py
index 0a85038..1bc1994 100644
--- a/config_tempest/services/volume.py
+++ b/config_tempest/services/volume.py
@@ -80,7 +80,7 @@
 
     @staticmethod
     def get_service_type():
-        return ['volumev3']
+        return ['block-storage', 'volumev3']
 
     def post_configuration(self, conf, is_service):
         # Verify if the cinder backup service is enabled
diff --git a/config_tempest/tests/services/test_services.py b/config_tempest/tests/services/test_services.py
index 9aaad7d..2896735 100644
--- a/config_tempest/tests/services/test_services.py
+++ b/config_tempest/tests/services/test_services.py
@@ -169,3 +169,50 @@
         self.assertEqual(resp, True)
         resp = services.is_service(**{'type': 'other_type'})
         self.assertEqual(resp, False)
+
+    def _discover_with_types(self, registered_types, class_types):
+        """Run discover() for a single service class with multiple types.
+
+        :param registered_types: service types present in the catalog
+        :param class_types: types returned by the class get_service_type()
+        :return: (services instance, the mock service instance)
+        """
+        services = self._create_services_instance()
+        services.token = 'token'
+        services.available_services = [
+            {'name': 'svc', 'type': t} for t in registered_types]
+        # avoid endpoint/extension/version discovery (would need network)
+        services.get_service_data = mock.Mock(return_value=None)
+        services.merge_exts_multiversion_service = mock.Mock()
+
+        fake_service = mock.Mock()
+        fake_class = mock.Mock(return_value=fake_service)
+        fake_class.get_service_type.return_value = class_types
+        # service_classes is a property backed by _service_classes
+        services._service_classes = [fake_class]
+
+        services.discover()
+        return services, fake_service
+
+    def test_discover_alias_only_first_type_present(self):
+        # Only the canonical type is registered (e.g. cinder as
+        # 'block-storage'); the legacy 'volumev3' alias is absent. The
+        # service must still end up available and must not be overridden.
+        services, service = self._discover_with_types(
+            ['block-storage'], ['block-storage', 'volumev3'])
+        service.set_availability.assert_called_once_with(services._conf, True)
+        self.assertIn(service, services._services)
+
+    def test_discover_alias_only_second_type_present(self):
+        # Only the legacy alias is registered (older deployments).
+        services, service = self._discover_with_types(
+            ['volumev3'], ['block-storage', 'volumev3'])
+        service.set_availability.assert_called_once_with(services._conf, True)
+        self.assertIn(service, services._services)
+
+    def test_discover_alias_no_type_present(self):
+        # None of the aliases are registered - service is unavailable.
+        services, service = self._discover_with_types(
+            ['some-other-service'], ['block-storage', 'volumev3'])
+        service.set_availability.assert_called_once_with(services._conf, False)
+        self.assertNotIn(service, services._services)
diff --git a/config_tempest/tests/services/test_volume.py b/config_tempest/tests/services/test_volume.py
index 1c68400..39ea1bf 100644
--- a/config_tempest/tests/services/test_volume.py
+++ b/config_tempest/tests/services/test_volume.py
@@ -38,6 +38,13 @@
         exp_resp = ['v2.0', 'v2.1']
         self._set_get_versions(self.Service, exp_resp, self.FAKE_VERSIONS)
 
+    def test_get_service_type(self):
+        # Cinder registers under the canonical 'block-storage' type per the
+        # OpenStack service-types-authority. The legacy 'volumev3' type is
+        # kept for backwards compatibility with older deployments.
+        self.assertEqual(volume.VolumeService.get_service_type(),
+                         ['block-storage', 'volumev3'])
+
     @mock.patch('config_tempest.services.services.Services.is_service')
     @mock.patch('config_tempest.services.volume.C.LOG')
     def test_post_configuration_no_volume(self, mock_logging, mock_is_service):
diff --git a/config_tempest/tests/test_clients.py b/config_tempest/tests/test_clients.py
index 4957bed..a5e702e 100644
--- a/config_tempest/tests/test_clients.py
+++ b/config_tempest/tests/test_clients.py
@@ -120,6 +120,10 @@
         self.assertEqual(resp, self.client_manager.images)
         resp = self.client_manager.get_service_client('network')
         self.assertEqual(resp, self.client_manager)
+        resp = self.client_manager.get_service_client('volumev3')
+        self.assertEqual(resp, self.client_manager.volume_client)
+        resp = self.client_manager.get_service_client('block-storage')
+        self.assertEqual(resp, self.client_manager.volume_client)
         resp = self.client_manager.get_service_client('doesnt_exist')
         self.assertEqual(resp, None)
 
diff --git a/releasenotes/notes/detect-cinder-block-storage-7c4b9a3e1d8f2056.yaml b/releasenotes/notes/detect-cinder-block-storage-7c4b9a3e1d8f2056.yaml
new file mode 100644
index 0000000..9c4c1f8
--- /dev/null
+++ b/releasenotes/notes/detect-cinder-block-storage-7c4b9a3e1d8f2056.yaml
@@ -0,0 +1,10 @@
+---
+fixes:
+  - |
+    Detect cinder when it is registered with the canonical
+    ``block-storage`` service type in addition to the legacy
+    ``volumev3``. kolla-ansible 2026.1+ and other deployments
+    following the OpenStack service-types-authority no longer
+    register the ``volumev3`` alias, which previously caused
+    ``discover-tempest-config`` to set ``service_available.cinder``
+    to ``False`` and skip all volume tests.
