From b857860f8d5a34777cf98269ca0723d49eb3ffc0 Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Thu, 18 Aug 2022 16:28:01 -0400 Subject: [PATCH] rgw: remove RGWRegionMap and RGWZoneGroupMap these are leftovers from radosgw-agent. we kept them around for the conversion logic, but that was only necessary to support upgrades to jewel and kraken Signed-off-by: Casey Bodley --- src/rgw/rgw_zone.cc | 111 ----------------------------------- src/rgw/rgw_zone.h | 37 ------------ src/rgw/services/svc_zone.cc | 69 ---------------------- src/rgw/services/svc_zone.h | 1 - 4 files changed, 218 deletions(-) diff --git a/src/rgw/rgw_zone.cc b/src/rgw/rgw_zone.cc index 9554349e81e..38ac0eb085d 100644 --- a/src/rgw/rgw_zone.cc +++ b/src/rgw/rgw_zone.cc @@ -2060,75 +2060,6 @@ bool RGWPeriodMap::find_zone_by_name(const string& zone_name, return false; } -int RGWZoneGroupMap::read(const DoutPrefixProvider *dpp, CephContext *cct, RGWSI_SysObj *sysobj_svc, optional_yield y) -{ - - RGWPeriod period; - int ret = period.init(dpp, cct, sysobj_svc, y); - if (ret < 0) { - cerr << "failed to read current period info: " << cpp_strerror(ret); - return ret; - } - - quota.bucket_quota = period.get_config().quota.bucket_quota; - quota.user_quota = period.get_config().quota.user_quota; - zonegroups = period.get_map().zonegroups; - zonegroups_by_api = period.get_map().zonegroups_by_api; - master_zonegroup = period.get_map().master_zonegroup; - - return 0; -} - -void RGWRegionMap::encode(bufferlist& bl) const { - ENCODE_START( 3, 1, bl); - encode(regions, bl); - encode(master_region, bl); - encode(quota.bucket_quota, bl); - encode(quota.user_quota, bl); - ENCODE_FINISH(bl); -} - -void RGWRegionMap::decode(bufferlist::const_iterator& bl) { - DECODE_START(3, bl); - decode(regions, bl); - decode(master_region, bl); - if (struct_v >= 2) - decode(quota.bucket_quota, bl); - if (struct_v >= 3) - decode(quota.user_quota, bl); - DECODE_FINISH(bl); -} - -void RGWZoneGroupMap::encode(bufferlist& bl) const { - ENCODE_START( 3, 1, bl); - encode(zonegroups, bl); - encode(master_zonegroup, bl); - encode(quota.bucket_quota, bl); - encode(quota.user_quota, bl); - ENCODE_FINISH(bl); -} - -void RGWZoneGroupMap::decode(bufferlist::const_iterator& bl) { - DECODE_START(3, bl); - decode(zonegroups, bl); - decode(master_zonegroup, bl); - if (struct_v >= 2) - decode(quota.bucket_quota, bl); - if (struct_v >= 3) - decode(quota.user_quota, bl); - DECODE_FINISH(bl); - - zonegroups_by_api.clear(); - for (map::iterator iter = zonegroups.begin(); - iter != zonegroups.end(); ++iter) { - RGWZoneGroup& zonegroup = iter->second; - zonegroups_by_api[zonegroup.api_name] = zonegroup; - if (zonegroup.is_master_zonegroup()) { - master_zonegroup = zonegroup.get_name(); - } - } -} - static inline int conf_to_uint64(const JSONFormattable& config, const string& key, uint64_t *pval) { string sval; @@ -2777,45 +2708,3 @@ void RGWPeriodConfig::decode_json(JSONObj *obj) JSONDecoder::decode_json("bucket_ratelimit", bucket_ratelimit, obj); JSONDecoder::decode_json("anonymous_ratelimit", anon_ratelimit, obj); } - -void RGWRegionMap::dump(Formatter *f) const -{ - encode_json("regions", regions, f); - encode_json("master_region", master_region, f); - encode_json("bucket_quota", quota.bucket_quota, f); - encode_json("user_quota", quota.user_quota, f); -} - -void RGWRegionMap::decode_json(JSONObj *obj) -{ - JSONDecoder::decode_json("regions", regions, obj); - JSONDecoder::decode_json("master_region", master_region, obj); - JSONDecoder::decode_json("bucket_quota", quota.bucket_quota, obj); - JSONDecoder::decode_json("user_quota", quota.user_quota, obj); -} - -void RGWZoneGroupMap::dump(Formatter *f) const -{ - encode_json("zonegroups", zonegroups, f); - encode_json("master_zonegroup", master_zonegroup, f); - encode_json("bucket_quota", quota.bucket_quota, f); - encode_json("user_quota", quota.user_quota, f); -} - -void RGWZoneGroupMap::decode_json(JSONObj *obj) -{ - JSONDecoder::decode_json("zonegroups", zonegroups, obj); - /* backward compatability with region */ - if (zonegroups.empty()) { - JSONDecoder::decode_json("regions", zonegroups, obj); - } - JSONDecoder::decode_json("master_zonegroup", master_zonegroup, obj); - /* backward compatability with region */ - if (master_zonegroup.empty()) { - JSONDecoder::decode_json("master_region", master_zonegroup, obj); - } - - JSONDecoder::decode_json("bucket_quota", quota.bucket_quota, obj); - JSONDecoder::decode_json("user_quota", quota.user_quota, obj); -} - diff --git a/src/rgw/rgw_zone.h b/src/rgw/rgw_zone.h index e63b8b1eca3..b48750e759a 100644 --- a/src/rgw/rgw_zone.h +++ b/src/rgw/rgw_zone.h @@ -1090,43 +1090,6 @@ struct RGWPeriodConfig }; WRITE_CLASS_ENCODER(RGWPeriodConfig) -/* for backward comaptability */ -struct RGWRegionMap { - - std::map regions; - - std::string master_region; - - RGWQuota quota; - - void encode(bufferlist& bl) const; - void decode(bufferlist::const_iterator& bl); - - void dump(Formatter *f) const; - void decode_json(JSONObj *obj); -}; -WRITE_CLASS_ENCODER(RGWRegionMap) - -struct RGWZoneGroupMap { - - std::map zonegroups; - std::map zonegroups_by_api; - - std::string master_zonegroup; - - RGWQuota quota; - - /* construct the map */ - int read(const DoutPrefixProvider *dpp, CephContext *cct, RGWSI_SysObj *sysobj_svc, optional_yield y); - - void encode(bufferlist& bl) const; - void decode(bufferlist::const_iterator& bl); - - void dump(Formatter *f) const; - void decode_json(JSONObj *obj); -}; -WRITE_CLASS_ENCODER(RGWZoneGroupMap) - class RGWRealm; class RGWPeriod; diff --git a/src/rgw/services/svc_zone.cc b/src/rgw/services/svc_zone.cc index dc0b8c24a51..f3df23012bf 100644 --- a/src/rgw/services/svc_zone.cc +++ b/src/rgw/services/svc_zone.cc @@ -247,12 +247,6 @@ int RGWSI_Zone::do_start(optional_yield y, const DoutPrefixProvider *dpp) return ret; } - ret = convert_regionmap(dpp, y); - if (ret < 0) { - ldpp_dout(dpp, -1) << "failed converting regionmap: " << cpp_strerror(-ret) << dendl; - return ret; - } - auto zone_iter = zonegroup->zones.find(zone_params->get_id()); if (zone_iter == zonegroup->zones.end()) { /* shouldn't happen if relying on period config */ @@ -877,69 +871,6 @@ int RGWSI_Zone::init_zg_from_local(const DoutPrefixProvider *dpp, optional_yield return 0; } -int RGWSI_Zone::convert_regionmap(const DoutPrefixProvider *dpp, optional_yield y) -{ - RGWZoneGroupMap zonegroupmap; - - string pool_name = cct->_conf->rgw_zone_root_pool; - if (pool_name.empty()) { - pool_name = RGW_DEFAULT_ZONE_ROOT_POOL; - } - string oid = region_map_oid; - - rgw_pool pool(pool_name); - bufferlist bl; - - RGWSysObj sysobj = sysobj_svc->get_obj(rgw_raw_obj(pool, oid)); - - int ret = sysobj.rop().read(dpp, &bl, y); - if (ret < 0 && ret != -ENOENT) { - return ret; - } else if (ret == -ENOENT) { - return 0; - } - - try { - auto iter = bl.cbegin(); - decode(zonegroupmap, iter); - } catch (buffer::error& err) { - ldpp_dout(dpp, 0) << "error decoding regionmap from " << pool << ":" << oid << dendl; - return -EIO; - } - - for (map::iterator iter = zonegroupmap.zonegroups.begin(); - iter != zonegroupmap.zonegroups.end(); ++iter) { - RGWZoneGroup& zonegroup = iter->second; - ret = zonegroup.init(dpp, cct, sysobj_svc, y, false); - ret = zonegroup.update(dpp, y); - if (ret < 0 && ret != -ENOENT) { - ldpp_dout(dpp, 0) << "Error could not update zonegroup " << zonegroup.get_name() << ": " << - cpp_strerror(-ret) << dendl; - return ret; - } else if (ret == -ENOENT) { - ret = zonegroup.create(dpp, y); - if (ret < 0) { - ldpp_dout(dpp, 0) << "Error could not create " << zonegroup.get_name() << ": " << - cpp_strerror(-ret) << dendl; - return ret; - } - } - } - - current_period->set_user_quota(zonegroupmap.quota.user_quota); - current_period->set_bucket_quota(zonegroupmap.quota.bucket_quota); - - // remove the region_map so we don't try to convert again - ret = sysobj.wop().remove(dpp, y); - if (ret < 0) { - ldpp_dout(dpp, 0) << "Error could not remove " << sysobj.get_obj() - << " after upgrading to zonegroup map: " << cpp_strerror(ret) << dendl; - return ret; - } - - return 0; -} - const RGWZoneParams& RGWSI_Zone::get_zone_params() const { return *zone_params; diff --git a/src/rgw/services/svc_zone.h b/src/rgw/services/svc_zone.h index 3e7e91e4d3a..1863fe2e078 100644 --- a/src/rgw/services/svc_zone.h +++ b/src/rgw/services/svc_zone.h @@ -67,7 +67,6 @@ class RGWSI_Zone : public RGWServiceInstance int replace_region_with_zonegroup(const DoutPrefixProvider *dpp, optional_yield y); int init_zg_from_period(const DoutPrefixProvider *dpp, optional_yield y); int init_zg_from_local(const DoutPrefixProvider *dpp, optional_yield y); - int convert_regionmap(const DoutPrefixProvider *dpp, optional_yield y); int update_placement_map(const DoutPrefixProvider *dpp, optional_yield y); -- 2.39.5