]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw-admin: create subuser if needed when creating user
authorYehuda Sadeh <yehuda@redhat.com>
Thu, 20 Nov 2014 18:36:05 +0000 (10:36 -0800)
committerYehuda Sadeh <yehuda@redhat.com>
Tue, 13 Jan 2015 01:09:59 +0000 (17:09 -0800)
Fixes: #10103
Backport: firefly, giant
This turned up after fixing #9973. Earlier we also didn't create the
subuser in this case, but we didn't really read the subuser info when it
was authenticating. Now we do that as required, so we end up failing the
authentication. This only applies to cases where a subuser was created
using 'user create', and not the 'subuser create' command.

Reviewed-by: Sage Weil <sage@redhat.com>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 9ba17a321db06d3d76c9295e411c76842194b25c)

src/rgw/rgw_admin.cc

index e31a28a676689f8865757a2fe63583230c7a7c12..730c57df27e44282f59971a9b76b03fd3d503627 100644 (file)
@@ -1364,7 +1364,13 @@ int main(int argc, char **argv)
       cerr << "could not create user: " << err_msg << std::endl;
       return -ret;
     }
-
+    if (!subuser.empty()) {
+      ret = user.subusers.add(user_op, &err_msg);
+      if (ret < 0) {
+        cerr << "could not create subuser: " << err_msg << std::endl;
+        return -ret;
+      }
+    }
     break;
   case OPT_USER_RM:
     ret = user.remove(user_op, &err_msg);