return ret;
}
RGWZoneParams zone(zone_id, zone_name);
- ret = zone.init(g_ceph_context, store, zonegroup);
+ ret = zone.init(g_ceph_context, store);
if (ret < 0) {
cerr << "unable to initialize zone: " << cpp_strerror(-ret) << std::endl;
return -ret;
return -EINVAL;
}
RGWZoneParams zone(zone_id, zone_name);
- ret = zone.init(g_ceph_context, store, zonegroup);
+ ret = zone.init(g_ceph_context, store);
if (ret < 0) {
cerr << "unable to initialize zone: " << cpp_strerror(-ret) << std::endl;
return -ret;
break;
case OPT_ZONE_DELETE:
{
- if (zonegroup_id.empty() && zonegroup_name.empty()) {
- cerr << "no zonegroup name or id provided" << std::endl;
- return -EINVAL;
- }
-
- RGWZoneGroup zonegroup(zonegroup_id,zonegroup_name);
- int ret = zonegroup.init(g_ceph_context, store);
- if (ret < 0) {
- cerr << "WARNING: failed to initialize zonegroup " << zonegroup_name << std::endl;
- }
if (zone_id.empty() && zone_name.empty()) {
cerr << "no zone name or id provided" << std::endl;
return -EINVAL;
}
RGWZoneParams zone(zone_id, zone_name);
- ret = zone.init(g_ceph_context, store, zonegroup);
+ int ret = zone.init(g_ceph_context, store);
if (ret < 0) {
cerr << "unable to initialize zone: " << cpp_strerror(-ret) << std::endl;
return -ret;
}
- ret = zonegroup.remove_zone(zone);
- if (ret < 0 && ret != -ENOENT) {
- cerr << "failed to remove zone " << zone_name << " from zonegroup " << zonegroup.get_name() << ": "
- << cpp_strerror(-ret) << std::endl;
- return ret;
+
+ list<string> zonegroups;
+ ret = store->list_zonegroups(zonegroups);
+ if (ret < 0) {
+ cerr << "failed to list zonegroups: " << cpp_strerror(-ret) << std::endl;
+ return -ret;
}
+
+ for (list<string>::iterator iter = zonegroups.begin(); iter != zonegroups.end(); ++iter) {
+ RGWZoneGroup zonegroup(string(), *iter);
+ int ret = zonegroup.init(g_ceph_context, store);
+ if (ret < 0) {
+ cerr << "WARNING: failed to initialize zonegroup " << zonegroup_name << std::endl;
+ continue;
+ }
+ ret = zonegroup.remove_zone(zone);
+ if (ret < 0 && ret != -ENOENT) {
+ cerr << "failed to remove zone " << zone_name << " from zonegroup " << zonegroup.get_name() << ": "
+ << cpp_strerror(-ret) << std::endl;
+ }
+ }
+
ret = zone.delete_obj();
if (ret < 0) {
cerr << "failed to create zone " << zone_name << ": " << cpp_strerror(-ret) << std::endl;
}
}
RGWZoneParams zone;
- ret = zone.init(g_ceph_context, store, zonegroup);
+ ret = zone.init(g_ceph_context, store);
if (ret < 0) {
cerr << "unable to initialize zone: " << cpp_strerror(-ret) << std::endl;
return -ret;
return -EINVAL;
}
RGWZoneParams zone(zone_id,zone_name);
- ret = zone.init(g_ceph_context, store, zonegroup);
+ ret = zone.init(g_ceph_context, store);
if (ret < 0) {
cerr << "unable to initialize zone: " << cpp_strerror(-ret) << std::endl;
return -ret;
RGWZoneParams zone_params(default_zone_name);
- int r = zone_params.init(cct, store, *this, false);
+ int r = zone_params.init(cct, store, false);
if (r < 0) {
derr << "create_default: error initializing zone params: " << cpp_strerror(-r) << dendl;
return r;
return cct->_conf->rgw_zone;
}
-int RGWZoneParams::init(CephContext *cct, RGWRados *store, RGWZoneGroup& zonegroup, bool setup_obj, bool old_format)
+int RGWZoneParams::init(CephContext *cct, RGWRados *store, bool setup_obj, bool old_format)
{
name = cct->_conf->rgw_zone;
return ret;
}
- ret = zone.init(cct, this, zonegroup);
+ ret = zone.init(cct, this);
if (ret < 0 && ret != -ENOENT) {
lderr(cct) << "failed reading zone info: ret "<< ret << " " << cpp_strerror(-ret) << dendl;
return ret;
const string& get_info_oid_prefix(bool old_format = false);
const string& get_predefined_id();
- int init(CephContext *_cct, RGWRados *_store, RGWZoneGroup& zonegroup, bool setup_obj = true,
+ int init(CephContext *_cct, RGWRados *_store, bool setup_obj = true,
bool old_format = false);
using RGWSystemMetaObj::init;
int create_default(bool old_format = false);