NVIDIA / NVIDIA/OpenShell

test(e2e): restore musl DNS probe coverage for guest prebuilt artifacts

Open
#3,009 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

state:stale
Dominant language
Rust
Stars
8.7k
Forks
1.3k
Avg merge
2d 11h
Merged PRs (30d)
253

Description

Description

The rootless Podman guest prebuilt-artifact E2E mode currently skips the musl DNS probe case in transparent_tcp because the test builds e2e/support/musl-dns-probe.c at runtime, but e2e/run.sh --tests-in-vm copies only compiled Rust test artifacts into the VM.

Context

PR #3004 moves the rootless Podman E2E tests into the Nix-managed Ubuntu 26.04 guest so dynamic fixtures and sandboxes share the same VM network context. That exposed a host-source assumption in tests/transparent_tcp.rs: rootless_podman_musl_getaddrinfo_uses_udp_policy_dns locates ../support/musl-dns-probe.c through CARGO_MANIFEST_DIR and invokes mise x -- zig cc at test runtime.

In guest prebuilt-artifact mode, the source tree and mise toolchain are intentionally not present in the VM. Embedding the C source in the Rust test would make the test pass, but that keeps runtime compilation inside the test and is not the preferred shape for this lane.

Definition of Done

  • The musl DNS probe is built or packaged as an explicit E2E artifact before the guest test run.
  • e2e/run.sh --tests-in-vm copies the probe artifact into the Nix guest when transparent_tcp is selected.
  • transparent_tcp uses the supplied probe artifact in guest prebuilt-artifact mode instead of compiling C source at runtime.
  • rootless_podman_musl_getaddrinfo_uses_udp_policy_dns is re-enabled for guest prebuilt-artifact runs.
  • The full Ubuntu 26.04 rootless Podman e2e_podman lane passes with the restored probe coverage.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with e2e/run.sh --tests-in-vm, tests/transparent_tcp.rs, and e2e/support/musl-dns-probe.c to trace how the probe is built, copied, and selected. Run the guest prebuilt-artifact path with transparent_tcp, then verify that rootless_podman_musl_getaddrinfo_uses_udp_policy_dns is enabled and the full Ubuntu 26.04 rootless Podman e2e_podman lane passes.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, rust, shell, zig
Domain
build-system, devops, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.