This notebook contains an overview of how to perform the patch when upgrading from Seldon Core 1.1 into 1.2.
Note that this is ONLY required if you are performing a rolling upgrade. If you can delete the previous version and install Seldon Core 1.2 you will not need to perform any patching.
This issue will be fixed in version 1.2.1, so it is recommended to upgrade to this version instead.
In this notebook we will:
Install Seldon Core version 1.1
Deploy 3 models with varying complexities and specifications
Check seldon controller manager is running correctly
Check no errors in logs
Deploy 3 models
First model is simple sklearn model in default namespace
Second model is the same sklaern model but in the seldon-system namespace
Third model is the iris custom model with a mounted volume from a secret
First we create the secret
Then we deploy the model
Now we wait until they are deployed
Perform upgrade to 1.2
Observe error
Run Patch
The error is due a rename on the volumeMounts. We have created the script below which goes through all the seldon deploymetns across all namespaces to rename the volumeMount from podinfo to "seldon-podinfo".
It is recommended to understand this script fully if this is to be run in prodution as it would clash if any existing volume is actually named "podinfo".
Run script
Confirm issues are resolved
We can now check first that all of the containers are running
And we confirm that there are no longer any errors in the controller manager logs related to the volumeMount
Release "seldon-core" does not exist. Installing it now.
NAME: seldon-core
LAST DEPLOYED: Sat Jun 27 10:52:41 2020
NAMESPACE: seldon-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
!kubectl get pods -n seldon-system | grep seldon-controller
seldondeployment.machinelearning.seldon.io/seldon-deployment-example created
!kubectl get sdep --all-namespaces
NAMESPACE NAME AGE
default seldon-deployment-example 39s
default sklearn 60s
seldon-system sklearn 55s
!kubectl get pods -n default && kubectl get pods -n seldon-system
NAME READY STATUS RESTARTS AGE
seldon-92a927e5e90d7602e08ba9b9304f70e8-8544bc96d-qkm6x 2/2 Running 0 73s
sklearn-default-0-classifier-777f84985b-9tj5r 2/2 Running 0 94s
NAME READY STATUS RESTARTS AGE
seldon-controller-manager-6978f54b99-xvgvd 1/1 Running 0 6m57s
sklearn-default-0-classifier-748c59789b-2lnvh 2/2 Running 0 89s
Namespace seldon-system already exists
Release "seldon-core" has been upgraded. Happy Helming!
NAME: seldon-core
LAST DEPLOYED: Sat Jun 27 11:03:18 2020
NAMESPACE: seldon-system
STATUS: deployed
REVISION: 2
TEST SUITE: None
Error from server (AlreadyExists): namespaces "seldon-system" already exists
!kubectl get pods -n default && kubectl get pods -n seldon-system
NAME READY STATUS RESTARTS AGE
seldon-92a927e5e90d7602e08ba9b9304f70e8-6797cc86f7-cv7f9 2/2 Running 0 69s
sklearn-default-0-classifier-66cf95c445-s6t4x 2/2 Running 0 68s
NAME READY STATUS RESTARTS AGE
seldon-controller-manager-7589ff7596-4zqbv 1/1 Running 0 5m2s
sklearn-default-0-classifier-c86f87c85-xjxf6 2/2 Running 0 68s