From 1cf5abc1e7480a2f8580eff0358aff9436359dfc Mon Sep 17 00:00:00 2001 From: Yuval Lifshitz Date: Sun, 10 Sep 2023 14:40:37 +0000 Subject: [PATCH] rgw/notifications: allow cross tenant notification management testing instructions: https://gist.github.com/yuvalif/60063dc67d981b387b382ff0f7f88d91 Fixes: https://tracker.ceph.com/issues/62784 Signed-off-by: Yuval Lifshitz (cherry picked from commit 25f82210abdcd33695b6330d6a8fc747490aac9d) --- src/rgw/rgw_rest_pubsub.cc | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/rgw/rgw_rest_pubsub.cc b/src/rgw/rgw_rest_pubsub.cc index 5ab22e63775ef..7932328660141 100644 --- a/src/rgw/rgw_rest_pubsub.cc +++ b/src/rgw/rgw_rest_pubsub.cc @@ -647,9 +647,11 @@ void RGWPSCreateNotifOp::execute(optional_yield y) { std::unique_ptr user = driver->get_user(s->owner.get_id()); std::unique_ptr bucket; - op_ret = driver->get_bucket(this, user.get(), s->owner.get_id().tenant, s->bucket_name, &bucket, y); + op_ret = driver->get_bucket(this, user.get(), s->bucket_tenant, s->bucket_name, &bucket, y); if (op_ret < 0) { - ldpp_dout(this, 1) << "failed to get bucket '" << s->bucket_name << "' info, ret = " << op_ret << dendl; + ldpp_dout(this, 1) << "failed to get bucket '" << + (s->bucket_tenant.empty() ? s->bucket_name : s->bucket_tenant + ":" + s->bucket_name) << + "' info, ret = " << op_ret << dendl; return; } @@ -782,9 +784,11 @@ void RGWPSDeleteNotifOp::execute(optional_yield y) { std::unique_ptr user = driver->get_user(s->owner.get_id()); std::unique_ptr bucket; - op_ret = driver->get_bucket(this, user.get(), s->owner.get_id().tenant, s->bucket_name, &bucket, y); + op_ret = driver->get_bucket(this, user.get(), s->bucket_tenant, s->bucket_name, &bucket, y); if (op_ret < 0) { - ldpp_dout(this, 1) << "failed to get bucket '" << s->bucket_name << "' info, ret = " << op_ret << dendl; + ldpp_dout(this, 1) << "failed to get bucket '" << + (s->bucket_tenant.empty() ? s->bucket_name : s->bucket_tenant + ":" + s->bucket_name) << + "' info, ret = " << op_ret << dendl; return; } @@ -877,9 +881,11 @@ void RGWPSListNotifsOp::execute(optional_yield y) { std::unique_ptr user = driver->get_user(s->owner.get_id()); std::unique_ptr bucket; - op_ret = driver->get_bucket(this, user.get(), s->owner.get_id().tenant, s->bucket_name, &bucket, y); + op_ret = driver->get_bucket(this, user.get(), s->bucket_tenant, s->bucket_name, &bucket, y); if (op_ret < 0) { - ldpp_dout(this, 1) << "failed to get bucket '" << s->bucket_name << "' info, ret = " << op_ret << dendl; + ldpp_dout(this, 1) << "failed to get bucket '" << + (s->bucket_tenant.empty() ? s->bucket_name : s->bucket_tenant + ":" + s->bucket_name) << + "' info, ret = " << op_ret << dendl; return; } -- 2.39.5