As per title, this will require staging env to be down for some time.
Description
Details
Related Objects
Event Timeline
Change #1253495 had a related patch set uploaded (by Dpogorzelski; author: Dpogorzelski):
[operations/docker-images/production-images@master] kserve: bump to upstream version 0.17
Change #1253495 abandoned by Dpogorzelski:
[operations/docker-images/production-images@master] kserve: bump to upstream version 0.17
Change #1253496 had a related patch set uploaded (by Dpogorzelski; author: Dpogorzelski):
[operations/docker-images/production-images@master] kserve: bump to upstream version 0.17
Change #1253496 abandoned by Dpogorzelski:
[operations/docker-images/production-images@master] kserve: bump to upstream version 0.17
Change #1253498 had a related patch set uploaded (by Dpogorzelski; author: Dpogorzelski):
[operations/docker-images/production-images@master] kserve: update to version 0.17
Change #1253498 abandoned by Dpogorzelski:
[operations/docker-images/production-images@master] kserve: update to version 0.17
Change #1253498 restored by Dpogorzelski:
[operations/docker-images/production-images@master] kserve: update to version 0.17
Change #1253498 merged by Dpogorzelski:
[operations/docker-images/production-images@master] kserve: update to version 0.17
Change #1260031 had a related patch set uploaded (by Dpogorzelski; author: Dpogorzelski):
[operations/docker-images/production-images@master] knative: update images to 1.21.1
Change #1260031 merged by Dpogorzelski:
[operations/docker-images/production-images@master] knative: update images to 1.21.1
Change #1260656 had a related patch set uploaded (by Dpogorzelski; author: Dpogorzelski):
[operations/docker-images/production-images@master] knative: update changelogs
Change #1260656 merged by Dpogorzelski:
[operations/docker-images/production-images@master] knative: update changelogs
Latest knative supported by kserve 0.17 seems to require a more recent kubernetes version:
{"severity":"EMERGENCY","timestamp":"2026-03-25T15:53:12.556721777Z","logger":"net-istio-controller","caller":"sharedmain/main.go:463","message":"Version check failed","commit":"1dc9b2d-dirty","knative.dev/pod":"net-istio-controller-6cc6d48947-v2t74","error":"kubernetes version \"1.31.4\" is not compatible, need at least \"1.33.0-0\" (this can be overridden with the env var \"KUBERNETES_MIN_VERSION\")","stacktrace":"knative.dev/pkg/injection/sharedmain.CheckK8sClientMinimumVersionOrDie\n\t/go/github.com/knative/net-istio/vendor/knative.dev/pkg/injection/sharedmain/main.go:463\nknative.dev/pkg/injection/sharedmain.MainWithConfig\n\t/go/github.com/knative/net-istio/vendor/knative.dev/pkg/injection/sharedmain/main.go:271\nknative.dev/pkg/injection/sharedmain.MainWithContext\n\t/go/github.com/knative/net-istio/vendor/knative.dev/pkg/injection/sharedmain/main.go:226\nmain.main\n\t/go/github.com/knative/net-istio/cmd/controller/main.go:31\nruntime.main\n\t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.24.0.linux-amd64/src/runtime/proc.go:283"}While forcing the run on an older k8s version might be possible I think I will stop here and keep the existing version of knative for now to unblock staging.
Currently it's hard to strike a balance between:
- enforced k8s version
- up to date external components
- requirements for internal customizations
@DPogorzelski-WMF my understanding from reading upstream's commits is that they bump the k8s version every now and then and they set it to the version that it was tested in their testing env:
https://github.com/knative-extensions/net-istio/commit/9af3f67f778c430e8b2f20a602a910c45f99c05c
It is probably very tough to keep up with their pace, and I doubt they are using anything that our current kube api can't support (new features etc..). I would personally try to force the KUBERNETES_MIN_VERSION for the net-istio plugin, they added it for this specific use case imho (namely folks with a slightly older kube environment).
I will skip that for now as it's getting more complex than i initially anticipated. all services on staging work in the current setup and i'll ship kserve first and then circle back to this part
Change #1261460 had a related patch set uploaded (by Dpogorzelski; author: Dpogorzelski):
[operations/deployment-charts@master] ml-serve: add modified kserve 0.17 chart
@DPogorzelski-WMF as you prefer, but the difference between istio/kserve and knative is not really huge and I would personally upgrade first rather than keeping the old version. Also remember to check the new version of the knative chart too.
Change #1261460 merged by jenkins-bot:
[operations/deployment-charts@master] ml-serve: add modified kserve 0.17 chart
@DPogorzelski-WMF there is another thing to test imho before proceeding with prod, namely https://github.com/kserve/kserve/pull/3316
We currently need to add the following bits to the kserve pods to allow the storage initializer to skip the istio's sidecar traffic policies when running:
traffic.sidecar.istio.io/excludeOutboundIPRanges: 10.2.2.54/32,10.2.1.54/32
The above are the hardcoded IPs of thanos-swift.discovery.wmnet. IIUC with the aforementioned patch we don't need them anymore, since the storage initializer's uid is automatically set. In theory, the change should just be removing:
custom_deploy.d/istio/ml-serve/config_1.24.2.yaml: excludeIPRanges: "10.2.2.54/32,10.2.1.54/32"
Then deploy it via istioctl and restart pods in the various namespaces to see if it works.
Change #1275354 had a related patch set uploaded (by Dpogorzelski; author: Dpogorzelski):
[operations/deployment-charts@master] ml-serve: remove excludeIPRanges from cni config
Change #1275354 merged by jenkins-bot:
[operations/deployment-charts@master] ml-serve: remove excludeIPRanges from cni config
everything in staging seems to be going fine and no issue has been reported. We have decided to move forward and roll these changes to production next week Monday 18/5
Staging versions:
kserve: 0.17
knative: v1.21.1
@DPogorzelski-WMF all these[1] changelog entries have wrongly formatted footers (maintainer name and email, see https://manpages.debian.org/testing/dpkg-dev/deb-changelog.5.en.html) which leads to multiple warnings from docker-pkg. Would you mind fixing please?
[1] https://gerrit.wikimedia.org/r/c/operations/docker-images/production-images/+/1260656
Change #1294268 had a related patch set uploaded (by Dpogorzelski; author: Dpogorzelski):
[operations/docker-images/production-images@master] fix: ml changelogs
Change #1294268 merged by Dpogorzelski:
[operations/docker-images/production-images@master] fix: ml changelogs