-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Description
Title: Endpoint HealthStatus has to be delivered via EDS, it is ignored when delivered via CDS' LoadAssignment or via static config file
Description:
Not sure if this is a bug or a feature, but I tried adding unhealthy endpoints delivered via CDS with Type: STATIC & LoadAssignment populated it ignored the HealthStatus flag at the endpoints, it always set them to HEALTHY even though I could definitely see (via grpcurl) that they were set to UNHEALTHY in the protos. Same thing happens when it is set via static config JSON. The docs say that it can be delivered via EDS but it sounds like any way should work as it is mostly just decomposing protobufs?
Or is it an intended feature?
Sample from the config:
static_resources:
clusters:
- connectTimeout: 0.800s
commonLbConfig:
healthy_panic_threshold:
value: 1.0
loadAssignment:
clusterName: default-test-locality
endpoints:
- lbEndpoints:
- endpoint:
address:
socketAddress:
address: 10.1.2.3
portValue: 9999
health_status: UNHEALTHY
(and equivalent from CDS) which produced a ::healthy in the clusters overview and it kept passing traffic there.