Skip to content

- podman_compose.py - Replaces the single batched podman wait cal…#1479

Open
allen-munsch wants to merge 1 commit into
containers:mainfrom
allen-munsch:ux/per-container-wait
Open

- podman_compose.py - Replaces the single batched podman wait cal…#1479
allen-munsch wants to merge 1 commit into
containers:mainfrom
allen-munsch:ux/per-container-wait

Conversation

@allen-munsch

@allen-munsch allen-munsch commented Jun 20, 2026

Copy link
Copy Markdown

…l in check_dep_conditions with

per-container asyncio.gather waits. Each container gets its own podman wait --condition=<cond> <container> call with independent retry loops, enabling healthcheck support on podman >= 4.6.0.

  • tests/unit/test_depends_on.py - 8 new async unit tests covering:
    • Empty deps - early return, no waits
    • Single condition, two containers - two individual podman wait calls
    • Two conditions, one container each - correct --condition per call
    • CalledProcessError on first call - retry, eventually succeeds
    • HEALTHY dep on podman 4.5.0 - skipped (no wait calls)
    • UNHEALTHY dep on podman 4.5.0 - skipped (mirror)
    • HEALTHY on podman 4.6.0 - waits normally
    • podman_version=None - healthcheck proceeds (short-circuit edge case)
    • newsfragments/check_dep_conditions_asyncio_gather.change - changelog fragment

@allen-munsch

Copy link
Copy Markdown
Author

This is a follow up, split out of: #1476

Comment thread tests/unit/test_depends_on.py Outdated

@p12tic p12tic left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just please clean up test assertions.

@allen-munsch allen-munsch force-pushed the ux/per-container-wait branch from a33b05e to 195835b Compare June 20, 2026 18:06
@allen-munsch

Copy link
Copy Markdown
Author

took >10 seconds on the runner

possibly some falkiness?

@allen-munsch allen-munsch requested a review from p12tic June 20, 2026 18:57
…l in `check_dep_conditions` with

per-container `asyncio.gather` waits. Each container gets its own `podman wait --condition=<cond> <container>`
call with independent retry loops, enabling healthcheck support on podman >= 4.6.0.
- `tests/unit/test_depends_on.py` - 8 new async unit tests covering:
  - Empty deps - early return, no waits
  - Single condition, two containers - two individual `podman wait` calls
  - Two conditions, one container each - correct `--condition` per call
  - `CalledProcessError` on first call - retry, eventually succeeds
  - HEALTHY dep on podman 4.5.0 - skipped (no wait calls)
  - UNHEALTHY dep on podman 4.5.0 - skipped (mirror)
  - HEALTHY on podman 4.6.0 - waits normally
  - `podman_version=None` - healthcheck proceeds (short-circuit edge case)
  - `newsfragments/check_dep_conditions_asyncio_gather.change` - changelog fragment

Signed-off-by: allen-munsch <james.a.munsch@gmail.com>
@p12tic p12tic force-pushed the ux/per-container-wait branch from 195835b to 4378250 Compare June 22, 2026 20:54
@p12tic

p12tic commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator

Rebased to see if flaky test resolves itself.

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.

2 participants