[DPE-10203] test(async-replication): cover the ticket's full teardown sequence - #1912
Closed
marceloneppel wants to merge 2 commits into
Closed
[DPE-10203] test(async-replication): cover the ticket's full teardown sequence#1912marceloneppel wants to merge 2 commits into
marceloneppel wants to merge 2 commits into
Conversation
The dead-DC recovery test stopped db1's machines, force-promoted db2 and went straight to the remove-saas --force workaround. The DPE-10203 report has two more steps around them: the whole datacenter dies (the watcher's machine goes down together with the cluster's units — "all Rome units"), and the dead relation is first attacked with remove-relation --force — the ticket's Issue 1, for which Juju delivers no events — before the workaround clears the offer. Add both, keeping the test valid regardless of the Juju behavior: the remove-saas workaround tolerates "not found" (the _consumer_alias_exists idiom), so a Juju fix that honors remove-relation --force skips it instead of erroring, while the current behavior keeps exercising the exact ordering that orphaned the consumer label and promotion counter. Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
Pull the stale-counter reconciliation fix (clear even after a new relation forms) so this PR's extended test runs against the fixed base. Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
Member
Author
|
Superseded by #1914 (same extended test, rebased on the restructured fix set). |
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.
Issue
DPE-10203 (stacked on #1837, like #1838): the dead-DC recovery regression test covered the core ordering but skipped two steps of the reported sequence: the watcher's machine goes down with the dead datacenter ("all Rome units"), and the dead relation is first attacked with
remove-relation --force— the ticket's Issue 1, for which Juju delivers no events — before theremove-saas --forceworkaround clears the offer.Solution
Extend
test_async_replication_dead_dc_recovery.pyto replicate the ticket's full teardown sequence: the whole datacenter dies (cluster units and Raft-witness watcher alike), and the dead relation is attacked withremove-relation --forcebefore theremove-saas --forceworkaround. The workaround tolerates "not found" (the_consumer_alias_existsidiom), so the test stays valid if Juju ever honorsremove-relation --force— the current behavior keeps exercising the exact ordering that orphaned the consumer label and promotion counter.The test's consumer-side assertions need #1838's changes, so the full sequence passes at the stack tip.
Checklist