From 1c612b0f18c4f19f257ddedfb9cceac0e065e128 Mon Sep 17 00:00:00 2001 From: Travis Nielsen Date: Thu, 28 Mar 2024 12:49:43 -0600 Subject: [PATCH] object: set non-ec shared pool to metadata pool The omap data for multipart uploads is stored in an additional data pool, which cannot be an EC pool. So the extra data pool is set to the metadata pool for object stores with shared pools. Signed-off-by: Travis Nielsen --- pkg/operator/ceph/object/objectstore.go | 4 +++- pkg/operator/ceph/object/objectstore_test.go | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pkg/operator/ceph/object/objectstore.go b/pkg/operator/ceph/object/objectstore.go index 7c65e77f9592..bf194f4f40e4 100644 --- a/pkg/operator/ceph/object/objectstore.go +++ b/pkg/operator/ceph/object/objectstore.go @@ -931,7 +931,9 @@ func applyExpectedRadosNamespaceSettings(zoneConfig map[string]interface{}, meta return fmt.Errorf("failed to parse placement_pools[0].val") } placementVals["index_pool"] = metadataPrefix + "buckets.index" - placementVals["data_extra_pool"] = dataPrefix + "buckets.non-ec" + // The extra pool is for omap data for multi-part uploads, so we use + // the metadata pool instead of the data pool. + placementVals["data_extra_pool"] = metadataPrefix + "buckets.non-ec" storageClasses, ok := placementVals["storage_classes"].(map[string]interface{}) if !ok { return fmt.Errorf("failed to parse storage_classes") diff --git a/pkg/operator/ceph/object/objectstore_test.go b/pkg/operator/ceph/object/objectstore_test.go index 517560cd4036..33d33059629c 100644 --- a/pkg/operator/ceph/object/objectstore_test.go +++ b/pkg/operator/ceph/object/objectstore_test.go @@ -103,7 +103,7 @@ const ( "data_pool": "rgw-data-pool:store-a.buckets.data" } }, - "data_extra_pool": "rgw-data-pool:store-a.buckets.non-ec", + "data_extra_pool": "rgw-meta-pool:store-a.buckets.non-ec", "index_type": 0, "inline_data": true }