Commit Graph

740 Commits

Author SHA1 Message Date
Maciej Szulik 677d724b3a Allow audit to log authorization failures
Kubernetes-commit: 9fef244d4ccce0ea8daf37ab86a7af4892d000cf
2017-09-03 14:04:12 +00:00
Kubernetes Publisher ad9fb6362d Merge pull request #44310 from MHBauer/healthz-logging
Automatic merge from submit-queue

basic logging and additional documentation for healthz installer

@pmorie upstream logging
 - InstallHandler is the public interface through which all interaction
   occurs.
 - It is good to know whether the default ping is occurring to know due
   to manual installation or automatic installation.
 - It is good to know how many handlers are installed to see whether
   code changes are taking effect.

**What this PR does / why we need it**:
add logging for external users of the genericapiserver

**Special notes for your reviewer**:
This should run exactly once at startup.

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

Kubernetes-commit: fe3e7482764ace362b465405c45780d03a8c6706
2017-09-03 14:04:12 +00:00
Kubernetes Publisher 2f3f342c23 Merge pull request #48051 from xilabao/add-selfsubjectrulesreview-api
Automatic merge from submit-queue (batch tested with PRs 45724, 48051, 46444, 51056, 51605)

Add selfsubjectrulesreview in authorization

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

**Which issue this PR fixes**: fixes #47834 #31292

**Special notes for your reviewer**:

**Release note**:

```release-note
Add selfsubjectrulesreview API for allowing users to query which permissions they have in a given namespace.
```
/cc @deads2k @liggitt

Kubernetes-commit: c84b3132a2f1c784447ed6f405be9fe9a601d423
2017-09-03 14:04:11 +00:00
Morgan Bauer c5c5445b49 basic logging for healthz installer
- InstallHandler is the public interface through which all interaction
   occurs.
 - It is good to know whether the default ping is occurring to know due
   to manual installation or automatic installation.
 - It is good to know how many handlers are installed to see whether
   code changes are taking effect.
 - It is good to know the names of the handlers that are installed to
   make sure that a handler a user thinks is installed is being
   installed at runtime.
 - Print all the checkers once

Kubernetes-commit: efa66227d4fbcfad9fec21755b898f5d10d3344c
2017-09-03 14:04:11 +00:00
Chen Rong b4c851a534 generated
Kubernetes-commit: ed8adf6e51d76b3652be3b433b2dab590f1ff1f0
2017-09-03 14:04:11 +00:00
xilabao a50d8a0b4f add selfsubjectrulesreview api
Kubernetes-commit: f14c1384387ac196e87334b5a0e05e01d7581387
2017-09-03 14:04:10 +00:00
Kubernetes Publisher 5dde14f0a8 Merge pull request #50007 from CaoShuFeng/apiversion_apigroup
Automatic merge from submit-queue (batch tested with PRs 51632, 51055, 51676, 51560, 50007)

Split APIVersion into APIGroup and APIVersion in audit events

audit.Event.ObjectRef.APIVersion currently holds both the the API group and
version, separated by a /. This change break these out into separate fields.

**Release note**:

```
NONE
```

Kubernetes-commit: 92db97dfcc5eb45dcb0f686526041438d0b31a2e
2017-09-01 16:38:55 +00:00
Kubernetes Publisher 3983130474 Merge pull request #48287 from thockin/json-iterator
Automatic merge from submit-queue

Use json-iterator instead of ugorji for JSON.

@smarterclayton @wojtek-t

Fixes #36120
xref #18762

```release-note
Switch JSON marshal/unmarshal to json-iterator library.  Performance should be close to previous with no generated code.
```

Kubernetes-commit: 6a845c67f097cd76f9d90ab3c9c5b5603c70afe4
2017-09-01 16:38:54 +00:00
Cao Shufeng 626d406dd0 run hack/update-codecgen.sh and hack/update-bazel.sh
Kubernetes-commit: f94ca49e6307a7a668a7f5eb037891ac2045e167
2017-09-01 16:38:54 +00:00
Cao Shufeng 9ab155429e Split APIVersion into APIGroup and APIVersion in audit events
audit.Event.ObjectRef.APIVersion currently holds both the the API group and
version, separated by a /. This change break these out into separate fields.

This is part of:
https://github.com/kubernetes/kubernetes/issues/48561

Kubernetes-commit: c57eebfe2f8d36361d510f0afd926777a44cccd2
2017-09-01 16:38:54 +00:00
Kubernetes Publisher 18267fd010 Merge pull request #48836 from ericchiang/audit-policy-subresource-resource-name
Automatic merge from submit-queue (batch tested with PRs 51574, 51534, 49257, 44680, 48836)

audit policy: support subresources and resource names

Updates #48561

	policy:
	- level: Metadata
	  resources:
	  - group: ""
	    resources ["pods/logs"]
	- level: None
	  resources:
	  - group: ""
	    resources: ["configmaps"]
	    resourceNames: ["controller-leader"]

The top level resource no longer matches the subresource. For example "pods"
no longer matches requests to the logs subresource on pods.

```release-note
Audit policy supports matching subresources and resource names, but the top level resource no longer matches the subresouce. For example "pods" no longer matches requests to the logs subresource of pods. Use "pods/logs" to match subresources.
```

/cc @sttts @soltysh @crassirostris @ihmccreery @timstclair

Kubernetes-commit: 58aa139f9926afd8d8d067677698a46d72fcb7b2
2017-09-01 16:38:01 +00:00
Tim Hockin 39fbd1db4a Remove generated JSON code
Kubernetes-commit: 9e2fccd1de5384a6ecadf54849f612a10ecfe93a
2017-09-01 16:38:01 +00:00
Kubernetes Publisher eb9bb8285d Merge pull request #50404 from apelisse/http-cache
Automatic merge from submit-queue (batch tested with PRs 51480, 49616, 50123, 50846, 50404)

Kubectl to use http caching to cache openapi responses from the server

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

This PR is trying to address the problems raised in #50254

> * uses a disk-based cache that is not safe between processes (does not use atomic fs operations)
> * writes get/list responses to disk that should not be cached (like kubectl get secrets)
> * is vulnerable to partially written cache responses being used as responses to future requests
> * breaks uses of the client transport that make use of websockets
> * defaults to enabling the cache for any client builder using RecommendedConfigOverrideFlags or DefaultClientConfig which affects more components than just kubectl

All of these points are addressed by this pull-request:
1. It now uses atomic fs operations
2. Doesn't cache by default, only if requested by the client (and it's only done by openapi client)
3. Fixed because of atomic fs operations
4. Found the reason for the bug: Cache wrapper couldn't be unwrapped. I implemented the `WrappedRoundTripper` interface.
5. Since 2. is fixed, I think that should be fine

@smarterclayton @liggitt

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #50254

**Special notes for your reviewer**:

**Release note**:

```release-note
Allows kubectl to use http caching mechanism for the OpenAPI schema. The cache directory can be configured through `--cache-dir` command line flag to kubectl. If set to empty string, caching will be disabled.
```

Kubernetes-commit: 0f2c2bd847ca7a66035b2289e83359ef4c923617
2017-09-01 16:38:01 +00:00
Eric Chiang b4c852ede3 generated: update API resources
./hack/update-codegen.sh
	./hack/update-codecgen.sh
	./hack/update-generated-protobuf.sh

Kubernetes-commit: 9caff69027e09f4617f06f30a6359072503ecc47
2017-09-01 16:38:01 +00:00
Kubernetes Publisher 5c7b830c70 sync: reset Godeps/Godeps.json 2017-09-01 16:38:01 +00:00
Eric Chiang 1fa829c7c8 Audit policy v1beta1 now supports matching subresources and resource names.
policy:
	- level: Metadata
	  resources:
	  - group: ""
	    resources ["pods/logs"]
	- level: None
	  resources:
	  - group: ""
	    resources: ["configmaps"]
	    resourceNames: ["controller-leader"]

The top level resource no longer matches the subresource. For example "pods"
no longer matches requests to the logs subresource on pods.

```release-note
Audit policy supports matching subresources and resource names, but the top level resource no longer matches the subresouce. For example "pods" no longer matches requests to the logs subresource of pods. Use "pods/logs" to match subresources.
```

Kubernetes-commit: 85491f1578b9b97751a332d3b957d874cecf27b3
2017-09-01 16:38:01 +00:00
Antoine Pelisse 1c56bd391d c-go: Update diskv to get atomic fs cache write
Kubernetes-commit: 30325cd580af08e13a0ebc89252842eb955fd94e
2017-09-01 16:37:09 +00:00
Antoine Pelisse 0b8dbed325 Revert "Revert "Merge pull request #47353 from apelisse/http-cache""
This reverts commit 4ee72eb300423772020dd1cf208159058ba7dab5.

Kubernetes-commit: 332b681bd1d961e2cee16bca10784088a8d308f1
2017-09-01 16:37:09 +00:00
Kubernetes Publisher afac9ce864 sync: reset Godeps/Godeps.json 2017-09-01 16:37:09 +00:00
Kubernetes Publisher f94923242e Merge pull request #50123 from WIZARD-CXY/fixlog
Automatic merge from submit-queue (batch tested with PRs 51480, 49616, 50123, 50846, 50404)

make get pod log with follow option as CONNECT verb

**What this PR does / why we need it**:
Don't make the get log with follow option request mix with GET pods request. Make it reported as a WATCH pod log request.
**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
Fixes #49998 

```release-note
Pod log attempts are now reported in apiserver prometheus metrics with verb `CONNECT` since they can run for very long periods of time.
```

Kubernetes-commit: 00846fc7945aac7cb971522ee203ecd67dae4c45
2017-08-31 20:08:40 -07:00
Chenxingyu 22f326be0a make api request verb can be overrided and make "GET" pod log request reported as "CONNECT" pod log request for metrics
Kubernetes-commit: e49315f2db93f5fb2333794ad8064ab7a44053d7
2017-09-01 16:37:09 +00:00
Kubernetes Publisher b3f5b3cc1d Merge pull request #51707 from liggitt/unit-race
Automatic merge from submit-queue (batch tested with PRs 51707, 51662, 51723, 50163, 51633)

Make feature gate threadsafe

Fixes #51548 caused by #51436

Kubernetes-commit: cd004bb14c0a020d5fa4be752541f6935195eb70
2017-09-01 16:37:08 +00:00
Jordan Liggitt 605d377a4e Make feature gate threadsafe
Kubernetes-commit: d3546434b7252167b851a40a339d8ed2049ee5e5
2017-09-01 16:37:08 +00:00
Kubernetes Publisher eb6826bbda Merge pull request #47263 from nikhita/crd-01-validation-types
Automatic merge from submit-queue

apiextensions: validation for customresources

- [x] Add types for validation of CustomResources
- [x] Fix conversion-gen: #49747
- [x] Fix defaulter-gen: kubernetes/gengo#61
- [x] Convert to OpenAPI types
- [x] Validate CR using go-openapi
- [x] Validate CRD Schema
- [x] Add integration tests
- [x] Fix round trip tests: #51204 
- [x] Add custom fuzzer functions
- [x] Add custom conversion functions
- [x] Fix data race while updating CRD: #50098 
- [x] Add feature gate for CustomResourceValidation
- [x] Fix protobuf generation

Proposal: https://github.com/kubernetes/community/pull/708
Additional discussion: https://github.com/kubernetes/kubernetes/issues/49879, https://github.com/kubernetes/kubernetes/pull/50625

**Release note**:

```release-note
Add validation for CustomResources via JSON Schema.
```

/cc @sttts @deads2k

Kubernetes-commit: 4457e43e7b789586096bfb564330295cf0438e70
2017-08-29 18:37:10 -07:00
Nikhita Raghunath 3669fc6851 Add feature gate for CustomResourceValidation
update feature gates for generic apiserver

Add apiextensions-apiserver features to golint_failures

Ignore alpha feature if gate is disabled

Kubernetes-commit: 6ba1523a8e36c3121a9e08bfac7b4f342bb8ccb3
2017-09-01 16:37:08 +00:00
Kubernetes Publisher a8a9cf8e45 Merge pull request #48574 from sakshamsharma/kms-transformer
Automatic merge from submit-queue

Add Google cloud KMS service for envelope encryption transformer

This adds the required pieces which will allow addition of KMS based encryption providers (envelope transformer).

For now, we will be implementing it using Google Cloud KMS, but the code should make it easy to add support for any other such provider which can expose Decrypt and Encrypt calls.

Writing tests for Google Cloud KMS Service may cause a significant overhead to the testing framework. It has been tested locally and on GKE though.

Upcoming after this PR:
* Complete implementation of the envelope transformer, which uses LRU cache to maintain decrypted DEKs in memory.
* Track key version to assist in data re-encryption after a KEK rotation.

Development branch containing the changes described above: https://github.com/sakshamsharma/kubernetes/pull/4

Envelope transformer used by this PR was merged in #49350 

Concerns #48522 

Planned configuration:
```
kind: EncryptionConfig
apiVersion: v1
resources:
  - resources:
    - secrets
    providers:
    - kms:
        cachesize: 100
        configfile: gcp-cloudkms.conf
        name: gcp-cloudkms
    - identity: {}
```

gcp-cloudkms.conf:
```
[GoogleCloudKMS]
    kms-location: global
    kms-keyring: google-container-engine
    kms-cryptokey: example-key
```

Kubernetes-commit: 0d17e9deb7188bc79d905cb4ef6911c0a27adc59
2017-08-29 11:11:11 -07:00
Kubernetes Publisher c68d80e8a2 Merge pull request #51511 from huangjiuyuan/fix-func-comment
Automatic merge from submit-queue (batch tested with PRs 51298, 51510, 51511)

modifying the comment of BeforeDelete function to improve readability

**What this PR does / why we need it**:
modifying the comment of `BeforeDelete` function in `staging/src/k8s.io/apiserver/pkg/registry/rest/delete.go` to improve readability.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:

`NONE`

Kubernetes-commit: ce559394653a8e5041f44d49391b851ec5465538
2017-09-01 16:37:07 +00:00
Saksham Sharma b9e05868ba Unify cloudprovided and normal KMS plugins
Kubernetes-commit: 6a4afc897c2ed4fb80f1b6121a06f86bc8095cd8
2017-09-01 16:37:07 +00:00
huangjiuyuan ce838cffe4 modifying the comment of BeforeDelete function to improve readibility
Kubernetes-commit: 4ce3b6cf4f8486e4335d05d7f573ad1859c14ce8
2017-09-01 16:37:07 +00:00
Kubernetes Publisher b2a8ad67a0 Merge pull request #51436 from liggitt/initializer-feature
Automatic merge from submit-queue (batch tested with PRs 51471, 50561, 50435, 51473, 51436)

Feature gate initializers field

The metadata.initializers field should be feature gated and disabled by default while in alpha, especially since enforcement of initializer permission that keeps users from submitting objects with their own initializers specified is done via an admission plugin most clusters do not enable yet.

Not gating the field and tests caused tests added in https://github.com/kubernetes/kubernetes/issues/51429 to fail on clusters that don't enable the admission plugin.

This PR:
* adds an `Initializers` feature gate, auto-enables the feature gate if the admission plugin is enabled
* clears the `metadata.initializers` field of objects on create/update if the feature gate is not set
* marks the e2e tests as feature-dependent (will follow up with PR to test-infra to enable the feature and opt in for GCE e2e tests)

```release-note
Use of the alpha initializers feature now requires enabling the `Initializers` feature gate. This feature gate is auto-enabled if the `Initialzers` admission plugin is enabled.
```

Kubernetes-commit: 12d73c31a97188286e7f4c8a3aec7fcd38a76a83
2017-08-29 02:22:19 -07:00
Kubernetes Publisher b04d0e4b5b Merge pull request #51415 from jpbetz/timeout-param-minimal
Automatic merge from submit-queue (batch tested with PRs 50932, 49610, 51312, 51415, 50705)

Add --request-timeout to kube-apiserver to make global request timeout configurable

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

Make the currently hard coded 60 global request timeout in apiserver configurable via a --request-timeout command line flag.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

https://github.com/kubernetes/kubernetes/issues/51355

**Special notes for your reviewer**:

We plan to backport this to 1.6 and 1.7. To ease the backport work, we've kept this change to a minimum. After this PR we will submit an additional PR to rename `--min-request-timeout` to something that more clearly describes it's purpose, such as `--long-running-request-timeout-min`.

**Release note**:

```release-note
Add --request-timeout to kube-apiserver to make global request timeout configurable.
```

Kubernetes-commit: 0b0b2a22c5837975824add628df6ecb2dc297d57
2017-08-29 13:18:50 +00:00
Jordan Liggitt 8494697027 Feature gate initializers field
Kubernetes-commit: 658956f0631c6bd3ecf9f756db4a0710efea98ea
2017-08-29 13:18:50 +00:00
Kubernetes Publisher d63053d0e4 Merge pull request #49006 from CaoShuFeng/is_forbidden
Automatic merge from submit-queue

Fix forbidden message format

Before this change:
 $ kubectl get pods --as=tom
 Error from server (Forbidden): pods "" is forbidden: User "tom" cannot list pods in the namespace "default".
After this change:
 $ kubectl get pods --as=tom
 Error from server (Forbidden): pods is forbidden: User "tom" cannot list pods in the namespace "default".

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

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:

```
Fix forbidden message format, remove extra ""
```

Kubernetes-commit: 562d2be7a08c5cfb0f78331b0225acdf73bf9d94
2017-08-29 13:18:50 +00:00
Joe Betz e1e8bebf50 Add --request-timeout to allow the global request timeout of 60 seconds to be configured.
Kubernetes-commit: cb764756c6f152bfb866b161315369bc47ebf13c
2017-08-29 13:18:50 +00:00
Kubernetes Publisher 26ddb013b9 Merge pull request #45294 from liggitt/proto-slices
Automatic merge from submit-queue

Remove null -> [] slice hack

Closes #44593

When 1.6 added protobuf storage, the storage layer lost the ability to persist slice fields with empty but non-null values.

As a workaround, we tried to convert empty slice fields to `[]`, rather than `null`. Compressing `null` -> `[]` was just as much of an API breakage as `[]` -> `null`, but was hoped to cause fewer problems in clients that don't do null checks.

Because of conversion optimizations around converting lists of objects, the `null` -> `[]` hack was discovered to only apply to individual get requests, not to a list of objects. 1.6 and 1.7 was released with this behavior, and the world didn't explode. 1.7 documented the breaking API change that `null` and `[]` should be considered equivalent, unless otherwise noted on a particular field.

This PR:

* Reverts the earlier attempt (https://github.com/kubernetes/kubernetes/pull/43422) at ensuring non-null json slice output in conversion
* Makes results of `get` consistent with the results of `list` (which helps naive clients that do deepequal comparisons of objects obtained via list/watch and get), and allows empty slice fields to be returned as `null`

```release-note
Protobuf serialization does not distinguish between `[]` and `null`.
API fields previously capable of storing and returning either `[]` and `null` via JSON API requests (for example, the Endpoints `subsets` field) can now store only `null` when created using the protobuf content-type or stored in etcd using protobuf serialization (the default in 1.6+). JSON API clients should tolerate `null` values for such fields, and treat `null` and `[]` as equivalent in meaning unless specifically documented otherwise for a particular field.
```

Kubernetes-commit: 217513e27a6e54eb92d09165293cf811d5bdf878
2017-08-29 13:18:50 +00:00
Cao Shufeng 892932fb62 Fix forbidden message format
Before this change:
 # kubectl get pods --as=tom
 Error from server (Forbidden): pods "" is forbidden: User "tom" cannot list pods in the namespace "default".
After this change:
 # kubectl get pods --as=tom
 Error from server (Forbidden): pods is forbidden: User "tom" cannot list pods in the namespace "default".

Kubernetes-commit: ab0918673728fc50fc539017c86bbc03fceb0adc
2017-08-29 13:18:50 +00:00
Jordan Liggitt 064c57bb9b Generated files
Kubernetes-commit: c7defb806fc6c69deb4ab57655c3fa323ba8bebd
2017-08-29 13:18:49 +00:00
Kubernetes Publisher d8b9eb99a6 Merge pull request #47782 from php-coder/fix_reverse_in_tests
Automatic merge from submit-queue (batch tested with PRs 49850, 47782, 50595, 50730, 51341)

Fix benchmarks to really test reverse order of the keys

**What this PR does / why we need it**:
This PR modifies the code to do what comments says -- reverse the order of keys. It also fixes the logic that was wrong and didn't allow stale data.

**Special notes for your reviewer**:
This change resolves the following review comments:
- https://github.com/kubernetes/kubernetes/pull/41939#discussion_r117068104
- https://github.com/kubernetes/kubernetes/pull/46916#discussion_r122763350
- https://github.com/kubernetes/kubernetes/pull/46916#discussion_r122764000

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

PTAL @smarterclayton

Kubernetes-commit: 21ca7f7eeca0b523c1d958f49726b35e3b08791f
2017-08-25 20:43:33 -07:00
Kubernetes Publisher eeeccda7ec Merge pull request #50971 from CaoShuFeng/audit_json
Automatic merge from submit-queue (batch tested with PRs 51134, 51122, 50562, 50971, 51327)

set --audit-log-format default to json

Updates: https://github.com/kubernetes/kubernetes/issues/48561

**Release note**:
```
set --audit-log-format default to json for kube-apiserver
```

Kubernetes-commit: b5bb8099e79813aa8d73a49725efa54323d9279b
2017-08-29 13:18:49 +00:00
Slava Semushin b274c2ad9a Fix benchmarks to really test reverse order of the keys.
Kubernetes-commit: 734be0c49f3d283ec086c9aef2dc63142b481c19
2017-08-29 13:18:49 +00:00
Kubernetes Publisher 589250da0a Merge pull request #50559 from xiangpengzhao/remove-depre-flag
Automatic merge from submit-queue (batch tested with PRs 51244, 50559, 49770, 51194, 50901)

Remove deprecated flag "long-running-request-regexp".

**What this PR does / why we need it**:
remove `long-running-request-regexp` post-1.6.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

Kubernetes-commit: 05294d80347f4cf4ff6111e0211013d8f617a0f5
2017-08-29 13:18:49 +00:00
Cao Shufeng e74487ab1a set --audit-log-format default to json
Updates: https://github.com/kubernetes/kubernetes/issues/48561

Kubernetes-commit: 130f5d10adf13492f3435ab85a50d357a6831f6e
2017-08-29 13:18:49 +00:00
xiangpengzhao 49516f112c Remove deprecated flag "long-running-request-regexp".
Kubernetes-commit: 72f4ab70e28a945ce25d40524696d0a486f8969e
2017-08-29 13:18:48 +00:00
Kubernetes Publisher 68718b94c8 Merge pull request #49741 from smarterclayton/server_printer
Automatic merge from submit-queue (batch tested with PRs 51148, 50816, 49741, 50858, 51223)

Add tests around TableConvert and server side printing

Also wire in more table printers

@fabianofranz

Kubernetes-commit: 4f19a8fd2a0ed24aff9154670adcc332a8b6d1b1
2017-08-24 21:51:05 -07:00
Clayton Coleman d6c8c768c4 Make generic metadata conform to documented name column convention
Kubernetes-commit: e5857b1ec02514f06b82bf5833fcb87645732883
2017-08-29 13:18:48 +00:00
Clayton Coleman e027d67a5f Verify TableConversion behavior in resttest
Kubernetes-commit: 0b0235b48497c07cc6c8286167978b599d69b690
2017-08-29 13:18:48 +00:00
Kubernetes Publisher 20618a93d6 Merge pull request #51148 from ironcladlou/gc-finalizer-decoupling
Automatic merge from submit-queue (batch tested with PRs 51148, 50816, 49741, 50858, 51223)

Enable finalizers independent of GC enablement

Decouple finalizer processing from garbage collection configuration.
Finalizers should be effective even when garbage collection is disabled
for a given store.

Fixes https://github.com/kubernetes/kubernetes/issues/50528.

```release-note
NONE
```

/cc @kubernetes/sig-api-machinery-bugs 
/cc @caesarxuchao @liggitt @sttts @pmorie

Kubernetes-commit: 7edab23997d012e142ff3e7a24fa24e69243575f
2017-08-24 21:51:01 -07:00
Kubernetes Publisher 9f63165961 Merge pull request #51208 from simo5/pshfatal
Automatic merge from submit-queue (batch tested with PRs 47115, 51196, 51204, 51208, 51206)

Add an OrDie version for AddPostStartHook

Simplifies usage and consolidate the error message so it is always
the same everywhere.

```release-note
NONE
```

Kubernetes-commit: 2c214baefc06cefd68cc282b532bfe526613e36c
2017-08-29 13:18:47 +00:00
Dan Mace b824ea82d1 Clarify finalizer function
Kubernetes-commit: c845c444d52b81689e4555aec0e8175f687b6a44
2017-08-29 13:18:47 +00:00
Kubernetes Publisher 3be1849274 Merge pull request #51154 from RenaudWasTaken/gRPC-updated-1-3-0
Automatic merge from submit-queue (batch tested with PRs 51193, 51154, 42689, 51189, 51200)

Bumped gRPC version to 1.3.0

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

This PR bumps down the version of the vendored version of gRPC from v1.5.1 to v1.3.0
This is needed as part of the Device Plugin API where we expect client and server to use the Keep alive feature in order to detect an error.

Unfortunately I had to also bump the version of `golang.org/x/text` and `golang.org/x/net`.

- Design document: kubernetes/community#695
- PR tracking: [kubernetes/features#368](https://github.com/kubernetes/features/issues/368#issuecomment-321625420)

**Which issue this PR fixes**: fixes #51099
Which was caused by my previous PR updating to 1.5.1

**Special notes for your reviewer**:
@vishh @jiayingz @shyamjvs

**Release note**:
```
Bumped gRPC to v1.3.0
```

Kubernetes-commit: 5fb38a325efb343c2a0467a12732829bd5ed3c3c
2017-08-29 13:18:47 +00:00