elastic/cloud-sdk-go

Update logic for filtering of unhealthy allocators to target more than only disconnected allocators

Opened this issue · 0 comments

In recent ECE releases, we expose new attributes that allow us to determine the overall health of allocators based on more attributes than just the connectivity, including data around several other health checks reported by the allocator itself.

However, the API exposes a hardcoded constant for searching for unhealthy allocators that does not use those attributes and rather depends on just its connectivity, which causes that it will not display allocators failing in some specific failure modes other than lack of connectivity:

UnhealthyQuery = "status.connected:false AND _exists_:instances"

This attribute is used by ecctl:
https://github.com/elastic/ecctl/blob/056f4d673adc428362a987b697e589579580c3ee/cmd/platform/allocator/list.go#L63
and other SDK-powered applications when filtering for unhealthy allocators. We would want to update this query to allow to also target allocators that are connected but not healthy.