build(deps): validate single-kernel lib PITR RetryError fix via archive URL#1845
Closed
marceloneppel wants to merge 1 commit into
Closed
build(deps): validate single-kernel lib PITR RetryError fix via archive URL#1845marceloneppel wants to merge 1 commit into
marceloneppel wants to merge 1 commit into
Conversation
976469d to
7d14943
Compare
Stack the PITR RetryError fix validation on top of the TLS migration branch (flip/tls-lib), pinning the single-kernel library to the archive URL of the fix branch HEAD (canonical/postgresql-single-kernel-library#179, commit 47448ae = 16.3.4) instead of the released wheel, so CI validates the get_member_status fix against the same library line the TLS migration ships on. Basing on flip/tls-lib (rather than 16/edge) keeps the charm code consistent with the library API this commit pins: flip/tls-lib already adopts the new 4-arg TLSManager and drops the CharmState type: ignore that the operator-cert/substrate library changes (#177/#178) made unused. This pin should revert to the released version once the library fix ships. Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
7d14943 to
6e048e4
Compare
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
The
test_backups_pitr_{aws,gcp}integration tests fail intermittently on16/edge(and on base, so this is a pre-existing flake). Root cause (validated with 5 independent reviewers + CI log forensics): the single-kernel library'sPatroniManager.get_member_statuscallscluster_status()without a try/except, so when Patroni is unreachable during a PITR restore it raises an uncaughttenacity.RetryError. That crash fires inside the restore action hook (ops re-emits the deferreddatabase-peers-relation-changedwithin it), discarding the stagedrestore-statusresult and exhausting the test's 10x retry loop.The fix lives in the library (
canonical/postgresql-single-kernel-library#179): catch theRetryErrorand return""(the value the method's docstring already promises), mirroring the siblingget_member_ip.Solution
Temporarily consume the library from the fix branch's archive URL (commit
5851e4e) instead of the released16.3.2wheel, so this PR's CI runs the PITR integration tests against the fixed library and validates the fix end-to-end before the library is re-released. No charm code changes. Thepyproject.toml/poetry.lockpin should revert to the released version oncecanonical/postgresql-single-kernel-library#179ships a newpostgresql-charms-single-kernelrelease.Checklist