feat(operator): Add tolerations and nodeSelector to the FeatureStore CR - #6741
Conversation
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #6741 +/- ##
=======================================
Coverage 46.95% 46.95%
=======================================
Files 419 419
Lines 51839 51839
Branches 7515 7515
=======================================
Hits 24339 24339
Misses 25766 25766
Partials 1734 1734
Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
HaoXuAI
left a comment
There was a problem hiding this comment.
Please add Tolerations and NodeSelector to api/v1alpha1/featurestore_types.go, regenerate its deepcopy code and both CRD schemas, and add coverage for the served legacy version. v1alpha1 is still served by the CRD, so users submitting that API version currently cannot configure these fields. Similar cross-version CRD changes in this repository update both API packages.
15a5334 to
2d150da
Compare
|
@HaoXuAI thanks for the review, I've made the request change, please take another look when available; also failed test seems to be related to GitHub degredation, not the change:
|
2d150da to
0f4800d
Compare
|
@ShumzZzZz can you also please update the documentation specially https://docs.feast.dev/master/how-to-guides/feast-on-kubernetes/feast-operator |
Allow scheduling the operator-managed Deployment on tainted or specific nodes via spec.services.tolerations and spec.services.nodeSelector, alongside the existing affinity and topologySpreadConstraints fields. Signed-off-by: Shumin <shumin.zheng@outlook.com>
0f4800d to
6d92d3f
Compare
…eselector_to_featurestore_cr
|
@ntkathole thanks for the review and I have just updated the operator configuration guide |
What this PR does / why we need it
Adds optional pod-level scheduling knobs to the FeatureStore CR so users can place the operator-managed Deployment on specific nodes or on nodes with taints:
Both fields live on
spec.services, alongside the existingaffinityandtopologySpreadConstraints.tolerationsis applied directly to the pod spec.nodeSelectorbecomes the base selector, with the pre-existing per-servercontainerConfigs.nodeSelectoroverlaid on top (per-service wins on key conflicts), preserving the existing merge-with-mutating-webhook behavior.Regenerated artifacts: deepcopy, CRD bases,
dist/install.yaml, the API reference, and the OLM bundle.Which issue(s) this PR fixes
N/A
Checks
git commit -s)Testing Strategy
Testing: added unit coverage for top-level nodeSelector, per-service override precedence, and tolerations.
go build ./...,go vet ./..., and all non-e2e operator test packages pass.