From 332bac5ca2ed2003b20d224921cb02c5c5fa589a Mon Sep 17 00:00:00 2001 From: Lucas Henry Date: Mon, 5 Jun 2023 15:44:24 +0200 Subject: [PATCH] rgw: add option to disable synchronization traffic Some users want to deploy two CephObjectStores for a single Zone. The first configures RGWs to process the synchronization of the data, while the second CephObjectStore configures the client RGWs. Currently, this can be implemented by setting the RGW option 'rgw_run_sync_thread' in the 'rook-config-override' ConfigMap, though it is not really user friendly. Ref: https://docs.ceph.com/en/latest/radosgw/config-ref/#confval-rgw_run_sync_thread This commit adds a new option in the CephObjectStore CRD as defined in issue https://github.com/rook/rook/issues/12272. The new option 'disableMultisiteSyncTraffic' determine whether the operator should disable the multisite sync threads for the RGWs. If the option is set to 'false', or if the option is not specified, the operator does nothing. This ensures that the multisite sync threads will not be enabled for users that disabled explicitely the multisite sync threads either manually or with the 'rook-config-override' ConfigMap. This commit also recommends to use two objectstore when scaling Ceph Objectstore Multisite replication, with one objectstore configured with disabled replication traffic. Signed-off-by: Lucas Henry (cherry picked from commit 393d09347e2ef28b83c91b5f5b8786f20933fb85) --- Documentation/CRDs/specification.md | 22 ++++++++ .../ceph-object-multisite.md | 40 ++++++++++++++ .../charts/rook-ceph/templates/resources.yaml | 5 +- deploy/examples/crds.yaml | 5 +- pkg/apis/ceph.rook.io/v1/types.go | 12 +++++ pkg/operator/ceph/object/config.go | 7 ++- pkg/operator/ceph/object/rgw.go | 2 +- pkg/operator/ceph/object/rgw_test.go | 54 +++++++++++++++++-- 8 files changed, 139 insertions(+), 8 deletions(-) diff --git a/Documentation/CRDs/specification.md b/Documentation/CRDs/specification.md index 849b9a79f..3617cd2ed 100644 --- a/Documentation/CRDs/specification.md +++ b/Documentation/CRDs/specification.md @@ -1992,6 +1992,9 @@ include the port in the definition. For example: “ @@ -8741,6 +8760,9 @@ include the port in the definition. For example: “