hubble-ui
hubble-ui copied to clipboard
hubble-ui: should display a meaningful error if it's not able to retrieve flows from hubble
We have been seeing several users report "flows not showing up" in hubble-ui. There could be different issues why flows not showing up:
- no flows in the selected namespace
- namespace doesn't exist anymore
- there are flows, but they don't have labels
- there are only flows to kube-dns, and they are filtered out by default (though user can toggle the filter)
- there are no flows in cluster at all (not in any namespace)
- could not connect to hubble-relay
- connected to hubble-relay, but there were errors retrieving flows from hubble-relay
- connection issues between browser and grpc api
and potentially more. We need to try out best to show current status and errors.
currently, we always show a generic error: https://github.com/cilium/hubble-ui/blob/master/src/components/App/index.tsx#L70 . We will need to propagate error from server here https://github.com/cilium/hubble-ui/blob/master/src/components/App/DataManager.ts#L188 and show different message, depending on the text from server. Also we might show show message from server as is, as our users are sophisticated and might want to know exactly what's going on.
For example, is envoy is not able to connect to hubble-ui backend, we get the following error:
"upstream connect error or disconnect/reset before headers. reset reason: connection failure".
I think this will help when debugging issues.