IPv6 compressed notation and replication
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
Fix Released
|
Medium
|
Mike Barton |
Bug Description
If the ring is created with IPv6 in compressed notation where the address has a single contiguous group of zero fields represented as a double colon "::''. It appears that the replicator has issues because rsyncd sees two sets of "::" when trying to replicate to another device. In rsyncd the word after the "::" is the rsyncd module entry. Therefore it gets confused, I believe.
The problem goes away once the ring is recreated without a single contiguous group of zero fields being represented in double colon "::''.
Example:
==========
BAD RING
==========
root@swift-
object.builder, build version 4
262144 partitions, 3 replicas, 4 zones, 4 devices, 0.00 balance
The minimum number of hours before a partition can be reassigned is 1
Devices: id zone ip address port name weight partitions balance meta
0 1 fdef:8130:6627::100 6010 sdb1 1.00 196608 0.00
1 2 fdef:8130:6627::100 6020 sdb2 1.00 196608 0.00
2 3 fdef:8130:6627::100 6030 sdb3 1.00 196608 0.00
3 4 fdef:8130:6627::100 6040 sdb4 1.00 196608 0.00
=========
GOOD RING
=========
root@swift-
container.builder, build version 4
262144 partitions, 3 replicas, 4 zones, 4 devices, 0.00 balance
The minimum number of hours before a partition can be reassigned is 1
Devices: id zone ip address port name weight partitions balance meta
0 1 fdef:8130:
1 2 fdef:8130:
2 3 fdef:8130:
3 4 fdef:8130:
---
ode/sdb4/
---
May 12 18:00:58 swift-ip6 object-replicator The --contimeout option may only be used when connecting to an rsync daemon.
May 12 18:00:58 swift-ip6 object-replicator rsync error: syntax or usage error (code 1) at main.c(1265) [sender=3.0.7]
May 12 18:00:58 swift-ip6 object-replicator Bad rsync return code: ['rsync', '--recursive', '--whole-file', '--human-readable', '--xattrs', '--itemize-
Related branches
- David Goetz (community): Approve
- gholt (community): Approve
-
Diff: 55 lines (+6/-6)3 files modifiedswift/common/db_replicator.py (+2/-2)
swift/obj/replicator.py (+2/-2)
test/unit/obj/test_replicator.py (+2/-2)
Changed in swift: | |
status: | New → In Progress |
importance: | Undecided → Medium |
assignee: | nobody → Mike Barton (redbo) |
Changed in swift: | |
status: | In Progress → Fix Committed |
Changed in swift: | |
milestone: | none → 1.4.0 |
status: | Fix Committed → Fix Released |