Commit Graph

2013 Commits

Author SHA1 Message Date
Wu Qiang e4061faec3 Fix verify error and address review comments
Signed-off-by: Wu Qiang <qiang.q.wu@oracle.com>

Kubernetes-commit: 16b04d68b1ae180d61ea4ca06d1c8139c25a652f
2017-11-15 11:20:12 +08:00
Kubernetes Publisher 7663156280 Merge pull request #55132 from caesarxuchao/webhook-move-shared-code
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Reorganize admission webhook code

ref: https://github.com/kubernetes/features/issues/492

* Moved client and kubeconfig related code to webhook/config;
* Moved the rule matcher to webhook/rules;
* Left TODOs saying we are going to move some other common utilities;
* Other code is moved to webhook/validation.


This is to prepare adding the mutating webhook. See https://github.com/kubernetes/kubernetes/pull/54892.

Kubernetes-commit: ff7934fdeea38bf6a56c61bbbe15721c4f45023e
2017-11-14 17:50:54 -08:00
Chao Xu cb8d15718f Adding the mutating webhook
Kubernetes-commit: ea123f82aae5bc46b9a91c4543c8f742d0db52da
2017-11-14 16:36:28 -08:00
Chao Xu 0159c24faf generated bazel
Kubernetes-commit: 47ef9aaf2297829998eb1a0a804de9209c1008f1
2017-11-14 16:29:23 -08:00
Kubernetes Publisher eb9e4a3d88 Merge pull request #55183 from jpbetz/webhook-metrics
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add admission metrics for webhooks

Implements the [Admission Webhooks: Prometheus Metrics](https://docs.google.com/document/d/1rDRrC5MNI2An_FeYx8HAsmlQv1WThh9IBb3_shCTbJA/edit#heading=h.5r7dvq4pv2xm) design.

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

ref: https://github.com/kubernetes/features/issues/492

```release-note
Metrics have been added for monitoring admission plugins, including the new dynamic (webhook-based) ones.
```

Kubernetes-commit: 02b3928a921b2e0930bf67b48f71c9dcd1086b4f
2017-11-14 15:58:42 -08:00
Kubernetes Publisher 5a5a59e3c7 Merge pull request #55128 from foxyriver/fix-timer
Automatic merge from submit-queue (batch tested with PRs 54602, 54877, 55243, 55509, 55128). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

stop timer

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

stop the timer after using it

Kubernetes-commit: 8bdd6614f16d62b4ea31809749162c6a4c0d1162
2017-12-07 04:31:54 +00:00
Kubernetes Publisher 2e8b67f55f Merge pull request #55127 from caesarxuchao/webhook-do-conversion
Automatic merge from submit-queue (batch tested with PRs 54005, 55127, 53850, 55486, 53440). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Validation webhook plugin converts objects to the external version before sending to webhooks

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

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

https://github.com/kubernetes/features/issues/492

**Special notes for your reviewer**:

**Release note**:

```release-note
The apiserver sends external versioned object to the admission webhooks now. Please update the webhooks to expect admissionReview.spec.object.raw to be serialized external versions of objects.
```

Kubernetes-commit: cba5aa05906d51d07f0b4b613f6c82651e2313dc
2017-12-07 04:31:53 +00:00
Kubernetes Publisher 1e3285a6c3 Merge pull request #55461 from hzxuzhonghu/authorize
Automatic merge from submit-queue (batch tested with PRs 55283, 55461, 55288, 53970, 55487). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

[authorize] rename test file and remove unused code

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

rename go test filename and remove unused code in builtin.go

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

**Special notes for your reviewer**:
nit fix, no impact to function.
**Release note**:

```release-note
NONE
```

Kubernetes-commit: 14674f450855de54cf9632c00157d4f0fd9b6d70
2017-12-07 04:31:53 +00:00
Chao Xu da1d210644 Reorganize the code in webhook admission plugin.
Move the namespace selector code to package webhook/namespace
Move the conversion related code to package to webhook/versioned
Move errors related code to package webhook/errors
Move admission review related code to package webhook/request

Kubernetes-commit: 51774697b35314b078270e9da24fbe0ff843b981
2017-11-14 15:20:45 -08:00
Joe Betz 5f443f1654 Align admission metric names with prometheus guidelines
Kubernetes-commit: 369fd81ca151fe2ccb1ac0e6d44aad0eee99abf1
2017-11-14 11:18:31 -08:00
Maciej Szulik 4ad8f1d59a Return original error instead of negotiation one
Kubernetes-commit: 7c83e736624d9861da44459269925e8a127f5a44
2017-11-14 14:12:21 +01:00
hzxuzhonghu db846c31e6 fix comment typo and use wait.Forever
Kubernetes-commit: 9a88f1514134c62f959eee28fdc81519f87715e6
2017-11-14 19:38:10 +08:00
Wu Qiang dbe35e5c4e Update kms provider config for gRPC client service
Kubernetes-commit: 31fb539f1735debd38e705fcb96a05ea0313c5f5
2017-11-14 09:05:52 +00:00
Wu Qiang 25a4716f27 Add gRPC client service for envelope transformer
Kubernetes-commit: 772fa0f62fe232f24170e2c43afbd7031bfc160f
2017-11-14 09:05:01 +00:00
Cao Shufeng b02e718318 remove duplicated import
Kubernetes-commit: 86968e44d09e713b8cd5adca5705bba7e511c033
2017-11-14 11:36:32 +08:00
Davanum Srinivas 7857c79c99 Update Gophercloud dependency for reauth problem
Fixes picked up from gophercloud are:
443743e883...0b6b13c4dd

Including the one for endless loop on reauth:
https://github.com/gophercloud/gophercloud/pull/604

Kubernetes-commit: 4366454fbe4a788c6f52e6c0b9f5cb72e9db0784
2017-11-13 22:16:20 -05:00
Clayton Coleman ce019febe3 Move unstructured conversion into pkg/runtime
Scheme conversion should support unstructured conversion natively to
allow going from unstructured to typed and back. It is not a higher
level responsibility to do that conversion because the scheme is the
only one who knows what types it supports.

Kubernetes-commit: 557f9ddfe6300ecdbdd70ea67dca63bf6b710ea7
2017-11-13 21:28:57 -05:00
Joe Betz 3773a59cf0 Remove is_system_ns from admission metrics
Kubernetes-commit: 375e2d03ab8c70c8c84676a7eee8b46646036bde
2017-11-13 12:34:36 -08:00
Dr. Stefan Schimanski 29de1cdd6d registry: move generic registry tester into k8s.io/apiserver
Kubernetes-commit: 0b100cb69b9f99445aa523cf9c4abae8f62c751a
2017-11-13 18:07:35 +01:00
Kubernetes Publisher 7e9a5ecb20 Merge pull request #55534 from lavalamp/wh-api-fixes
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Tighten webhook client config validation

ref https://github.com/kubernetes/features/issues/492

Fix up some nits left from #54889.

```release-note
NONE
```

Kubernetes-commit: 2db28383e1151e5d442b81eb73a02b3cf144615c
2017-11-12 06:04:50 -08:00
Kubernetes Publisher 916c93f31b Merge pull request #54889 from lavalamp/wh-api
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix webhook API to also support URLs

ref: https://github.com/kubernetes/features/issues/492

```release-note
The dynamic admission webhook now supports a URL in addition to a service reference, to accommodate out-of-cluster webhooks.
```

Kubernetes-commit: e93819049db49694718bc9c96e67050d366c6f63
2017-11-11 23:01:39 -08:00
Daniel Smith bee24b37a5 fix docs and validation
Kubernetes-commit: e73fd8784484235d5010f4b2bba2251a584c5dd0
2017-11-11 18:00:32 -08:00
Kubernetes Publisher 05fa8296ad Merge pull request #54727 from caesarxuchao/namespaceSelector
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add namespace selector to admission webhook

Implementing the [design](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/admission-webhook-bootstrapping.md).

* Added the NamespaceSelector field to the webhook configuration API
* Let the webhook plugin respect the NamespaceSelector
* Added unit test and e2e test

cc @kubernetes/sig-api-machinery-api-reviews 

```release-note
Added namespaceSelector to externalAdmissionWebhook configuration to allow applying webhooks only to objects in the namespaces that have matching labels.
```

Kubernetes-commit: e52e79342c610def76885b751c6533079f7bc17b
2017-11-11 07:50:32 -08:00
Kubernetes Publisher 787d96557a Merge pull request #55396 from sttts/sttts-drop-deepcopy-registration
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

deepcopy: remove unused deepcopy func registration

Counterpart to https://github.com/kubernetes/gengo/pull/67.

Kubernetes-commit: 7c8596a95fb37e3c1318e25ae505989122bd4e56
2017-12-07 04:31:51 +00:00
Kubernetes Publisher 8589af33d5 Merge pull request #54861 from hzxuzhonghu/admission-webhook
Automatic merge from submit-queue (batch tested with PRs 53047, 54861, 55413, 55395, 55308). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

cache admission webhook restClient

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

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

Kubernetes-commit: 331c52c0fd4890ce999bad29265600d16cbb7abd
2017-12-07 04:31:50 +00:00
Kubernetes Publisher de3e410497 Merge pull request #55291 from hzxuzhonghu/admission-initializer
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove redundant code in admission initializer

**What this PR does / why we need it**:
remove unused return error in `k8s.io\kubernetes\staging\src\k8s.io\apiserver\pkg\admission\initializer\initializer.go`

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

Kubernetes-commit: a43c6e41d58efff5308120f74eac339eb631e9bc
2017-12-07 04:31:49 +00:00
Kubernetes Publisher 101bfbcd85 Merge pull request #54849 from hzxuzhonghu/audit-graceful-shutdown
Automatic merge from submit-queue (batch tested with PRs 46581, 55426, 54849). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

apiserver shutdown gracefully

**What this PR does / why we need it**:
apiserver shutdown gracefully and wait all non-long running requests finish before process exit.

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

**Special notes for your reviewer**:
remove waitGroup, use atomic to count.
**Release note**:

```release-note
NONE
```

Kubernetes-commit: d12d711ba67af9c63c6497a3d73357729a76e9ab
2017-12-07 04:31:49 +00:00
Kubernetes Publisher d2374206e6 Merge pull request #55282 from mbohlool/webhooks
Automatic merge from submit-queue (batch tested with PRs 55268, 55282, 55419, 48340, 54829). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

 Add MutatingWebhookConfiguration type

As part of Mutating Webhook support, this PR adds the configuration for Mutating webhooks. It also renames existing ReadOnly webhook configurations from ExternalAdmissionHookConfiguration to ValidatingWebhookConfiguration. As part of the process some sub-types are also renamed.

Lastly, the mutating webhook configurations are sorted by name to make the serial executing of them deterministic.

ref: https://github.com/kubernetes/features/issues/492

Kubernetes-commit: 61f210859d9c4bd64af254ba696f6f693596ced9
2017-12-07 04:31:24 +00:00
Chao Xu 640cf74d8c generated
Kubernetes-commit: 2f83748068e45fd548b1caaac2cc0ca06a769653
2017-11-10 11:06:07 -08:00
hzxuzhonghu bc64759ab8 rename test file and remove unused code
Kubernetes-commit: 4685bd8f3b270fdeb4cfe4a252b3cb3ab308ac75
2017-11-10 15:11:44 +08:00
Saad Ali 618eb972ad Generated files for new VolumeAttachemnt object
Kubernetes-commit: 9f294c1ad041e3cebd2d29a3afd42d00796c4f55
2017-11-09 21:56:38 -08:00
hzxuzhonghu c79bc73664 verify token file
Kubernetes-commit: 62c170fc1da2a94cd4dacd56f8f798f491b29ae1
2017-11-10 11:30:51 +08:00
Kubernetes Publisher b38d0e710e Merge pull request #53651 from sttts/sttts-apis-core
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Move core API to pkg/apis/core

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

This moves the types in pkg/api and most of pkg/api/v1 to pkg/apis/core to match the other api groups, following-up on what https://github.com/kubernetes/kubernetes/pull/44784 did for the external types.

It's a nearly 100% mechanical package move with a number of trivial fixups in code-generators and in tests which do string comparisons of types via reflection.

**Most importantly:**

- group names are unchanged
- apimachinery semantics are unchanged
- the outside api is unchanged.

Note that some packages for helpers are left in pkg/api/v1. Splitting them into helpers which belong tightly to the api and those which are not is left to follow-ups.

@kubernetes/sig-api-machinery-pr-reviews

Kubernetes-commit: dd9981d038012c120525c9e6df98b3beb3ef19e1
2017-11-09 06:13:39 -08:00
Kubernetes Publisher b78f8f90fd Merge pull request #54267 from ericchiang/audit-policy-file-without-kind-or-version
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

audit policy: reject audit policy files without apiVersion and kind

Closes https://github.com/kubernetes/kubernetes/issues/54254

/cc @sttts @CaoShuFeng @crassirostris @tallclair

/sig auth
/kind cleanup

```release-note
Audit policy files without apiVersion and kind are treated as invalid.
```

Kubernetes-commit: ab44ec9d7702e973f01ef716c06c8aa69441813c
2017-12-07 04:31:22 +00:00
Kubernetes Publisher bda330def2 Merge pull request #49763 from supereagle/versioned-group-clients
Automatic merge from submit-queue (batch tested with PRs 55331, 55272, 55228, 49763, 55242). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

use versiond group clients from client-go

**What this PR does / why we need it**:
Some **Deprecated** group clients are still used, replace them with versioned group clients.

**Which issue this PR fixes**: fixes #49760

**Special notes for your reviewer**:
/assign @caesarxuchao

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

Kubernetes-commit: a701a42a82da8c3dec18cb35124ee9038c91cca6
2017-12-07 04:31:21 +00:00
Kubernetes Publisher 3de687847b Merge pull request #55228 from sttts/sttts-validation-admission-tests
Automatic merge from submit-queue (batch tested with PRs 55331, 55272, 55228, 49763, 55242). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

apiserver: add validating admission tests

Follow-up of https://github.com/kubernetes/kubernetes/pull/54484

This includes tests
- in endpoint tests,
- in generic registry,
- in patch handler,
- in admission chain.

Kubernetes-commit: ee7f1b6e74fab4ed77592f29264575c634e4f2c1
2017-12-07 04:31:21 +00:00
Kubernetes Publisher 126b0eccc3 Merge pull request #54780 from CaoShuFeng/patch-twice
Automatic merge from submit-queue (batch tested with PRs 54493, 52501, 55172, 54780, 54819). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

partial fix crd patch failing

partial fix https://github.com/kubernetes/kubernetes/issues/53379

**Release note**:
```
NONE
```

Kubernetes-commit: 255a1be780448c07f8e3397caef8faa11ddfc027
2017-12-07 04:31:20 +00:00
Kubernetes Publisher 9a82dd46b2 Merge pull request #55175 from sttts/sttts-lock-registry-cleanup
Automatic merge from submit-queue (batch tested with PRs 53592, 52562, 55175, 55213). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

apiserver: protect registry cleanup against concurrent access

The mechanism uses global state during testing. Better protect it and fail early when a race is happening.

Related to https://github.com/kubernetes/kubernetes/issues/54095

Kubernetes-commit: 47d1973c18e278621b8843ab9d18f8eb348d224c
2017-12-07 04:31:20 +00:00
Kubernetes Publisher 2bdf465dd6 Merge pull request #53273 from mikedanese/authtristate
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

add support for short-circuit deny in union authorizer

This change has no behavioral changes.

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

```release-note
Add support for the webhook authorizer to make a Deny decision that short-circuits the union authorizer and immediately returns Deny.
```

Kubernetes-commit: d33077526af1e22c4d7124836a987ce108c1533b
2017-12-07 04:31:19 +00:00
Kubernetes Publisher 98daf58abc Merge pull request #55157 from sttts/sttts-etcd3-scheme
Automatic merge from submit-queue (batch tested with PRs 55061, 55157, 55231). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

apiserver: remove scheme arg from NewUnsecuredEtcd3TestClientServer

Not necessary anymore.

Kubernetes-commit: eb578813cba0e835c1079c5b1b570c16e8a3dd47
2017-12-07 04:31:18 +00:00
Kubernetes Publisher 0a8a7c7bce Merge pull request #54786 from shiywang/bump-protobuf
Automatic merge from submit-queue (batch tested with PRs 55093, 54966, 55047, 54971, 54786). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

vendor update: github.com/golang/protobuf

When I'm working on PR: https://github.com/kubernetes/kubernetes/pull/54782, I met a problem here: https://github.com/golang/protobuf/issues/372, which I think we need to update our vendor of protobuf
and I ask Dr. Stefan for suggestion, here is our coversation

shiywang [5:09 PM]
hi, Dr. Stefan i'm sorry to bother, I have a simple question, I was working on a pr which need to use protobuf custom field, and I run into this problem here: https://github.com/golang/protobuf/issues/372  which I think is due to our codebase's protobuf vendor is too old `vendor/github.com/golang/protobuf`,  do you think I can update that vendor to lastest one ?  also I noticed there's also an extend package called `vendor/github.com/gogo/protobuf/proto` what's the releationship between those two ?  which one should I update ?

sttts
[5:11 PM]
hi

[5:11]
don't know much about the proto internals either, @claytonc is probably the only one

[5:12]
create a vendor/github.com/golang/protobuf bump PR and assign it to him

shiywang [5:12 PM]
sounds good, thank you sir

so
/assign @smarterclayton
for suggestion, thanks

```release-note
NONE
```

Kubernetes-commit: 5b7ce60fcebea445b7852d8dc2bce141a2bd7a3a
2017-12-07 04:31:18 +00:00
Dr. Stefan Schimanski 563bb7b931 Update generated code
Kubernetes-commit: 1e79dfb959896f2e51be87ecef491452bd17724c
2017-11-09 12:27:20 +01:00
Dr. Stefan Schimanski a32fcea8bb deepcopy: remove deepcopy register tags
Kubernetes-commit: 72809a08b94650bc8988db37be3a2ee4c6ccd113
2017-11-09 12:40:14 +01:00
Dr. Stefan Schimanski fa51e5900d apimachinery: Remove cloner from scheme
Kubernetes-commit: b5b62c68318be79a665257c260ea9f9bbb6d6318
2017-11-09 12:27:06 +01:00
Joe Betz f3058e0b10 Fix admission metrics to track mutating/validating correctly
Also update admission test mocks to better reflect typical usage and fix broken tests.

Kubernetes-commit: 2643c6ae3e7b7bc09e1d3eb695a438b190123083
2017-11-08 17:26:31 -08:00
Dr. Stefan Schimanski d10f10b8ac pkg/apis/core: mechanical import fixes in dependencies
Kubernetes-commit: 012b085ac870d359131f4251213bf2fff1d15aa0
2017-11-08 23:34:54 +01:00
hzxuzhonghu 17f624c321 run hack/update-all.sh
Kubernetes-commit: 08c024f3670288648751b9444c7db6a63fb0cd04
2017-11-08 17:31:19 +08:00
hzxuzhonghu 5dc3326df1 add test case
Kubernetes-commit: cc135e985ccde88ac662b33ef81dd71de3ad0520
2017-11-08 16:20:16 +08:00
hzxuzhonghu a94f246093 audit support wildcard matching subresources
Kubernetes-commit: 6e83d88be906c174ab3860eec70f2a4aec0ecb48
2017-11-08 16:03:26 +08:00
hzxuzhonghu 2d197ca9f2 fix typo and adjust import sequence
Kubernetes-commit: 185d5c1f3debec7f7c81cd713307134103038497
2017-11-08 11:43:56 +08:00