fix(e2e): wait for backends to be healthy before starting nginx proxies (backport of #4551) - #4553
Merged
Merged
Conversation
…es (#4551) * fix(e2e): wait for backends to be healthy before starting rfc021 nginx proxies nodeA and nodeB (nginx) resolve their backend's hostname once, at config load time, and never retry. With no depends_on, Docker Compose starts them concurrently with nodeA-backend/nodeB-backend, so if the backend's network alias isn't registered yet, nginx crashes immediately with "host not found in upstream" and stays down, failing every test routed through it. Fixes #4549 Assisted by AI * fix(e2e): wait for backends to be healthy before starting nginx proxies Same startup race as rfc021 (previous commit): nginx resolves its upstream backend's hostname once, at config load time, and never retries. With no depends_on, Docker Compose starts the proxy and its backend concurrently, so if the backend's network alias isn't registered yet, nginx crashes immediately with "host not found in upstream" and stays down. Affects every other e2e suite with the same nginx-fronts-nuts-node pattern that was missing depends_on entirely: clustering/redis, clustering/memcached, openid4vci/issuer-initiated, nuts-network/ssl-offloading/nginx, browser/openid4vp_employeecredential, oauth-flow/rfc002, oauth-flow/statuslist2021, oauth-flow/didx509, oauth-flow/openid4vp. Fixes #4549 Assisted by AI * fix(e2e): give rfc021's MySQL container more time to become healthy MySQL 8.3's first-time initialization (data dir, SSL certs, system tables) doesn't always finish inside the previous interval: 1s x retries: 20 = 20s budget on a standard CI runner, causing an unrelated flake (nodeA-backend/ nodeB-backend depend on db being healthy and fail to start if it isn't). Assisted by AI (cherry picked from commit ebe62b8)
reinkrul
requested review from
gerardsn,
stevenvegt and
woutslakhorst
as code owners
September 17, 2026 08:25
stevenvegt
approved these changes
Sep 17, 2026
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.
Backport of #4551 to V6.2, cherry-picked without conflicts.
Adds
depends_on: <backend>: condition: service_healthyfrom each affected nginx proxy to its backend across the e2e suites, and bumpsoauth-flow/rfc021/mysql.yml's healthcheck retries from 20 to 40. See #4551 for the full analysis.Assisted by AI