Repository navigation
test(e2e): retire the managed topology through a real external etcd - #732
Merged
Merged
Conversation
TestClusterDeletionAfterSwitchingToExternalTopo pointed the cluster at an unreachable external endpoint and waited for the managed TopoServer to be deleted. The operator now keeps the managed TopoServer until the move has finished: every cell registered in the external topology, every pod restarted against it, and the external server shown to be a different etcd. An unreachable endpoint never meets those conditions, so the test timed out. Run a single-member etcd in the test namespace as the external server, so the move completes and the TopoServer is retired before the cluster is deleted, which is the state the test exists to cover. Signed-off-by: Brent Graveland <graveland@supabase.io>
🔬 Go Test Coverage ReportSummary
Status✅ PASS DetailShow New Coverage |
Contributor
Author
|
/e2e |
|
✅ E2E tests success — View run |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
TestClusterDeletionAfterSwitchingToExternalToponow moves the cluster to a real external etcd, a single-member etcd Deployment and Service started in the test namespace, instead of the unreachablehttp://external-etcd.invalid:2379. The wait for the managed TopoServer and StatefulSet to be deleted goes from 3 to 10 minutes, to cover the pods restarting. The later assertions are unchanged: retained topo PVCs survive the move and are cleaned up on cluster deletion, and non-topo PVCs stay.Why
The nightly upstream compatibility run fails on this test (run 39020319567) since 5967306. That commit made the operator keep a managed global TopoServer until a move to an external topology has finished: every cell and database registered in the external topology, the cluster Healthy at its current generation, no pod still started against the managed address, and the external server's membership shown to be a different etcd. An unreachable endpoint can meet none of these, so the cluster logged
FailedApply ... deadline exceededregistering the cell and the TopoServer was never retired. The old expectation is the behaviour that commit removed on purpose.Notable details / risks
external-etcd) and peer URL (127.0.0.1:2380) share nothing with the managed TopoServer's, so the retirement identity check accepts it as a different etcd. It reusesDefaultEtcdImage, which the framework already loads into Kind.