ring_*_device: Broken idempotency with canonical IPv6 address
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
puppet-swift |
Fix Released
|
High
|
Takashi Kajinami |
Bug Description
The ring_*_device resource consistently fails at 2nd run if the name contains a canonical IPv6 address instead of a shortened one.
Example:
https:/
```
Error: Execution of '/bin/swift-
The on-disk ring builder is unchanged.
```
It seems the swift-ring-builder command internally converts the canonical IPv6 address to the shortened one and that is causing unexpected change detected.
```
/etc/swift/
262144 partitions, 1.000000 replicas, 1 regions, 1 zones, 2 devices, 100.00 balance, 0.00 dispersion
The minimum number of hours before a partition can be reassigned is 1 (0:50:11 remaining)
The overload factor is 0.00% (0.000000)
Ring file /etc/swift/
Devices: id region zone ip address:port replication ip:port name weight partitions balance flags meta
1 1 2 127.0.0.1:6020 127.0.0.1:6020 2 1.00 0 -100.00
0 1 2 [::1]:6020 [::1]:6020 2 1.00 262144 100.00
```
Changed in puppet-swift: | |
importance: | Undecided → High |
assignee: | nobody → Takashi Kajinami (kajinamit) |
Changed in puppet-swift: | |
status: | New → In Progress |
description: | updated |
Reviewed: https:/ /review. opendev. org/c/openstack /puppet- swift/+ /865094 /opendev. org/openstack/ puppet- swift/commit/ 249f466f94441ae 554478467949378 d81b034f89
Committed: https:/
Submitter: "Zuul (22348)"
Branch: master
commit 249f466f94441ae 554478467949378 d81b034f89
Author: Takashi Kajinami <email address hidden>
Date: Mon Nov 21 13:55:47 2022 +0900
Ensure consistent IPv6 address format
This change ensures the shortened address representations are always
used for ring devices to avoid broken idempotency caused by different
representations (shortened[1] vs canonical[2]).
[1] ::1 0000:0000: 0000:0000: 0000:0001
[2] 0000:0000:
Closes-Bug: #1997313 6aa616482a49d59 c7db69924d6
Change-Id: I762f0780ba2553