diff --git a/Dockerfile b/Dockerfile index 3ef1be91..4066d26e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -51,7 +51,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \ ############################################################################### # Stage 2: Copy build assets to create the smallest final runtime image ############################################################################### -FROM registry.access.redhat.com/ubi8/ubi-minimal:8.9 AS runtime +FROM registry.access.redhat.com/ubi8/ubi-minimal:latest AS runtime ARG USER=2000 ARG IMAGE_VERSION diff --git a/Dockerfile.develop b/Dockerfile.develop index a8d6d1e0..b336b3dd 100644 --- a/Dockerfile.develop +++ b/Dockerfile.develop @@ -23,7 +23,8 @@ ############################################################################### # TODO: replace the "go_toolset" build stage once ubi8/go-toolset:1.21 is available -FROM registry.access.redhat.com/ubi8/ubi-minimal:8.9 as go-toolset +# the go-toolset 1.21 is based on ubi9, we need to update it in the base image as well. +FROM registry.access.redhat.com/ubi8/ubi-minimal:latest as go-toolset # https://docs.docker.com/engine/reference/builder/#automatic-platform-args-in-the-global-scope # We need TARGETOS and TARGETARCH (not BUILDOS and BUILDARCH) since the developer diff --git a/controllers/modelmesh/runtime.go b/controllers/modelmesh/runtime.go index 2ea42dd1..e7932baa 100644 --- a/controllers/modelmesh/runtime.go +++ b/controllers/modelmesh/runtime.go @@ -341,9 +341,7 @@ func addDomainSocketMount(rts *kserveapi.ServingRuntimeSpec, c *corev1.Container func (m *Deployment) addPassThroughPodFieldsToDeployment(deployment *appsv1.Deployment) error { rts := m.SRSpec // these fields map directly to pod spec fields - // supported architectures are "amd64" and "arm64", "ppc64le" - // and "s390x" are not supported by tensorflow - // (https://github.com/kserve/modelmesh-runtime-adapter/pull/38#discussion_r1156749259) + // supported architectures are "amd64", "arm64" and "s390x" deployment.Spec.Template.Spec.NodeSelector = rts.NodeSelector deployment.Spec.Template.Spec.Tolerations = rts.Tolerations archNodeSelector := corev1.NodeSelectorTerm{ @@ -351,7 +349,7 @@ func (m *Deployment) addPassThroughPodFieldsToDeployment(deployment *appsv1.Depl { Key: "kubernetes.io/arch", Operator: corev1.NodeSelectorOpIn, - Values: []string{"amd64", "arm64"}, + Values: []string{"amd64", "arm64", "s390x"}, }, }, } diff --git a/controllers/testdata/servingruntime_controller.golden b/controllers/testdata/servingruntime_controller.golden index d2e1e2e1..fcef4966 100644 --- a/controllers/testdata/servingruntime_controller.golden +++ b/controllers/testdata/servingruntime_controller.golden @@ -38,6 +38,7 @@ spec: values: - amd64 - arm64 + - s390x containers: - command: - /opt/app/mlserver-adapter @@ -292,6 +293,7 @@ spec: values: - amd64 - arm64 + - s390x containers: - command: - /opt/app/mlserver-adapter @@ -542,6 +544,7 @@ spec: values: - amd64 - arm64 + - s390x containers: - env: - name: REST_PROXY_LISTEN_PORT @@ -814,6 +817,7 @@ spec: values: - amd64 - arm64 + - s390x containers: - command: - /opt/app/mlserver-adapter @@ -1061,6 +1065,7 @@ spec: values: - amd64 - arm64 + - s390x containers: - command: - /opt/app/ovms-adapter @@ -1300,6 +1305,7 @@ spec: values: - amd64 - arm64 + - s390x containers: - command: - /opt/app/torchserve-adapter @@ -1542,6 +1548,7 @@ spec: values: - amd64 - arm64 + - s390x containers: - command: - /opt/app/triton-adapter @@ -1799,6 +1806,7 @@ spec: values: - amd64 - arm64 + - s390x containers: - env: - name: MODEL_DIRECTORY_PATH