From 6aef29e31e9c7c7ccf8e95d573700c08218b2b45 Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Thu, 20 Nov 2014 10:36:05 -0800 Subject: [PATCH] rgw-admin: create subuser if needed when creating user 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 Signed-off-by: Yehuda Sadeh (cherry picked from commit 9ba17a321db06d3d76c9295e411c76842194b25c) --- src/rgw/rgw_admin.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/rgw/rgw_admin.cc b/src/rgw/rgw_admin.cc index 31c0c08bd861..154de900ece2 100644 --- a/src/rgw/rgw_admin.cc +++ b/src/rgw/rgw_admin.cc @@ -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); -- 2.47.3