aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugin/kubernetes/object/endpoint.go13
1 files changed, 11 insertions, 2 deletions
diff --git a/plugin/kubernetes/object/endpoint.go b/plugin/kubernetes/object/endpoint.go
index f504904a8..6ce7bfefa 100644
--- a/plugin/kubernetes/object/endpoint.go
+++ b/plugin/kubernetes/object/endpoint.go
@@ -128,7 +128,7 @@ func EndpointSliceToEndpoints(obj meta.Object) (meta.Object, error) {
}
for _, end := range ends.Endpoints {
- if end.Conditions.Ready == nil || !*end.Conditions.Ready {
+ if !endpointsliceReady(end.Conditions.Ready) {
continue
}
for _, a := range end.Addresses {
@@ -178,7 +178,7 @@ func EndpointSliceV1beta1ToEndpoints(obj meta.Object) (meta.Object, error) {
}
for _, end := range ends.Endpoints {
- if end.Conditions.Ready == nil || !*end.Conditions.Ready {
+ if !endpointsliceReady(end.Conditions.Ready) {
continue
}
for _, a := range end.Addresses {
@@ -200,6 +200,15 @@ func EndpointSliceV1beta1ToEndpoints(obj meta.Object) (meta.Object, error) {
return e, nil
}
+func endpointsliceReady(ready *bool) bool {
+ // Per API docs: a nil value indicates an unknown state. In most cases consumers
+ // should interpret this unknown state as ready.
+ if ready == nil {
+ return true
+ }
+ return *ready
+}
+
// CopyWithoutSubsets copies e, without the subsets.
func (e *Endpoints) CopyWithoutSubsets() *Endpoints {
e1 := &Endpoints{