kuberang
kuberang copied to clipboard
Support JSON as an output format
Consuming kuberang's output from another tool should be easier if we output a JSON report.
I was wondering it adding network check failure/success rates would be useful in the report? In some cases one might get an occasional network check failure but it might not be an indication that something is wrong with entire cluster.
Also, adding top level field e.g. Success
, CheckSuccess
(or just Status
) could be useful and would save time going through individual results to determine if there were any errors?
Another thought. I think It would be great to aggregate some checks and rename some to be more representative as to what check took place, what were the details of that check, its overall status, and potentially some metrics attached to it too. Good example of that is network connectivity check from worker pod (busybox) to number of nginx pods via their respective pod IPs. As a user I'd be more interested to see something like:
{
"Name": "network connectivity between worker and satellite pods",
"Status": "success",
"Details": [
{
"PodIP": "127.11.123.1",
"Status": "success",
},
...
],
"Metrics": [
"ErrorRatePercent": 10,
"TotalChecks": 20,
"FailingChecks": 2
]
}
Other checks like "Issued BusyBox start request"
, "Issued Nginx start request"
and "Both deployments completed successfully within timeout"
could collapse into "deployments completion within timeout"
in the final report.
Similar changes could be made for other checks. For example "Accessed Google.com from this node"
would read better as "node external network access"
. "Accessed Nginx service via DNS kuberang-nginx-1481031653201225236 from BusyBox"
could be reported back as "service DNS accessible from the worker pod"
(worker pod == busybox), etc.