]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: use zonegroup's master zone endpoints for bucket redirect
authorCasey Bodley <cbodley@redhat.com>
Tue, 4 Apr 2017 14:41:51 +0000 (10:41 -0400)
committerNathan Cutler <ncutler@suse.com>
Thu, 6 Jul 2017 18:08:18 +0000 (20:08 +0200)
if no zonegroup endpoints are set, fall back to master zone endpoints

Fixes: http://tracker.ceph.com/issues/19488
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 92f63c6392bdc4633a2e57cb3867051bb1a3fd55)

src/rgw/rgw_op.cc

index bcc7faf54953398976ff69e8e1be7e0382d98260..d976408f40928717c4d40dac7312b0eba849550c 100644 (file)
@@ -435,6 +435,12 @@ int rgw_build_bucket_policies(RGWRados* store, struct req_state* s)
     if (!r) {
       if (!zonegroup.endpoints.empty()) {
        s->zonegroup_endpoint = zonegroup.endpoints.front();
+      } else {
+        // use zonegroup's master zone endpoints
+        auto z = zonegroup.zones.find(zonegroup.master_zone);
+        if (z != zonegroup.zones.end() && !z->second.endpoints.empty()) {
+          s->zonegroup_endpoint = z->second.endpoints.front();
+        }
       }
       s->zonegroup_name = zonegroup.get_name();
     }