• Kubernetes Submit Queue's avatar
    Merge pull request #50583 from liggitt/endpoints-empty-noop · 402e48b0
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue (batch tested with PRs 49869, 47987, 50211, 50804, 50583)
    
    Make endpoints controller update based on semantic equality
    
    Fixes #50828
    Split from https://github.com/kubernetes/kubernetes/pull/45294 for separate review
    
    Currently, endpoints objects containing no subsets are decoded by the go client as subsets:[] (when requested individually) or as subsets:null (when requested in a list of endpoints).
    
    Because the endpoints controller is fed via a lister/watcher, it gets the `subsets:null` version fed to it. The subsets computation then returns an empty slice, which fails reflect.DeepEqual, which triggers a write attempt.
    
    This PR makes the comparison use semantic.DeepEqual to avoid spurious writes.
    
    https://github.com/kubernetes/kubernetes/pull/45294 would remove the inconsistency between lists and individual gets.
    402e48b0
Name
Last commit
Last update
..
bootstrap Loading commit data...
certificates Loading commit data...
cloud Loading commit data...
cronjob Loading commit data...
daemon Loading commit data...
deployment Loading commit data...
disruption Loading commit data...
endpoint Loading commit data...
garbagecollector Loading commit data...
history Loading commit data...
job Loading commit data...
namespace Loading commit data...
node Loading commit data...
podautoscaler Loading commit data...
podgc Loading commit data...
replicaset Loading commit data...
replication Loading commit data...
resourcequota Loading commit data...
route Loading commit data...
service Loading commit data...
serviceaccount Loading commit data...
statefulset Loading commit data...
testutil Loading commit data...
ttl Loading commit data...
volume Loading commit data...
.import-restrictions Loading commit data...
BUILD Loading commit data...
OWNERS Loading commit data...
client_builder.go Loading commit data...
controller_ref_manager.go Loading commit data...
controller_ref_manager_test.go Loading commit data...
controller_utils.go Loading commit data...
controller_utils_test.go Loading commit data...
doc.go Loading commit data...
lookup_cache.go Loading commit data...