Skip to content

Tolerate reserved ARM TestKube nodes - #141

Closed
jarrad wants to merge 1 commit into
mainfrom
codex/testkube-arm-node-isolation
Closed

Tolerate reserved ARM TestKube nodes#141
jarrad wants to merge 1 commit into
mainfrom
codex/testkube-arm-node-isolation

Conversation

@jarrad

@jarrad jarrad commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

What changed

  • add the dedicated ARM TestKube compute-layer toleration to ARM instance type specs
  • copy instance-type tolerations into generated Kubernetes pods
  • extend scheduling tests to verify ARM receives the toleration and x86 remains unchanged

Why

The staging ARM node group was selectable by architecture but was not reserved from general control-plane workloads. An amd64-only dev-plane worker consequently landed on the ARM node and failed with an exec format error.

The infrastructure fix reserves that node group with testkube.brev.dev/compute-layer=true:NoSchedule. This change is the matching workload side of that scheduling contract.

Impact

ARM TestKube pods can continue scheduling on the dedicated ARM workers after the taint is introduced. x86 TestKube pods and general workloads do not receive the toleration.

Validation

  • go test -short ./...
  • go vet ./...
  • go test ./v1/providers/testkube
  • golangci-lint run ./v1/providers/testkube/...
  • make fmt-check

Repository-wide golangci-lint run ./... still reports the pre-existing internal/errors package-name warning; the affected package is clean.

Rollout dependency

Merge and release this change first, then update and deploy dev-plane in staging before applying the infrastructure taint.

@jarrad jarrad closed this Aug 4, 2026
@jarrad
jarrad deleted the codex/testkube-arm-node-isolation branch August 4, 2026 19:12
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