kubernetes/pkg/controller/endpointslice
Rob Scott de02323a9d
Ensuring EndpointSlices are recreated after Service recreation
This fixes a bug that occurred when a Service was rapidly recreated.
This relied on an unfortunate series of events:

1. When the Service is deleted, the EndpointSlice controller removes it
from the EndpointSliceTracker along with any associated EndpointSlices.
2. When the Service is recreated, the EndpointSlice controller sees that
there are still appropriate EndpointSlices for the Service and does
nothing. (They have not yet been garbage collected).
3. When the EndpointSlice is deleted, the EndpointSlice controller
checks with the EndpointSliceTracker to see if it thinks we should have
this EndpointSlice. This check was intended to ensure we wouldn't
requeue a Service every time we delete an EndpointSlice for it.

This adds a check in reconciler to ensure that EndpointSlices it is
working with are owned by a Service with a matching UID. If not, it will
mark those EndpointSlices for deletion (assuming they're about to be
garbage collected anyway) and create new EndpointSlices.
2020-09-15 21:37:15 -07:00
..
config Implement simple endpoint slice batching 2020-03-03 08:16:42 +01:00
metrics Promoting EndpointSlices to beta 2019-11-13 14:20:19 -08:00
BUILD Updating EndpointSlice controllers to return if error encountered 2020-08-12 09:58:03 -07:00
endpointset.go Promoting EndpointSlices to beta 2019-11-13 14:20:19 -08:00
endpointslice_controller_test.go Ensuring EndpointSlices are recreated after Service recreation 2020-09-15 21:37:15 -07:00
endpointslice_controller.go Updating EndpointSlice controller to wait for all caches to be synced 2020-08-18 12:11:44 -07:00
endpointslice_tracker_test.go Fix memory leak in endpointSliceTracker 2020-07-08 00:15:30 +08:00
endpointslice_tracker.go Fix memory leak in endpointSliceTracker 2020-07-08 00:15:30 +08:00
OWNERS Adding owners for EndpointSlice controller 2019-09-24 11:45:15 -07:00
reconciler_test.go Ensuring EndpointSlices are recreated after Service recreation 2020-09-15 21:37:15 -07:00
reconciler.go Ensuring EndpointSlices are recreated after Service recreation 2020-09-15 21:37:15 -07:00
utils_test.go Ensuring EndpointSlices are recreated after Service recreation 2020-09-15 21:37:15 -07:00
utils.go Ensuring EndpointSlices are recreated after Service recreation 2020-09-15 21:37:15 -07:00