Skip to content

test: migrate network-crud e2e from infra#236

Draft
ecv wants to merge 1 commit into
mainfrom
test/migrate-network-crud-from-infra
Draft

test: migrate network-crud e2e from infra#236
ecv wants to merge 1 commit into
mainfrom
test/migrate-network-crud-from-infra

Conversation

@ecv

@ecv ecv commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

What

Migrates the network-crud Chainsaw test out of the datum/infra live-env suite into NSO's local kind harness at test/e2e/network-crud/.

The test creates a Network (networking.datumapis.com/v1alpha, ipam.mode: Auto), asserts it reaches Ready (2m timeout), then deletes it.

Why

Per datum-cloud/infra#3006, infra is consolidating its live-env Chainsaw suite into a single "construct" group and evacuating single-service API-contract tests to their owning repos, run against the local kind harness pre-merge. This test validates a networking.datumapis.com contract owned by NSO, so it belongs here. Related: datum-cloud/infra#3005.

Adaptations from the infra source

  • Removed the datumctl auth update-kubeconfig setup step and the clusters:/cluster: project blocks pointing at ./test-kubeconfig. Now targets spec.cluster: nso-standard, matching sibling tests (networkbinding/ready-when-context-is-ready).
  • Removed spec.skip: true (the live blockers in infra #2733 do not apply to the local operator).
  • Kept the Network body, the Ready assertion, timeouts, and the delete step intact.

Status

WIP / draft. chainsaw lint passes. Not verified against a running kind harness.

Known-uncertain

  • Does the local kind harness reconcile a bare Network to Ready? The sibling networkbinding test deliberately does NOT assert a Network alone is Ready — it only reaches Ready after a NetworkContext is driven Ready by a plugin (which that test patches by hand). If the local operator never moves a standalone Network to Ready, the 2m assertion here will time out. This is the same failure mode that motivated skip: true in infra (#2733). May need either a NetworkContext Ready-patch step (as networkbinding does) or a relaxed assertion.
  • Namespace: uses default (as the infra source and the networkbinding sibling do) rather than chainsaw's ephemeral $namespace.

Migrate the Network CRUD API-contract test out of datum/infra's live-env
Chainsaw suite into NSO's local kind harness, per datum-cloud/infra#3006.
This test validates a networking.datumapis.com contract owned by NSO, so
it belongs in this repo and runs against the local operator pre-merge.

Key changes:
- Drop the datumctl auth update-kubeconfig setup step and the
  clusters/cluster: project blocks that targeted ./test-kubeconfig; the
  test now runs on spec.cluster: nso-standard like the sibling tests.
- Remove spec.skip: true; the live blockers in #2733 don't apply to the
  local operator.
- Keep the Network resource body, the Ready assertion (2m timeout), and
  the delete step intact.
@ecv

ecv commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

⚠️ Action required before this leaves draft

The 2m Ready assertion may time out locally. The sibling networkbinding test
deliberately does NOT assert a bare Network reaching Ready — it needs a NetworkContext
plugin patch first. Verify against a running nso-standard kind cluster whether a bare
Network (ipam Auto) reconciles to Ready in this harness; if not, add the required
NetworkContext setup (mirror networkbinding) or adjust the assertion.

Not run end-to-end yet (only chainsaw lint). Tracks datum-cloud/infra#3006.

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