mirror of
https://github.com/cozystack/cozystack.git
synced 2026-11-09 22:13:18 +09:00
## What this PR does Backport of #4738 to `release-1.6`, cherry-picked without changes from `6248d458ad57c5991700dc26c5abc1340b1a05f4`. Migration 50 scaled the legacy etcd-operator back to 1 after adopting the legacy etcd clusters. Until a tenant's etcd HelmRelease reconciled the new chart, Flux re-created the legacy EtcdCluster from the old one, and the running legacy operator re-created the legacy StatefulSet and took the legacy `etcd-headless` Service away from the adopted EtcdMembers. The garbage collector deleted the Service when the new chart pruned that EtcdCluster, and the adopted members' `etcd-<i>.etcd-headless` names stopped resolving. This hit every tenant etcd on a cluster upgraded from 1.4.3 to 1.6.4, and upgrades from 1.4 and 1.5 to 1.6 go through this branch. The operator now stays at 0 after a successful adoption until the etcd-operator HelmRelease replaces it, and a failed adoption still restores it through the EXIT trap. The full timeline from the audit log and the repair for already upgraded clusters are in #4738. ### Validation - The commit applies cleanly to `release-1.6` at `da98ddc08`. - `hack/cozytest.sh hack/migration-50-etcd-adopt.bats` passes all 29 tests on this branch. The new test fails against the release-1.6 script with `FAIL: the legacy operator was scaled back up after a successful adoption`. ### Screenshots Not a UI change. ### Downstream repositories Same diff as #4738, where the trigger map was walked file by file. No entry matches. - [x] No downstream repository is affected by this change - [ ] [cozystack/website](https://github.com/cozystack/website) - follow-up: - [ ] [cozystack/terraform-provider-cozystack](https://github.com/cozystack/terraform-provider-cozystack) - follow-up: - [ ] [cozystack/ansible-cozystack](https://github.com/cozystack/ansible-cozystack) - follow-up: - [ ] [cozystack/ccp](https://github.com/cozystack/ccp) - follow-up: - [ ] [cozystack/talm](https://github.com/cozystack/talm) - follow-up: - [ ] [cozystack/cozyhr](https://github.com/cozystack/cozyhr) - follow-up: - [ ] [cozystack/cozy-proxy](https://github.com/cozystack/cozy-proxy) - follow-up: - [ ] [cozystack/cozystack-telemetry-server](https://github.com/cozystack/cozystack-telemetry-server) - follow-up: - [ ] [cozystack/external-apps-example](https://github.com/cozystack/external-apps-example) - follow-up: - [ ] [cozystack/examples](https://github.com/cozystack/examples) - follow-up: - [ ] [cozystack/community](https://github.com/cozystack/community) - follow-up: ### Release note ```release-note fix(platform): backport to 1.6 the fix that keeps the legacy etcd-operator stopped after migration 50 adopts the legacy etcd clusters, so the adopted members keep their etcd-headless DNS names through the upgrade. ```