kubernetes/pkg/controller
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
..
apis/config Migrate scheduler, controller-manager and cloud-controller-manager to lease lock. 2020-09-10 11:57:18 +02:00
bootstrap Run hack/update-vendor.sh 2020-05-16 07:54:33 -04:00
certificates Merge pull request #92983 from iotty/csr.clean 2020-08-27 19:08:23 -07:00
clusterroleaggregation Run hack/update-vendor.sh 2020-05-16 07:54:33 -04:00
cronjob Replace StartLogging(klog.Infof) with StartStructuredLogging(0) 2020-06-15 17:48:35 +09:00
daemon Deflake TestExpectationsOnRecreate 2020-07-31 18:12:01 -04:00
deployment fix pkg/controller/deployment staticcheck 2020-06-23 19:32:20 +08:00
disruption Run hack/update-vendor.sh 2020-05-16 07:54:33 -04:00
endpoint Remove HeadlessService label in endpoints controller before comparing 2020-09-03 09:55:18 -04:00
endpointslice Ensuring EndpointSlices are recreated after Service recreation 2020-09-15 21:37:15 -07:00
endpointslicemirroring test(endpointslice): deflake TestSyncEndpoints 2020-08-25 15:40:29 +08:00
garbagecollector Revert "Merge pull request #93156 from logicalhan/triage-api-machinery" 2020-07-24 13:01:02 +05:30
history automated refactor 2020-03-05 14:59:46 -08:00
job Merge pull request #91712 from KobayashiD27/structured-logging-in-event 2020-06-22 23:53:40 -07:00
namespace Fix namespace controller cleanup orphaning 2020-08-07 13:26:28 -04:00
nodeipam Add providerless tags 2020-07-30 13:48:40 -04:00
nodelifecycle Do not evict pods which tolerate all NoExecute taints 2020-08-05 12:50:43 -04:00
podautoscaler Replace StartLogging(klog.Infof) with StartStructuredLogging(0) 2020-06-15 17:48:35 +09:00
podgc code clean for podgc 2020-07-04 23:01:16 +08:00
replicaset Replace StartLogging(klog.Infof) with StartStructuredLogging(0) 2020-06-15 17:48:35 +09:00
replication Run update-bazel.sh 2020-06-22 10:49:15 +09:00
resourcequota Merge pull request #94371 from bbyrne5/bmb-resourcequota-staticcheck-errorfix 2020-09-03 03:41:41 -07:00
service/config move pkg/controller/service to k8s.io/cloud-provider/controllers/service for easier external consumption 2020-06-08 17:34:01 -04:00
serviceaccount Run hack/update-vendor.sh 2020-05-16 07:54:33 -04:00
statefulset do not create StatefulSet pods when PVC is being deleted 2020-08-17 22:50:42 +00:00
testutil Run hack/update-vendor.sh 2020-05-16 07:54:33 -04:00
ttl Migrate to log calls to klog.InfoS and klog.ErroS for pkg/controller 2020-06-05 13:23:01 +08:00
ttlafterfinished Replace StartLogging(klog.Infof) with StartStructuredLogging(0) 2020-06-15 17:48:35 +09:00
util Improve EndpointController's handling of headless services under dual-stack 2020-07-17 15:26:21 -04:00
volume Merge pull request #94144 from gnufied/prevent-stale-pv-read 2020-09-10 14:22:31 -07:00
BUILD Merge pull request #92784 from pohly/generic-ephemeral-inline-volumes 2020-07-10 15:41:46 -07:00
client_builder_dynamic.go switch over k/k to use klog v2 2020-05-16 07:54:27 -04:00
client_builder.go switch over k/k to use klog v2 2020-05-16 07:54:27 -04:00
controller_ref_manager_test.go remove unused code of (pkg/controller) 2018-10-09 08:15:30 +08:00
controller_ref_manager.go switch over k/k to use klog v2 2020-05-16 07:54:27 -04:00
controller_utils_test.go Do not swallow NotFound error for DeletePod in dsc.manage 2020-06-04 16:41:38 +08:00
controller_utils.go Migrate to log calls to klog.InfoS and klog.ErroS for pkg/controller 2020-06-05 13:23:01 +08:00
doc.go
informer_factory.go Use metadata informers instead of dynamic informers in controller manager 2019-07-11 12:18:52 -04:00
lookup_cache.go
OWNERS Adding cheftako to pkg/controller/OWNERS 2020-07-09 16:10:59 -07:00