Skip to content

fix(compute): edge cells start cleanly by defaulting networking integration off (#114)#177

Draft
scotwells wants to merge 1 commit into
mainfrom
fix/114-edge-networking-watch
Draft

fix(compute): edge cells start cleanly by defaulting networking integration off (#114)#177
scotwells wants to merge 1 commit into
mainfrom
fix/114-edge-networking-watch

Conversation

@scotwells

@scotwells scotwells commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

The compute-manager deployed to edge cells from the shipped cell overlay crash-loops at startup: it watches networking CRDs (Subnet, SubnetClaim, NetworkBinding) that exist only on control planes, so its cache never syncs and edge compute goes offline. This PR makes the shipped artifact start cleanly by default — networking integration becomes opt-in (--feature-gates=NetworkingIntegration=true) for deployments running network-services-operator. It also fixes the same latent startup crash in the single-cluster quickstart path.

Fixes #114. #172 already fixed the quota-watch half; this completes the issue.

A default flip rather than an overlay patch because no deployment relies on the old default — production edge cells already set the gate false via infra's Flux patch, so production behavior is unchanged.

Changes

  • Flip the NetworkingIntegration feature-gate default to off, and update the flag help accordingly.
  • Invert the default-gate test so the crash-prone default can't silently return.
  • Add a cell-mode envtest that boots the reconciler against a compute-only API server and reproduces the crash when the guard is bypassed.

Build, vet, and the full test suite are green.

Follow-ups (separate PRs)

  • Pre-flight CRD check for a legible fail-fast instead of a cache-sync timeout.
  • Gate the unconditional Network watch in management mode (same bug class).
  • Drop the now-redundant gate line from infra's edge manager-patch.

🤖 Generated with Claude Code

…ger crash-loop (#114)

Edge cells run without the VPC/network-services-operator control plane and carry no networking.datumapis.com CRDs. With the NetworkingIntegration gate defaulting on, the WorkloadDeployment reconciler registered watches for absent kinds (NetworkBinding, Subnet, SubnetClaim), wedging cache sync and crash-looping the manager. Defaulting the gate off makes the shipped cell artifact come up healthy with no operator flags; deployments running network-services-operator opt in with --feature-gates=NetworkingIntegration=true. This complements #172, which made the quota ResourceClaim watch safe by default.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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