From a6a6c13c751bbb74ba4f12dc593cd054aabed87c Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Tue, 10 May 2016 15:48:33 -0400 Subject: [PATCH] radosgw-admin: allow --remote to specify zone or zonegroup id --remote was only looking for zonegroup connections. extended to check for zone connections as well updated the usage to clarify that it expects zone/zonegroup ids Signed-off-by: Casey Bodley (cherry picked from commit 9fcff89ee1e60009fa367e33c915a90354c9a9cc) --- src/rgw/rgw_admin.cc | 12 +++++++++--- src/test/cli/radosgw-admin/help.t | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/rgw/rgw_admin.cc b/src/rgw/rgw_admin.cc index 3e4bcba2790b..c54093fa6125 100644 --- a/src/rgw/rgw_admin.cc +++ b/src/rgw/rgw_admin.cc @@ -183,7 +183,7 @@ void _usage() cout << " replica mdlog get/delete\n"; cout << " replica datalog get/delete\n"; cout << " --metadata-key= key to retrieve metadata from with metadata get\n"; - cout << " --remote= remote to pull period\n"; + cout << " --remote= zone or zonegroup id of remote gateway\n"; cout << " --period= period id\n"; cout << " --epoch= period epoch\n"; cout << " --commit commit the period during 'period update'\n"; @@ -1315,10 +1315,16 @@ static int send_to_remote_gateway(const string& remote, req_info& info, } conn = store->rest_master_conn; } else { + // check zonegroups auto iter = store->zonegroup_conn_map.find(remote); if (iter == store->zonegroup_conn_map.end()) { - cerr << "could not find connection to: " << remote << std::endl; - return -ENOENT; + // check zones + iter = store->zone_conn_map.find(remote); + if (iter == store->zone_conn_map.end()) { + cerr << "could not find connection for zone or zonegroup id: " + << remote << std::endl; + return -ENOENT; + } } conn = iter->second; } diff --git a/src/test/cli/radosgw-admin/help.t b/src/test/cli/radosgw-admin/help.t index 5867f00c6349..1d7c1b8fd07e 100644 --- a/src/test/cli/radosgw-admin/help.t +++ b/src/test/cli/radosgw-admin/help.t @@ -135,7 +135,7 @@ replica mdlog get/delete replica datalog get/delete --metadata-key= key to retrieve metadata from with metadata get - --remote= remote to pull period + --remote= zone or zonegroup id of remote gateway --period= period id --epoch= period epoch --commit commit the period during 'period update' -- 2.47.3