kubernetes/pkg/controller
Anthony Yeh b4b8fdbca3 GC: Fix re-adoption race when orphaning dependents.
The GC expects that once it sees a controller with a non-nil
DeletionTimestamp, that controller will not attempt any adoption.
There was a known race condition that could cause a controller to
re-adopt something orphaned by the GC, because the controller is using a
cached value of its own spec from before DeletionTimestamp was set.

This fixes that race by doing an uncached quorum read of the controller
spec just before the first adoption attempt. It's important that this
read occurs after listing potential orphans. Note that this uncached
read is skipped if no adoptions are attempted (i.e. at steady state).
2017-03-17 15:39:26 -07:00
..
bootstrap Small fix to the bootstrap TokenCleaner 2017-03-03 20:49:18 -08:00
certificates react to informer updates 2017-02-13 09:18:32 -05:00
cloud react to informer updates 2017-02-13 09:18:32 -05:00
cronjob Generated changes for cleaning batch/v2alpha1 2017-03-06 12:26:52 +01:00
daemon GC: Fix re-adoption race when orphaning dependents. 2017-03-17 15:39:26 -07:00
deployment GC: Fix re-adoption race when orphaning dependents. 2017-03-17 15:39:26 -07:00
disruption react to informer updates 2017-02-13 09:18:32 -05:00
endpoint react to informer updates 2017-02-13 09:18:32 -05:00
garbagecollector gc changes 2017-02-28 23:05:41 -08:00
job react to informer updates 2017-02-13 09:18:32 -05:00
namespace Merge pull request #41652 from ncdc/shared-informers-13-namespace 2017-02-23 09:36:38 -08:00
node Remove unused functions and make logs slightly better 2017-03-10 11:57:51 +01:00
podautoscaler HPA Controller: Use Custom Metrics API 2017-03-01 10:21:50 -05:00
podgc react to informer updates 2017-02-13 09:18:32 -05:00
replicaset GC: Fix re-adoption race when orphaning dependents. 2017-03-17 15:39:26 -07:00
replication GC: Fix re-adoption race when orphaning dependents. 2017-03-17 15:39:26 -07:00
resourcequota Switch resourcequota controller to shared informers 2017-02-14 12:20:27 -05:00
route Switch route controller to shared informers 2017-02-13 15:21:33 -05:00
service Switch scheduler to use generated listers/informers 2017-02-23 09:57:12 -05:00
serviceaccount Switch serviceaccounts controller to generated shared informers 2017-02-14 14:21:14 -05:00
statefulset GC: Fix re-adoption race when orphaning dependents. 2017-03-17 15:39:26 -07:00
ttl react to informer updates 2017-02-13 09:18:32 -05:00
volume Merge pull request #41306 from gnufied/implement-interface-bulk-volume-poll 2017-03-03 10:54:38 -08:00
.import-restrictions add import restrictions 2016-10-13 16:10:24 -07:00
BUILD Update bazel 2017-02-27 06:48:13 -05:00
client_builder.go Make controller-manager resilient to stale serviceaccount tokens 2017-02-17 23:59:00 -05:00
controller_ref_manager.go GC: Fix re-adoption race when orphaning dependents. 2017-03-17 15:39:26 -07:00
controller_utils_test.go Deployment: filter out old RSes that are deleted or with non-zero replicas before cleanup 2017-02-16 14:48:10 -08:00
controller_utils.go DaemonSet: Add ControllerRef on all created Pods. 2017-03-07 16:42:28 -08:00
doc.go Use Go canonical import paths 2016-07-16 13:48:21 -04:00
lookup_cache.go Use fnv.New32a() in hash instead adler32 2017-02-15 14:03:54 +08:00
OWNERS Add janetkuo to approvers for controllers 2017-02-08 14:37:25 -08:00