-
Notifications
You must be signed in to change notification settings - Fork 834
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
Helm Upgrade Process #890
Comments
I just did a helm upgrade from 0.4.2-SNAPSHOT to 0.5.0-SNAPSHOT. The CRD did momentarily disappear so my watch of |
I just tried this again. This time I did an install of 0.4.1 with:
I then tried to upgrade to master by running the following from the
Unfortunately I then deleted the helm release and installed it again and even then when I submitted a SeldonDeployment I got this error:
Seems to be related to the webhook changing its name. The helm upgrade doesn't seem to handle that and nor did I am not sure how to avoid these issues in future except to always install the already-released version and attempt an upgrade to master. |
The best I've been able to do is the below but it does result in a window of downtime.
Not exactly clear why I have to remove CRD but in master it does look quite different from in 0.4.1. Could maybe be the addition of the labels. |
Here are some notes from our meeting discussing different types of "upgrades" that can be supported, subject to re-scoping as we decide which one would be more feasible to start with, as it may actually be a more iterative approach: Different types of "handling versions" of Seldon Core across clusters:
Disjoin to this, it is the ability to do rolling upgrades of each single operator and backwards compatibility for all the deployed models. Action points:
As a heads up, it was pointed out by @cliveseldon that you cannot have multiple versions of CRDs, but you can have a backwards compatible CRD. He pointed to the kubebuilder book to an example of how this can be achieved with a central CRD that interfaces with different versions of CRDs. |
@ryandawsonuk I just found out that the seldon-core/helm-charts/seldon-core-operator/templates/crd.yaml Lines 3213 to 3218 in e7585bb
This version got them removed in Lines 3727 to 3729 in 9457313
The error during the upgrade to |
Yes, that was a mistake the v1alpha3 got into a release. I'm not sure if we want to add this back in now that we have removed it in 0.5.x ? |
@cliveseldon it seems to break the upgrade path from I'm gonna run a couple tests first to see if that actually solves the issue @ryandawsonuk described above. |
As an update on this, it seems that apiVersion: machinelearning.seldon.io/v1alpha3
kind: SeldonDeployment
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"machinelearning.seldon.io/v1alpha2","kind":"SeldonDeployment","metadata":{"annotations":{},"name":"sklearn","namespace":"seldon"},"spec":{"name":"iris","predictors":[{"graph":{"children":[],"implementation":"SKLEARN_SERVER","modelUri":"gs://seldon-models/sklearn/iris","name":"classifier"},"name":"default","replicas":1,"svcOrchSpec":{"env":[{"name":"SELDON_LOG_LEVEL","value":"DEBUG"}]}}]}}
creationTimestamp: "2019-11-26T17:34:19Z"
generation: 1
name: sklearn
namespace: seldon
resourceVersion: "2051"
selfLink: /apis/machinelearning.seldon.io/v1alpha3/namespaces/seldon/seldondeployments/sklearn
uid: 571caa4e-8e64-4d98-8559-363038cd1eee
... |
It seems that Kubernetes always tries to operate with the most recent version according to their naming convention. Therefore, by default, it will try to use This is at least what I get from Based on this, I think that the cleanest solution to ensure a safe upgrade path is to keep the What are your thoughts on this @ryandawsonuk @cliveseldon? PS: I can confirm that adding |
Check upgrades between versions have a documented process and has tests.
The text was updated successfully, but these errors were encountered: