Skip to content

test: grow the integration scenario set#43

Merged
lesnik512 merged 4 commits into
mainfrom
test/grow-integration-scenarios
Jul 13, 2026
Merged

test: grow the integration scenario set#43
lesnik512 merged 4 commits into
mainfrom
test/grow-integration-scenarios

Conversation

@lesnik512

Copy link
Copy Markdown
Member

What

Grows the podman integration harness (from #41) with three more behavioral scenarios, per the design in planning/changes/2026-07-13.02-grow-integration-scenarios.md. No harness, conftest.py, pyproject.toml, or CI config changes -- each scenario is a new file reusing the existing run_pod fixture.

  • Pod-level dns/sysctls/extra_hosts -- the exact area that broke in test: CI-only podman integration harness #41 (podman rejecting --add-host on podman run for pod members). One service declares all three; its own command checks /etc/resolv.conf, /proc/sys/net/core/somaxconn, and /etc/hosts for the expected entries, proving all three land on podman pod create, not the container.
  • secrets/configs -- both compile to podman secret create under the hood. One service references a file-sourced secret and a content-sourced config, exercising both source kinds and both default mount paths (/run/secrets/<name> and /<name>).
  • Resource limits -- deliberately two-tier verification: deploy.resources.limits (memory/cpus/pids) is acceptance-only (if podman rejected any of these flags -- the add-host bug's failure class -- the script would fail to start), while ulimits is value-checked via the ulimit -n shell builtin (cgroup-independent, reliable on any runner). Verifying exact memory/pids values would require reading cgroup files and assume a specific cgroup hierarchy on the CI runner -- deferred as a documented risk trade-off.

Verification

just test-ci at 100% (363 passed, 6 deselected); just lint-ci and just check-planning clean. All three scenarios use busybox:1.36, already cached from the existing seed scenarios, so no new image-pull risk. Behavioral green is produced by the existing integration CI job.

…nario

The extra_hosts check compared against "hostname:ip" (podman's --add-host
FLAG syntax), but /etc/hosts itself is written "ip<whitespace>hostname" --
the check never could have matched. Confirmed via a CI diagnostic run that
dns/sysctls/extra_hosts all land on podman pod create correctly; only this
scenario's own assertion was wrong.
@lesnik512 lesnik512 force-pushed the test/grow-integration-scenarios branch from 9d6eff5 to 881c98b Compare July 13, 2026 08:42
@lesnik512 lesnik512 merged commit e846f2a into main Jul 13, 2026
7 checks passed
@lesnik512 lesnik512 deleted the test/grow-integration-scenarios branch July 13, 2026 08:46
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