Bug 1359696
Summary: | When the zones are switched, sync status complains of period mismatch | ||
---|---|---|---|
Product: | [Red Hat Storage] Red Hat Ceph Storage | Reporter: | shilpa <smanjara> |
Component: | RGW | Assignee: | Casey Bodley <cbodley> |
Status: | CLOSED ERRATA | QA Contact: | ceph-qe-bugs <ceph-qe-bugs> |
Severity: | medium | Docs Contact: | |
Priority: | unspecified | ||
Version: | 2.0 | CC: | cbodley, ceph-eng-bugs, kbader, kdreyer, mbenjamin, nlevine, owasserm, smanjara, sweil |
Target Milestone: | rc | ||
Target Release: | 2.0 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | RHEL: ceph-10.2.2-31.el7cp Ubuntu: ceph_10.2.2-24redhat1xenial | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2016-08-23 19:45:13 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
shilpa
2016-07-25 10:17:19 UTC
can you provide the procedure to switch masters? can you provide rgw logs? I've reproduced this "master is on a different period: master_period= " error. Here's what I've learned: The "radosgw-admin zone modify --rgw-zonegroup=us --rgw-zone=us-2 --master" command correctly changes the zonegroup's "master_zone" field to point to us-2, but doesn't modify the zonegroup's "endpoints" field. When the "radosgw-admin sync status" command sees that it's not the master zone, it tries to send a "get_metadata_log_info" request to the new master zone's gateway. It uses the RGWRados::rest_master_conn connection, which is initialized with the zonegroup's endpoints, to do this. So after switching the master zone, it's accidentally sending the request to the endpoint associated with the old master zone, us-1. us-1 knows it's not the master zone, so it returns the empty period id that's displayed as "master_period= ". This issue is larger than just the "sync status" output, though. We also use rest_master_conn: * for all metadata sync requests * when forwarding bucket/user creation operations that need to be processed by the metadata master * when committing periods or fetching periods that we're missing As a workaround, you can fix the zonegroup endpoints with: $ radosgw-admin zonegroup modify --rgw-zonegroup=us --endpoints=http://magna059:80 I'll discuss this with the rest of the multisite team to see if we can do better. (In reply to Casey Bodley from comment #6) > As a workaround, you can fix the zonegroup endpoints with: > > $ radosgw-admin zonegroup modify --rgw-zonegroup=us > --endpoints=http://magna059:80 > > I'll discuss this with the rest of the multisite team to see if we can do > better. The workaround helps. Thanks. Shilpa, did you follow any document when running the initial "radosgw-admin zone modify" command that led to this bug? Discussed in the QE/Dev sync today. Next steps: Casey and the RGW team will update the zone modification workflow so that the workaround in Comment #6 is not needed. Verified in ceph-10.2.2-32 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2016-1755.html |