kserve / models-web-app

KServe models web UI
Apache License 2.0
30 stars 39 forks source link

kubeflow models web app does not display models when getting inference services #13

Open amybachir opened 2 years ago

amybachir commented 2 years ago

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":"abachir@interos.ai"
}

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:

Screen Shot 2021-10-12 at 12 42 29 PM
amybachir commented 2 years ago

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

markwinter commented 2 years ago

@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