Problem
When the KnativeServing CR is deleted, the operator deletes all the resources in its manifests, including all the *.knative.dev CRD's it originally installed. As long as no instances of the CRD's exist, that's fine. But if they do exist, they will be deleted right along with their associated CRD's; a resource can't exist without its type.
This certainly violates "the principle of least surprise". If the KS is deleted, thereby triggering the removal of knative-serving, I don't think it'll surprise anyone that their *.knative.dev resources will be broken. But I doubt they'd expect them all to be completely obliterated. I think they would expect their ksvcs to work when knative-serving is reinstalled.
Problem When the
KnativeServing
CR is deleted, the operator deletes all the resources in its manifests, including all the*.knative.dev
CRD's it originally installed. As long as no instances of the CRD's exist, that's fine. But if they do exist, they will be deleted right along with their associated CRD's; a resource can't exist without its type.This certainly violates "the principle of least surprise". If the KS is deleted, thereby triggering the removal of knative-serving, I don't think it'll surprise anyone that their
*.knative.dev
resources will be broken. But I doubt they'd expect them all to be completely obliterated. I think they would expect theirksvcs
to work when knative-serving is reinstalled.Persona: Any user creating Knative Services
Exit Criteria Their Knative Services aren't removed when knative-serving is uninstalled.
Time Estimate (optional): <1 day