From fdf77969055f92284135924eee3b0c9870160fb3 Mon Sep 17 00:00:00 2001 From: Yuval Lifshitz Date: Wed, 21 Jun 2023 13:02:50 +0000 Subject: [PATCH] rgw/lua: expose correct value in Request.Bucket.User a change in zipper caused bucket->get_info().owner to return an empty string. so the lua value now expose: bucket->get_owner()->get_id() Signed-off-by: Yuval Lifshitz --- src/rgw/rgw_lua_request.cc | 3 ++- src/test/rgw/test_rgw_lua.cc | 11 ++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/rgw/rgw_lua_request.cc b/src/rgw/rgw_lua_request.cc index 4fe4d2cd476..36fef1c8257 100644 --- a/src/rgw/rgw_lua_request.cc +++ b/src/rgw/rgw_lua_request.cc @@ -319,7 +319,8 @@ struct BucketMetaTable : public EmptyMetaTable { } else if (strcasecmp(index, "PlacementRule") == 0) { create_metatable(L, false, &(bucket->get_info().placement_rule)); } else if (strcasecmp(index, "User") == 0) { - create_metatable(L, false, &(bucket->get_info().owner)); + create_metatable(L, false, + const_cast(&bucket->get_owner()->get_id())); } else { return error_unknown_field(L, index, TableName()); } diff --git a/src/test/rgw/test_rgw_lua.cc b/src/test/rgw/test_rgw_lua.cc index 23687b61674..ca0c9ae1d3e 100644 --- a/src/test/rgw/test_rgw_lua.cc +++ b/src/test/rgw/test_rgw_lua.cc @@ -330,8 +330,8 @@ TEST(TestRGWLua, Bucket) assert(Request.Bucket.Quota.MaxObjects == -1) assert(tostring(Request.Bucket.Quota.Enabled)) assert(tostring(Request.Bucket.Quota.Rounded)) - assert(Request.Bucket.User.Id) - assert(Request.Bucket.User.Tenant) + assert(Request.Bucket.User.Id == "myuser") + assert(Request.Bucket.User.Tenant == "mytenant") )"; DEFINE_REQ_STATE; @@ -342,6 +342,7 @@ TEST(TestRGWLua, Bucket) b.marker = "mymarker"; b.bucket_id = "myid"; s.bucket.reset(new sal::RadosBucket(nullptr, b)); + s.bucket->set_owner(new sal::RadosUser(nullptr, rgw_user("mytenant", "myuser"))); const auto rc = lua::request::execute(nullptr, nullptr, nullptr, &s, nullptr, script); ASSERT_EQ(rc, 0); @@ -685,16 +686,12 @@ TEST(TestRGWLua, User) DEFINE_REQ_STATE; - rgw_user u; - u.tenant = "mytenant"; - u.id = "myid"; - s.user.reset(new sal::RadosUser(nullptr, u)); + s.user.reset(new sal::RadosUser(nullptr, rgw_user("mytenant", "myid"))); const auto rc = lua::request::execute(nullptr, nullptr, nullptr, &s, nullptr, script); ASSERT_EQ(rc, 0); } - TEST(TestRGWLua, UseFunction) { const std::string script = R"( -- 2.39.5