Skip to content

test(e2e): cover ScaleToZero API + pending datapath spec - #32

Merged
syscod3 merged 1 commit into
mainfrom
test/e2e-scaletozero
Jul 8, 2026
Merged

test(e2e): cover ScaleToZero API + pending datapath spec#32
syscod3 merged 1 commit into
mainfrom
test/e2e-scaletozero

Conversation

@syscod3

@syscod3 syscod3 commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Adds e2e coverage for the Phase 3 ScaleToZero API surface, which had none.

Runs now (Kind smoke, agent-off — control-plane only):

  • Rejects a ScaleToZero ImpVM whose idleTimeout is below the 10s webhook floor.
  • Admits a valid ScaleToZero ImpVM and surfaces the experimental admission warning (kubectl prints it to stderr; utils.Run captures it via CombinedOutput).

Dropped a defaulting assertion: idleTimeout has no +kubebuilder:default, so 5m is a runtime-only fallback (idleTimeoutOrDefault) and is never persisted into the stored object.

Pending (PIt, label datapath — runs nowhere yet):

  • Wake-on-traffic round-trip (suspend → frame → resume). This is the one thing host unit + envtest can't cover: that the AF_PACKET hook sees the first frame to a TAP-less suspended VM on the overlay. It needs a KVM node + real Firecracker agent, and BeforeSuite must conditionally enable the agent (it's pinned to no-agent=true today). The traffic-injection source is an open question for first run. The forthcoming e2e runner runbook carries that harness work — this spec is the placeholder it fills in.

Add smoke e2e for the Phase 3 ScaleToZero API surface (installed via the
chart CRDs, enforced by the validating webhook), which had no e2e
coverage: reject an idleTimeout below the 10s floor, and admit a
ScaleToZero ImpVM with the experimental admission warning. Control-plane
only, so they run in the agent-off Kind smoke harness.

Add a deliberately Pending (PIt) datapath spec documenting the
wake-on-traffic flow (suspend -> frame -> resume). It cannot run until a
KVM node + real Firecracker agent exist and BeforeSuite conditionally
enables the agent; the traffic-injection source is an open question for
first run. The runbook carries that harness work — this spec is the
placeholder it will fill in.
@syscod3
syscod3 merged commit e474884 into main Jul 8, 2026
17 checks passed
@syscod3
syscod3 deleted the test/e2e-scaletozero branch July 8, 2026 22:27
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