k3s/pkg
Kubernetes Submit Queue 47320fd3f0 Merge pull request #42938 from enisoc/orphan-race
Automatic merge from submit-queue

GC: Fix re-adoption race when orphaning dependents.

**What this PR does / why we need it**:

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).

**Which issue this PR fixes**:

Fixes #42639

**Special notes for your reviewer**:

**Release note**:
```release-note
```

cc @kubernetes/sig-apps-pr-reviews
2017-03-20 01:30:11 -07:00
..
api Merge pull request #43271 from liggitt/affinity-namespace 2017-03-17 15:12:33 -07:00
apimachinery/tests API 2017-02-28 23:05:40 -08:00
apis Auto-generate 2017-03-17 14:42:37 -07:00
auth
bootstrap/api kubeadm: Implement the kubeadm token command fully and move it out of the experimental subsection 2017-02-27 12:56:03 +02:00
capabilities Fix comment for method SetForTests 2017-02-14 17:16:49 +08:00
client Use Histogram instead of Summary 2017-03-10 07:24:38 +01:00
cloudprovider Fix AWS untagged instances 2017-03-17 14:05:52 -04:00
controller Merge pull request #42938 from enisoc/orphan-race 2017-03-20 01:30:11 -07:00
conversion
credentialprovider
features Move taint eviction feature flag to feature-gates 2017-03-08 10:04:18 +01:00
fieldpath
fields
generated Merge pull request #42828 from janetkuo/ds-types 2017-03-17 17:54:14 -07:00
hyperkube
kubeapiserver update names for kube plugin initializer to avoid conflicts 2017-03-06 10:18:21 -05:00
kubectl kubectl: Use v1.5-compatible ownership logic when listing dependents. 2017-03-16 12:28:38 -07:00
kubelet Merge pull request #43116 from dchen1107/master 2017-03-17 18:14:29 -07:00
kubemark kubemark: enable CRI in the hollow kubelet 2017-03-09 09:52:17 -08:00
labels
master Ensure patched objects are defaulted correctly 2017-03-10 22:07:10 -05:00
metrics Update to use proxy subresource consistently 2017-02-13 22:05:00 -05:00
printers Merge pull request #43239 from enisoc/kubectl-controller-ref 2017-03-17 14:25:38 -07:00
probe Add support for attacher/detacher interface in Flex volume 2017-02-24 20:18:06 -05:00
proxy kube-proxy/iptables: use a type for endpoints info map 2017-03-07 13:51:58 -06:00
quota Regenerate everything 2017-03-02 10:23:58 +01:00
registry Fix polarity of a test in NodePort allocation 2017-03-16 17:19:26 -07:00
routes Update to use proxy subresource consistently 2017-02-13 22:05:00 -05:00
runtime
security Addition of ScaleIO Kubernetes Volume Plugin 2017-03-03 15:47:19 -05:00
securitycontext
serviceaccount Move Private Key parsing to k8s.io/client-go/util/cert 2017-02-03 17:41:34 -08:00
ssh
types
util pkg/util/flock: Fix the flock so it actually locks. 2017-03-13 14:24:59 -07:00
version
volume Merge pull request #42949 from wenlxie/master 2017-03-16 02:41:11 -07:00
watch
BUILD Regenerate everything 2017-03-02 08:56:26 +01:00
OWNERS