-
Notifications
You must be signed in to change notification settings - Fork 135
Delete script removes shared CRDs with KServe causing breakage of existing KServe installation #541
Description
Describe the bug
The ModelMesh Serving uninstallation script (./scripts/delete.sh) removes CRDs that are shared with KServe, causing an existing KServe installation to break. Specifically, after running the delete script for ModelMesh Serving, KServe can no longer create InferenceService resources even though the two components were installed in different namespaces.
To Reproduce
Steps to reproduce the behavior:
- Have a Kubernetes cluster with KServe v0.15.0 installed and working properly (e.g., in the "kserve" namespace)
- Install ModelMesh Serving in another namespace:
kubectl create namespace modelmesh-serving
./scripts/install.sh --namespace modelmesh-serving --quickstart- Verify both are working correctly
- Uninstall ModelMesh Serving:
./scripts/delete.sh --namespace modelmesh-serving- Try to create an InferenceService with KServe
kubectl apply -f infer-roberta.yml -n kserve
Expected behavior
The uninstallation of ModelMesh Serving should not affect KServe functionality. After running the delete script, it should still be possible to create InferenceService resources through KServe.
Screenshots
N/A
Environment (please complete the following information):
- KServe version:
v0.15.0 - ModelMesh Serving: latest from main branch
- Kubernetes:
v1.30 - Cert-manager installed in the cluster
Additional context
After uninstalling ModelMesh Serving, KServe produces this error when trying to create InferenceServices:
error: resource mapping not found for name: "roberta" namespace: "kserve" from "infer-roberta.yml": no matches for kind "InferenceService" in version "serving.kserve.io/v1beta1"
ensure CRDs are installed first
The only solution is to completely reinstall KServe. The delete script should check if the CRDs it's about to remove are being used by other KServe installations or provide an option to preserve shared CRDs.