]> git.apps.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)
committerSage Weil <sage@redhat.com>
Sat, 22 Nov 2014 17:16:03 +0000 (09:16 -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>
src/rgw/rgw_admin.cc

index 4fe05bf99e1580bd72698be5b43374975096276d..2c775ca1e25f2593c4a721937ddc6356e5e5adcb 100644 (file)
@@ -1443,7 +1443,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);