Expose the ClusterInfo object in the allocation explain output
This adds an optional parameter to the cluster allocation explain API
that will return the cluster info object, `include_disk_info`, the
output looks like:
GET /_cluster/allocation/explain?include_disk_info -d'
{"index": "i", "shard": 0, "primary": false}'
{
... other info ...
"cluster_info" : {
"nodes" : {
"7Uws-vL7R6WVm3ZwQA1n5A" : {
"node_name" : "Kraven the Hunter",
"least_available" : {
"path" : "/path/to/data1",
"total_bytes" : 165999570944,
"used_bytes" : 118180614144,
"free_bytes" : 47818956800,
"free_disk_percent" : 28.80667493781158,
"used_disk_percent" : 71.19332506218842
},
"most_available" : {
"path" : "/path/to/data2",
"total_bytes" : 165999570944,
"used_bytes" : 118180614144,
"free_bytes" : 47818956800,
"free_disk_percent" : 28.80667493781158,
"used_disk_percent" : 71.19332506218842
}
}
},
"shard_sizes" : {
"[i][2][p]_bytes" : 0,
"[i][4][p]_bytes" : 130,
"[i][1][p]_bytes" : 0,
"[i][3][p]_bytes" : 0,
"[i][0][p]_bytes" : 130
},
"shard_paths" : {
"[i][3], node[7Uws-vL7R6WVm3ZwQA1n5A], [P], s[STARTED], a[id=LegZLDniTVaw0Y1urv7s3g]" : "/path/to/data1/nodes/0",
"[i][1], node[7Uws-vL7R6WVm3ZwQA1n5A], [P], s[STARTED], a[id=lAU_4vf_SKmoRdtg0ACnjQ]" : "/path/to/data1/nodes/0",
"[i][2], node[7Uws-vL7R6WVm3ZwQA1n5A], [P], s[STARTED], a[id=Aurpeuj7SeGeyPDDpCtRgg]" : "/path/to/data1/nodes/0",
"[i][0], node[7Uws-vL7R6WVm3ZwQA1n5A], [P], s[STARTED], a[id=Vgg8GlQTQ82C2j6HYBq8DQ]" : "/path/to/data1/nodes/0",
"[i][4], node[7Uws-vL7R6WVm3ZwQA1n5A], [P], s[STARTED], a[id=t8hQlVSxQe-58fSeaXcAqg]" : "/path/to/data1/nodes/0"
}
}
}
Resolves #14405