feat: add runtimeRequiredCordonAfter to support persistent node cordons - #401
feat: add runtimeRequiredCordonAfter to support persistent node cordons#401natherz97 wants to merge 1 commit into
Conversation
|
Welcome to NodeWright, @natherz97! Thanks for your first pull request. Before review, please ensure:
A maintainer will review this soon. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Enterprise Run ID: 📒 Files selected for processing (16)
💤 Files with no reviewable changes (4)
📝 WalkthroughWalkthroughThe change adds Estimated code review effort: 3 (Moderate) | ~25 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 3 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (3 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/runtime_required.md`:
- Around line 62-63: Update the runtime-required taint-removal documentation
around the `runtimeRequiredCordonAfter` behavior to state that removing the
taint removes only that scheduling barrier. Clarify that the node becomes
schedulable only when no `nodewright.nvidia.com/cordon_*` owners remain, since
other NodeWright or external cordons may still keep it unschedulable.
In
`@k8s-tests/chainsaw/nodewright/runtime-required-cordon-after/chainsaw-test.yaml`:
- Around line 107-113: Extend the release-cordon phase after the kubectl patch
to wait for reconciliation, then add a final assertion verifying that node
kind-worker no longer has the runtimeRequiredCordon annotation and that
spec.unschedulable is false. Use the existing Chainsaw assertion conventions in
this test.
In `@operator/config/crd/bases/skyhook.nvidia.com_skyhooks.yaml`:
- Around line 630-638: Regenerate the legacy CRD schema so the
runtimeRequiredCordonAfter description matches the complete documentation in the
Skyhook API type, using the repository’s standard make manifests generate
command after the API change.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Enterprise
Run ID: 4968e5ff-4b5b-4194-a699-2d1caa66f381
📒 Files selected for processing (16)
docs/runtime_required.mdk8s-tests/chainsaw/nodewright/runtime-required-cordon-after/chainsaw-test.yamloperator/api/nodewright/v1alpha1/nodewright_types.gooperator/api/v1alpha1/nodewright_conversion.gooperator/api/v1alpha1/nodewright_conversion_test.gooperator/api/v1alpha1/skyhook_types.gooperator/config/crd/bases/nodewright.nvidia.com_deploymentpolicies.yamloperator/config/crd/bases/nodewright.nvidia.com_nodewrights.yamloperator/config/crd/bases/skyhook.nvidia.com_deploymentpolicies.yamloperator/config/crd/bases/skyhook.nvidia.com_skyhooks.yamloperator/config/rbac/role.yamloperator/config/webhook/manifests.yamloperator/internal/controller/skyhook_controller.gooperator/internal/controller/skyhook_controller_test.gooperator/internal/wrapper/node.gooperator/internal/wrapper/node_test.go
💤 Files with no reviewable changes (4)
- operator/config/crd/bases/skyhook.nvidia.com_deploymentpolicies.yaml
- operator/config/rbac/role.yaml
- operator/config/webhook/manifests.yaml
- operator/config/crd/bases/nodewright.nvidia.com_deploymentpolicies.yaml
315d32b to
231c020
Compare
|
@natherz97 I think maybe there is a release happening for the base image. I think you might just had bad luck. 4.0.1 does not yet exist. If we wait this should resolve itself, in the meantime i will talk to that team to see if we can fix this race condition in the base container publishing. |
Signed-off-by: Nathan Herz <nherz@nvidia.com>
231c020 to
9092944
Compare
Description
This PR adds a runtimeRequiredCordonAfter field to the NodeWright API to support persistent node cordons. This PR implements the behavior outlined in the following comment: #284 (comment).
Feature overview:
Closes #284
Checklist
git commit -s) per the DCO.