regression in db_replicator's behavior when bind_ip is set to a non-canonical (ring-style) short form IPv6 address

Bug #1499096 reported by Troy Ablan
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)
Confirmed
Medium
Unassigned

Bug Description

in container-server.conf and account-server.conf, we have used bind_ip in the form:

bind_ip = 2001:0db8:0000:8007:0000:0000:0011:0001

The old code (at least in 2.2.0) that enumerated local IPs ignored bind_ip entirely and compared the ring contents with the local IPs of the server. The new 2.4.0 code uses what's given in bind_ip as a local IP without sanitizing or shortening it, which leads to a mismatch and the container/account replicators will ignore their local mounts as the strings are not equal to the ring contents.

in whataremyips() inside swift.common.utils, we could return [sockaddr[0]] instead of [bind_ip], but I don't know if this is the best way of canonicalizing the IPv6.

Revision history for this message
clayg (clay-gerrard) wrote :

You might try and see if this was working in df134df901a13c2261a8205826ea1aa8d75dc283^

Changed in swift:
status: New → Confirmed
importance: Undecided → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.