deis / workflow-manager

Deis Workflow Manager: Cluster First Aid
MIT License
14 stars 15 forks source link

Proposal deis doctor data model #79

Closed smothiki closed 8 years ago

smothiki commented 8 years ago

RIght now we are just sending the cluster data model encapsulated inside deis doctor datamodel. details in the swaggerspec. Below are the proposal what should go along with cluster data model.

Please pitch in more ideas about what information can be sent using deis doctor that might help optimizing issue debug time. This is exclusively for what to send in when a user runs deis doctor. For more deis doctor proposals refer https://github.com/deis/workflow-manager/issues/76 for more deis doctor proposals.

smothiki commented 8 years ago

cc @helgi @jackfrancis @kmala

helgi commented 8 years ago

We need to also remember that initial focus for the data model would be what is in the deis namespace (svc, rc, po, ds), their current states and events, in addition to the nodes in the cluster and their states/events.

jackfrancis commented 8 years ago

@helgi and I are thinking the same thing. Here's a starting point for the kind of info we could repackage, from my dev deis cluster:

$ kubectl get nodes --namespace=deis
NAME                                     STATUS    AGE
gke-francis-default-pool-0e781ee9-1xz6   Ready     13d
gke-francis-default-pool-0e781ee9-9j80   Ready     13d
gke-francis-default-pool-0e781ee9-z02l   Ready     13d
$ kubectl get services --namespace=deis
NAME                     CLUSTER-IP      EXTERNAL-IP       PORT(S)                            AGE
deis-builder             10.79.250.155   <none>            2222/TCP                           1h
deis-controller          10.79.241.14    <none>            80/TCP                             1h
deis-database            10.79.241.124   <none>            5432/TCP                           1h
deis-logger              10.79.253.97    <none>            80/TCP,514/UDP                     1h
deis-minio               10.79.244.235   <none>            9000/TCP                           1h
deis-monitor-grafana     10.79.246.197   <none>            80/TCP                             1h
deis-monitor-influxapi   10.79.254.166   <none>            80/TCP                             1h
deis-monitor-influxui    10.79.250.28    <none>            80/TCP                             1h
deis-monitor-stdout      10.79.240.26    <none>            514/UDP                            1h
deis-registry            10.79.248.195   <none>            80/TCP                             1h
deis-router              10.79.247.156   104.155.177.121   80/TCP,443/TCP,2222/TCP,9090/TCP   1h
deis-workflow-manager    10.79.241.230   <none>            80/TCP                             1h
$ kubectl get pods --namespace=deis
NAME                          READY     STATUS    RESTARTS   AGE
deis-builder-p8t75            1/1       Running   1          1h
deis-controller-ncffp         1/1       Running   1          1h
deis-database-zjw6i           1/1       Running   0          1h
deis-logger-fluentd-d2p35     1/1       Running   0          1h
deis-logger-fluentd-kk59p     1/1       Running   0          1h
deis-logger-fluentd-ozhv7     1/1       Running   0          1h
deis-logger-oii56             1/1       Running   0          1h
deis-minio-29q09              1/1       Running   0          1h
deis-monitor-grafana-gko6p    1/1       Running   0          1h
deis-monitor-influxdb-dxuym   1/1       Running   0          1h
deis-monitor-stdout-09qtx     1/1       Running   0          1h
deis-monitor-telegraf-0n5a5   1/1       Running   0          1h
deis-monitor-telegraf-fwfxt   1/1       Running   0          1h
deis-monitor-telegraf-zfuul   1/1       Running   0          1h
deis-registry-j41st           1/1       Running   2          1h
deis-router-2qwpi             1/1       Running   0          1h
deis-workflow-manager-5cu0h   1/1       Running   0          1h
$ kubectl get daemonsets --namespace=deis
NAME                    DESIRED   CURRENT   NODE-SELECTOR   AGE
deis-logger-fluentd     3         3         <none>          1h
deis-monitor-telegraf   3         3         <none>          1h
helgi commented 8 years ago

We'd also want to want to return the describe version of things (state and events).

It could be a fair bit of information and we may want to think about how to slice and dice all of that up into the data model