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
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
Confirmed
|
Medium
|
Unassigned |
Bug Description
in container-
bind_ip = 2001:0db8:
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.
To post a comment you must log in.
You might try and see if this was working in df134df901a13c2 261a8205826ea1a a8d75dc283^