diff --git a/pkg/es/shard.go b/pkg/es/shard.go index 8c93ab7..faefc1b 100644 --- a/pkg/es/shard.go +++ b/pkg/es/shard.go @@ -176,17 +176,24 @@ func ShardAllocation(conf *cfg.Config, index string) error { table.Entries = [][]any{ {"Index", index}, {"Current state", res.CurrentState}, - {"Current node", currentNode.Name}, - {"Current k8s node", currentNode.Attributes["k8s_node_name"]}, - {"Current node address", currentNode.TransportAddress}, - {"Current node id", currentNode.Id}, - {"Current node weight", currentNode.WeightRanking}, - {"Current node roles", roles}, {"Can rebalance cluster", res.CanRebalanceCluster.Name}, {"Can rebalance to another node", res.CanRebalanceToOtherNode.Name}, {"Can remain on current node", res.CanRemainOnCurrentNode.Name}, } + if currentNode != nil { + table.Entries = append(table.Entries, [][]any{ + {"Current node", currentNode.Name}, + {"Current k8s node", currentNode.Attributes["k8s_node_name"]}, + {"Current node address", currentNode.TransportAddress}, + {"Current node id", currentNode.Id}, + {"Current node weight", currentNode.WeightRanking}, + {"Current node roles", roles}, + }...) + } else { + table.AddRow("Current node", "not currently assigned to any node") + } + if res.CurrentState == "unassigned" { table.AddRow("Unassignment reason", res.UnassignedInfo.Reason.String()+" at "+res.UnassignedInfo.At.(string)) }