From b113e37daee2b074361a82139ca41e27df8f91c6 Mon Sep 17 00:00:00 2001 From: hjk068 Date: Tue, 3 Mar 2026 23:35:56 -0500 Subject: [PATCH] object: call generateUserCaps after AdminOpsClient calls This prevents overwriting the user-specified capabilities and correctly copies the Capabilities into UserCapabilities after the AdminOpsClient calls. Signed-off-by: hjk068 --- pkg/operator/ceph/object/user/controller.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/operator/ceph/object/user/controller.go b/pkg/operator/ceph/object/user/controller.go index 2981ef09e..33db828fb 100644 --- a/pkg/operator/ceph/object/user/controller.go +++ b/pkg/operator/ceph/object/user/controller.go @@ -427,6 +427,7 @@ func (r *ReconcileObjectStoreUser) createOrUpdateCephUser(u *cephv1.CephObjectSt logCreateOrUpdate = fmt.Sprintf("updated ceph object user %q", u.Name) } + liveUser.UserCaps = generateUserCaps(&liveUser) // Update caps, if necessary log.NamedTrace(nsName, logger, "user capabilities(id: %s, caps: %#v, user caps: %s, op mask: %s)", liveUser.ID, liveUser.Caps, liveUser.UserCaps, liveUser.OpMask) @@ -646,7 +647,6 @@ func generateUserConfig(user *cephv1.CephObjectStoreUser) (*admin.User, error) { } userConfig.OpMask = opMask - userConfig.UserCaps = generateUserCaps(userConfig) return userConfig, nil }