Open strangiato opened 2 years ago
Hi @strangiato,
Thanks for bringing this to our attention. Is the namespace installation something you are actively looking to use?
Hi Rafal, yes this is the default deployment strategy when Seldon is deployed from OpenDataHub on OpenShift.
Interesting. Is it possible to deploy on OpenDataHub using All namespaces on the cluster
option for the meantime?
The ODH operator itself is generally deployed as a cluster scoped operator, but when a user chooses to deploy Seldon it would deploy it as a namespace scoped operator in that specific users namespace.
For the sake of documentation I create a corresponding Issue for the ODH project here:
So users of the ODH cannot install Seldon Operator cluster wide then. Could for the meantime be that administrators of the cluster could install both ODH + Seldon Operator (avail. in all namespace) and then users of ODH could just create SeldonDeployments?
Yeah, that was the work around that I ended up implementing as an immediate resolution of the issue for my specific use case.
@strangiato Is this still an issue for you or is workaround ok?
The work around is fine for now but I would still consider this a bug and potential security vulnerability for anyone installing in a namespaced mode.
We are seeing this on Seldon Core Operator 1.16.0 on GKE 1.24 and 1.25 in namespaced scope. Exactly as originally stated,
If the first version of the operator is uninstalled, any SeldonDeployment objects created in the second namespace where the original operator is installed will fail with a webhook error pointing to the non-existent service in the original namespace.
Describe the bug
When installing Seldon as a namespaced operator in multiple namespaces the SeldonDeployment objects deployed in the second namespace will be managed and deployed by the operator pod running in the first namespace. If the first version of the operator is uninstalled, any SeldonDeployment objects created in the second namespace where the original operator is installed will fail with a webhook error pointing to the non-existent service in the original namespace.
To reproduce
oc new-project seldon-test-1
oc new-project seldon-test-2
or create the following yaml objects:
seldon-test-1
:oc logs $(oc get pod -l control-plane=seldon-controller-manager -o name -n seldon-test-1) --follow -n seldon-test-1
Expected behaviour
The SeldonDeployment created in
seldon-test-2
should be managed by the operator deployed inseldon-test-2
and should not be managed by the version of the operator deployed inseldon-test-1
. The logs in the operator deployed inseldon-test-1
will show that it is deploying the new resource and the operator inseldon-test-2
does not indicate any activity.Environment
Cloud Provider: [e.g. GKE, AWS, Bare Metal, Kind, Minikube] OpenShift 4.8
Kubernetes Cluster Version [Output of
kubectl version
]Deployed Seldon System Images: [Output of
kubectl get --namespace seldon-system deploy seldon-controller-manager -o yaml | grep seldonio
]Model Details
Using the default example model