From: Casey Bodley Date: Fri, 23 Aug 2024 18:53:46 +0000 (-0400) Subject: radosgw-admin: add 'realm default rm' command X-Git-Tag: v20.0.0~1206^2~3 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=e946c4f5cfd6f356dbc18c5c42d8d639cb49270d;p=ceph.git radosgw-admin: add 'realm default rm' command the 'realm default' command could only set a different realm as the default, and provided no way to clear the default Signed-off-by: Casey Bodley --- diff --git a/src/rgw/rgw_admin.cc b/src/rgw/rgw_admin.cc index 0008339526b23..ea2bd9a425ac6 100644 --- a/src/rgw/rgw_admin.cc +++ b/src/rgw/rgw_admin.cc @@ -223,6 +223,7 @@ void usage() cout << " realm rename rename a realm\n"; cout << " realm set set realm info (requires infile)\n"; cout << " realm default set realm as default\n"; + cout << " realm default rm clear the current default realm\n"; cout << " realm pull pull a realm and its current period\n"; cout << " zonegroup add add a zone to a zonegroup\n"; cout << " zonegroup create create a new zone group info\n"; @@ -818,6 +819,7 @@ enum class OPT { REALM_RENAME, REALM_SET, REALM_DEFAULT, + REALM_DEFAULT_RM, REALM_PULL, PERIOD_DELETE, PERIOD_GET, @@ -1059,6 +1061,7 @@ static SimpleCmd::Commands all_cmds = { { "realm rename", OPT::REALM_RENAME }, { "realm set", OPT::REALM_SET }, { "realm default", OPT::REALM_DEFAULT }, + { "realm default rm", OPT::REALM_DEFAULT_RM }, { "realm pull", OPT::REALM_PULL }, { "period delete", OPT::PERIOD_DELETE }, { "period get", OPT::PERIOD_GET }, @@ -4256,7 +4259,7 @@ int main(int argc, const char **argv) OPT::REALM_LIST_PERIODS, OPT::REALM_GET_DEFAULT, OPT::REALM_RENAME, OPT::REALM_SET, - OPT::REALM_DEFAULT, OPT::REALM_PULL}; + OPT::REALM_DEFAULT, OPT::REALM_DEFAULT_RM, OPT::REALM_PULL}; std::set readonly_ops_list = { OPT::USER_INFO, @@ -5112,6 +5115,12 @@ int main(int argc, const char **argv) } } break; + case OPT::REALM_DEFAULT_RM: + if (int ret = cfgstore->delete_default_realm_id(dpp(), null_yield); ret < 0) { + cerr << "failed to remove default realm: " << cpp_strerror(-ret) << std::endl; + return -ret; + } + break; case OPT::REALM_PULL: { if (url.empty()) { diff --git a/src/test/cli/radosgw-admin/help.t b/src/test/cli/radosgw-admin/help.t index 32117fd083871..8286c9863d501 100644 --- a/src/test/cli/radosgw-admin/help.t +++ b/src/test/cli/radosgw-admin/help.t @@ -88,6 +88,7 @@ realm rename rename a realm realm set set realm info (requires infile) realm default set realm as default + realm default rm clear the current default realm realm pull pull a realm and its current period zonegroup add add a zone to a zonegroup zonegroup create create a new zone group info