]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw/lua: expose correct value in Request.Bucket.User
authorYuval Lifshitz <ylifshit@redhat.com>
Wed, 21 Jun 2023 13:02:50 +0000 (13:02 +0000)
committerYuval Lifshitz <ylifshit@redhat.com>
Wed, 9 Aug 2023 13:36:15 +0000 (13:36 +0000)
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 <ylifshit@redhat.com>
src/rgw/rgw_lua_request.cc
src/test/rgw/test_rgw_lua.cc

index 4fe4d2cd476347f6d6ae92fc83114b31edbc291d..36fef1c82579e3d2f93525ae172b583ef4896d90 100644 (file)
@@ -319,7 +319,8 @@ struct BucketMetaTable : public EmptyMetaTable {
     } else if (strcasecmp(index, "PlacementRule") == 0) {
       create_metatable<PlacementRuleMetaTable>(L, false, &(bucket->get_info().placement_rule));
     } else if (strcasecmp(index, "User") == 0) {
-      create_metatable<UserMetaTable>(L, false, &(bucket->get_info().owner));
+      create_metatable<UserMetaTable>(L, false, 
+          const_cast<rgw_user*>(&bucket->get_owner()->get_id()));
     } else {
       return error_unknown_field(L, index, TableName());
     }
index 23687b616747891ca881690df9aa01cdddbe59e3..ca0c9ae1d3e25a188175d7eda6ee7684015f4b86 100644 (file)
@@ -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"(