Tolerate reserved ARM TestKube nodes - #141
Closed
jarrad wants to merge 1 commit into
Closed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
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/testkubegolangci-lint run ./v1/providers/testkube/...make fmt-checkRepository-wide
golangci-lint run ./...still reports the pre-existinginternal/errorspackage-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.