Skip to content

fix(ingress): retry evidence without reloading haproxy - #157

Merged
kvinwang merged 1 commit into
mainfrom
fix/ingress-apply-retry
Oct 16, 2026
Merged

kvinwang merged 1 commit into
mainfrom
fix/ingress-apply-retry

Conversation

@kvinwang

Copy link
Copy Markdown
Collaborator

Why

One APPLY_PENDING flag covered evidence, the combined PEMs and the haproxy reload. Evidence that keeps failing (e.g. a guest agent error) redid all three on every retry pass: a SIGUSR2 every few minutes (backoff caps at 30 min), each leaving old workers holding connections for up to TIMEOUT_CLIENT (24h by default).

What

Track RELOAD_PENDING and EVIDENCE_PENDING separately and retry only the step that failed. A pass with either pending still returns 3, so the retry backoff applies as before.

Tests

Stubbed run_pass with evidence failing twice: 4 passes → return codes 3, 3, 0, 0 and one reload (before: three reloads). Unit tests pass. Pebble end-to-end results will follow in a comment.

Stacked on #156.

One APPLY_PENDING flag covered evidence, the combined PEMs and the
haproxy reload, so evidence that kept failing redid all three on every
retry pass -- a SIGUSR2 every few minutes, each leaving old workers
holding connections for up to TIMEOUT_CLIENT (24h by default).

Track the reload and the evidence separately and retry only the step
that failed.

Signed-off-by: Kevin Wang <wy721@qq.com>
@kvinwang
kvinwang deleted the branch refactor/ingress-cert-lib October 16, 2026 01:09
@kvinwang kvinwang closed this Oct 16, 2026
@kvinwang kvinwang reopened this Oct 16, 2026
@kvinwang
kvinwang changed the base branch from refactor/ingress-cert-lib to main October 16, 2026 01:10
@kvinwang kvinwang closed this Oct 16, 2026
@kvinwang kvinwang reopened this Oct 16, 2026
@kvinwang
kvinwang merged commit c7bf0f1 into main Oct 16, 2026
6 checks passed
@kvinwang
kvinwang deleted the fix/ingress-apply-retry branch October 16, 2026 01:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant