]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw-admin: create subuser if needed when creating user 3569/head
authorYehuda Sadeh <yehuda@redhat.com>
Thu, 20 Nov 2014 18:36:05 +0000 (10:36 -0800)
committerLoic Dachary <ldachary@redhat.com>
Mon, 2 Feb 2015 14:25:35 +0000 (15:25 +0100)
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 31c0c08bd861042f9f4092282db284d77f600678..154de900ece2e9426b3e81ef08e4e9fd2c8150bb 100644 (file)
@@ -1439,7 +1439,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);