From 4091cd3fa2bfcf547c1ed48dd8f2ad2c002036fe Mon Sep 17 00:00:00 2001 From: Maximilian Stinsky Date: Fri, 16 Jan 2026 11:52:14 +0100 Subject: [PATCH] Fix account metadata test for Ceph RadosGW Squid release The test_list_no_account_metadata test was failing with Ceph RadosGW 19.2.x (Squid release) because it returns X-Account-Meta-Quota-Containers as a system-generated header. This change filters out the specific x-account-meta-quota-containers header when checking for user-defined account metadata, allowing the test to pass with both Swift and Ceph RadosGW backends while still validating that no user-defined metadata headers are present. Related ceph commit: https://github.com/ceph/ceph/commit/55f196cb47c9a452fc718ba9a58be7f68bb7a54a Change-Id: Idbf22909b389190f7365bb3e54fd77d69df0c789 Signed-off-by: Maximilian Stinsky --- tempest/api/object_storage/test_account_services.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tempest/api/object_storage/test_account_services.py b/tempest/api/object_storage/test_account_services.py index 75414c012b..031ddee0a3 100644 --- a/tempest/api/object_storage/test_account_services.py +++ b/tempest/api/object_storage/test_account_services.py @@ -307,7 +307,18 @@ class AccountTest(base.BaseObjectTest): """Test listing account metadata for account without metadata""" resp, _ = self.account_client.list_account_metadata() self.assertHeaders(resp, 'Account', 'HEAD') - self.assertNotIn('x-account-meta-', str(resp)) + # Filter out X-Account-Meta-Quota-Containers header which is + # returned by Ceph RadosGW (Squid release and later) as a + # system-generated header. This is a RadosGW extension not present + # in Swift. + # See: https://github.com/ceph/ceph/commit/55f196cb47c9a452fc718ba9a58be7f68bb7a54a # noqa: E501 + user_metadata_headers = [k for k in resp.keys() + if k.startswith('x-account-meta-') and + k.lower() != + 'x-account-meta-quota-containers'] + self.assertEmpty(user_metadata_headers, + 'Found user-defined account metadata headers: %s' % + user_metadata_headers) @decorators.idempotent_id('e2a08b5f-3115-4768-a3ee-d4287acd6c08') def test_update_account_metadata_with_create_metadata(self):