-
Notifications
You must be signed in to change notification settings - Fork 149
feat: Make NVIDIA device plugin deployment optional via feature gate #1707
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Co-authored-by: andyzhangx <[email protected]>
…back Co-authored-by: andyzhangx <[email protected]>
TitleMake NVIDIA device plugin deployment optional via feature gate Description
Changes walkthrough 📝
|
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR addresses the issue where Kaito unconditionally deploys the NVIDIA device plugin DaemonSet, causing conflicts when clusters already have it installed via GPU Operator or other means. The solution introduces a feature gate to make the deployment optional while maintaining backward compatibility by defaulting to enabled.
Key Changes:
- Added
nvidiaDevicePlugin.enabledconfiguration flag (defaulting totruefor backward compatibility) - Wrapped the NVIDIA device plugin DaemonSet template with conditional rendering based on the flag
- Updated the Helm chart README with clear documentation about when to disable the feature
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| charts/kaito/workspace/values.yaml | Adds the nvidiaDevicePlugin.enabled flag with default value of true to maintain backward compatibility |
| charts/kaito/workspace/templates/nvidia-device-plugin-ds.yaml | Wraps the entire DaemonSet resource with a conditional check on the new flag |
| charts/kaito/workspace/README.md | Documents the new configuration option with usage guidance for users with existing device plugin installations |
The implementation is well-structured and follows existing patterns in the codebase. The conditional rendering syntax matches other feature gates in the repository, the configuration structure is consistent with other top-level settings in values.yaml, and the documentation clearly explains when users should disable this feature. No issues were identified during the review.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #1707 +/- ##
=======================================
Coverage 59.41% 59.41%
=======================================
Files 92 92
Lines 8697 8697
=======================================
Hits 5167 5167
Misses 3270 3270
Partials 260 260
🚀 New features to boost your workflow:
|
Kaito unconditionally deploys the NVIDIA device plugin DaemonSet, causing duplicate deployments when clusters already have it installed via GPU Operator or other means. This PR makes the deployment optional via a feature gate, allowing users to disable it when needed.
Changes
nvidiaDevicePlugin.enabledflag tovalues.yaml(default:true)Rationale
Defaulting to enabled ensures Kaito works out of the box for users without GPU Operator. Users with existing device plugin installations can explicitly disable it to prevent conflicts.
Usage
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.