models-web-app
models-web-app copied to clipboard
kubeflow models web app does not display models when getting inference services
The kubeflow models web app (v0.6.0) does not display models although it gets a 200 response for /models/api/namespaces/namespace/inferenceservices
{
"inferenceServices":[
{
"apiVersion":"serving.kubeflow.org/v1beta1",
"kind":"InferenceService",
"metadata":{
"annotations":{
"autoscaling.knative.dev/maxScale":"5",
"autoscaling.knative.dev/minScale":"1",
"kubectl.kubernetes.io/last-applied-configuration":"{""apiVersion"":"serving.kubeflow.org/v1beta1",""kind"":""InferenceService"",""metadata"":{""annotations"":{""autoscaling.knative.dev/maxScale"":"5",""autoscaling.knative.dev/minScale"":"1"},""labels"":{""app"":""iris-amy"",""app.kubernetes.io/instance"":""iris-amy"","controller-tools.k8s.io":"1.0",""env"":"mlk8s-dev",""sidecar.istio.io/inject"":"false",""version"":"0.0.20"},""name"":""iris-amy"",""namespace"":""abachir""},""spec"":{""predictor"":{""containers"":[{""env"":[{""name"":""PATH_TO_MODEL"",""value"":""/mnt/models/iris/models/2021-05-05T18":"47":18.359991/"},{""name"":""STORAGE_URI"",""value"":""pvc":"},{""name"":""MODEL_VERSION"",""value"":"0.0.20"}],""image"":""iris-kfserving":0.0.20",""name"":""kfserving-container"",""resources"":{""limits"":{""cpu"":"1",""memory"":"6Gi"},""requests"":{""cpu"":"250m",""memory"":"4Gi"}}}]}}} "
},
"creationTimestamp":"2021-10-12T16:37:54Z",
"finalizers":[
"inferenceservice.finalizers"
],
"generation":1,
"labels":{
"app":"iris-amy",
"app.kubernetes.io/instance":"iris-amy",
"controller-tools.k8s.io":"1.0",
"env":"mlk8s-dev",
"sidecar.istio.io/inject":"false",
"version":"0.0.20"
},
"managedFields":[
{
"apiVersion":"serving.kubeflow.org/v1beta1",
"fieldsType":"FieldsV1",
"fieldsV1":{
"f":"metadata":{
"f":"annotations":{
".":{
},
"f":"autoscaling.knative.dev/maxScale":{
},
"f":"autoscaling.knative.dev/minScale":{
},
"f":"kubectl.kubernetes.io/last-applied-configuration":{
}
},
"f":"labels":{
".":{
},
"f":"app":{
},
"f":"app.kubernetes.io/instance":{
},
"f":"controller-tools.k8s.io":{
},
"f":"env":{
},
"f":"sidecar.istio.io/inject":{
},
"f":"version":{
}
}
},
"f":"spec":{
".":{
},
"f":"predictor":{
}
}
},
"manager":"kubectl-client-side-apply",
"operation":"Update",
"time":"2021-10-12T16:37:51Z"
},
{
"apiVersion":"serving.kubeflow.org/v1beta1",
"fieldsType":"FieldsV1",
"fieldsV1":{
"f":"metadata":{
"f":"finalizers":{
}
},
"f":"spec":{
"f":"predictor":{
"f":"containers":{
}
}
},
"f":"status":{
".":{
},
"f":"address":{
".":{
},
"f":"url":{
}
},
"f":"components":{
".":{
},
"f":"predictor":{
".":{
},
"f":"address":{
".":{
},
"f":"url":{
}
},
"f":"latestCreatedRevision":{
},
"f":"latestReadyRevision":{
},
"f":"latestRolledoutRevision":{
},
"f":"traffic":{
},
"f":"url":{
}
}
},
"f":"conditions":{
},
"f":"url":{
}
}
},
"manager":"manager",
"operation":"Update",
"time":"2021-10-12T16:44:05Z"
}
],
"name":"iris-amy",
"namespace":"abachir",
"resourceVersion":"214018744",
"selfLink":"/apis/serving.kubeflow.org/v1beta1/namespaces/abachir/inferenceservices/iris-amy",
"uid":"895716f9-e750-47e6-8238-79ed031af219"
},
"spec":{
"predictor":{
"containers":[
{
"env":[
{
"name":"PATH_TO_MODEL",
"value":"/mnt/models/iris/models/2021-05-05T18:47:18.359991/"
},
{
"name":"STORAGE_URI",
"value":"pvc://amy-pvc"
},
{
"name":"MODEL_VERSION",
"value":"0.0.20"
}
],
"image":"iris-kfserving:0.0.20",
"name":"kfserving-container",
"resources":{
"limits":{
"cpu":"1",
"memory":"6Gi"
},
"requests":{
"cpu":"250m",
"memory":"4Gi"
}
}
}
]
}
},
"status":{
"address":{
"url":"http://iris-amy.abachir.svc.cluster.local/v1/models/iris-amy:predict"
},
"components":{
"predictor":{
"address":{
"url":"http://iris-amy-predictor-default.abachir.svc.cluster.local"
},
"latestCreatedRevision":"iris-amy-predictor-default-00001",
"latestReadyRevision":"iris-amy-predictor-default-00001",
"latestRolledoutRevision":"iris-amy-predictor-default-00001",
"traffic":[
{
"latestRevision":true,
"percent":100,
"revisionName":"iris-amy-predictor-default-00001"
}
],
"url":"http://iris-amy-predictor-default.abachir.serving.mlk8s.io"
}
},
"conditions":[
{
"lastTransitionTime":"2021-10-12T16:44:40Z",
"status":"True",
"type":"IngressReady"
},
{
"lastTransitionTime":"2021-10-12T16:44:05Z",
"severity":"Info",
"status":"True",
"type":"PredictorConfigurationReady"
},
{
"lastTransitionTime":"2021-10-12T16:44:40Z",
"status":"True",
"type":"PredictorReady"
},
{
"lastTransitionTime":"2021-10-12T16:44:40Z",
"severity":"Info",
"status":"True",
"type":"PredictorRouteReady"
},
{
"lastTransitionTime":"2021-10-12T16:44:40Z",
"status":"True",
"type":"Ready"
}
],
"url":"http://iris-amy.abachir.serving.mlk8s.io"
}
}
],
"status":200,
"success":true,
"user":"[email protected]"
}
The models web app displays a 502[undefined] error few seconds after loading but there are no errors in the pod log and the infereneservices
endpoint returns 200 as mentioned above:

I inspected the frontend with the developer tool and found this error:
main-es2015.397fc6f1309ed2bc2341.js:2 ERROR TypeError: Cannot read properties of null (reading 'runtimeVersion')
I think this is the same issue as https://github.com/kserve/models-web-app/issues/1
@amybachir
That looks like the same issue as you said. It occurs when you have a custom predictor
It should be fixed when this PR is merged https://github.com/kserve/models-web-app/pull/7