Commit Graph

10808 Commits

Author SHA1 Message Date
Dr. Stefan Schimanski
5d66dc9338 apiextensions: normalize CR validation to return multiple errors 2018-05-14 10:16:19 +02:00
ravisantoshgudimetla
f20bd00ab2 Generated 2018-05-12 02:01:09 -04:00
ravisantoshgudimetla
1db5990013 Move scheduling api to beta 2018-05-12 02:01:04 -04:00
Devdatta Kulkarni
3e22383a8a Added documentation of how client-go interfaces with custom controller code
**What this PR does / why we need it**:

The sample-controller makes extensive use of various mechanisms
available in the client-go library. For writing custom controllers/operators
it will be helpful if there is precise description of how the
client-go library works and how/where it interfaces with
custom controller code.

This patch adds documentation that sheds light on how (parts) of the
client-go library work and its interaction-points with
controller code. The documentation and the diagram comes from [1],
(link included here for reference purpose).

[1] https://medium.com/@cloudark/kubernetes-custom-controllers-b6c7d0668fdf

Contributing the diagram and the writeup was recommended by
by @sttts and @nikhita on https://github.com/kubernetes/sample-controller/issues/13

**Release note**:

```release-note
NONE
```
2018-05-11 17:04:03 -05:00
Kubernetes Submit Queue
92ba95c39c Merge pull request #63446 from deads2k/client-08-remove-old
Automatic merge from submit-queue (batch tested with PRs 63367, 63718, 63446, 63723, 63720). 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>.

finish new dynamic client and deprecate old dynamic client

Builds on a couple other pulls.  This completes the transition to the new dynamic client.

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

```release-note
The old dynamic client has been replaced by a new one.  The previous dynamic client will exist for one release in `client-go/deprecated-dynamic`.  Switch as soon as possible.
```
2018-05-11 14:49:16 -07:00
Kubernetes Submit Queue
769b7dadca Merge pull request #63619 from roycaihw/get-crd-status
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>.

CRD Status subresource support get+update+patch

CRD Status previously only supports PUT and returns 405 on GET and PATCH

/assign @sttts 
/sig api-machinery

**Release note**:

```release-note
CustomResourceDefinitions Status subresource now supports GET and PATCH
```
2018-05-11 13:26:50 -07:00
David Eads
fd044d152e fix dynamic client name 2018-05-11 13:12:09 -04:00
Haowei Cai
0386e9bf75 Add GET PATCH support for crd status 2018-05-11 09:20:53 -07:00
Jacob Tanenbaum
2082a0f428 Add InstallPathHandler which allows for more then one path to be associated with health checking.
Currently it is only possible to have one group of checks which must all pass for the handler to report success.
Allowing multiple paths for these checks allows use of the same machinery for other kinds of checks, i.e. readiness.
2018-05-11 11:06:50 -04:00
Kubernetes Submit Queue
233b267392 Merge pull request #63667 from hzxuzhonghu/wait-informer-synced
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>.

sample-apiserver admission wait for informer sync before serving

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

sample-apiserver admission wait for informer sync before serving

**Release note**:

```release-note
NONE
```
2018-05-11 05:13:36 -07:00
David Eads
d8924bc1c9 move old dynamic client to deprecated-client 2018-05-11 08:00:46 -04:00
David Eads
82e32d2a32 add subresource support for the dynamic client 2018-05-11 08:00:03 -04:00
Kubernetes Submit Queue
82abc961b9 Merge pull request #63703 from hzxuzhonghu/fix-typo
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 typo in apiextentions apiserver

the comment should be apiextentions apiserver

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-05-11 04:20:53 -07:00
Kubernetes Submit Queue
afd93b6e46 Merge pull request #63185 from hanxiaoshuai/fixbug0426
Automatic merge from submit-queue (batch tested with PRs 63246, 63185). 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 checks validation MinRequestTimeout of ServerRunOptions

**What this PR does / why we need it**:
add checks validation MinRequestTimeout of ServerRunOptions
**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**:
I think we should check MinRequestTimeout > 0 (like  RequestTimeout), in Validate() of ServerRunOptions. If it is not necessary, close this PR.Thanks
**Release note**:

```release-note
NONE
```
2018-05-11 03:30:13 -07:00
xuzhonghu
0c77bcd3ea fix typo 2018-05-11 17:17:16 +08:00
Mikhail Mazurskiy
433b448e8d Remove int support from json patches 2018-05-11 19:16:00 +10:00
zhengjiajin
9fe2a5a430 enhance leaderelection code 2018-05-11 13:29:41 +08:00
Kubernetes Submit Queue
e59ae29fbc Merge pull request #63468 from jeffchanjunwei/master
Automatic merge from submit-queue (batch tested with PRs 59727, 63468). 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 annotation of APIGroupInfo

**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 #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-05-10 20:50:19 -07:00
Kubernetes Submit Queue
7eb88f11d2 Merge pull request #59727 from wgliang/master.time
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>.

should use time.Since instead of time.Now().Sub

**What this PR does / why we need it**:
should use time.Since instead of time.Now().Sub

**Special notes for your reviewer**:
2018-05-10 20:29:40 -07:00
Jeff Chan
f8386d5b0f Merge branch 'master' into master 2018-05-11 10:03:32 +08:00
xuzhonghu
ec30ad48b8 sample-apiserver admission wait for informer sync before serving 2018-05-11 09:23:39 +08:00
Kubernetes Submit Queue
0bdb73c05d Merge pull request #62194 from AdamDang/patch-1
Automatic merge from submit-queue (batch tested with PRs 62665, 62194, 63616, 63672, 63450). 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>.

Correct the returned message

Line 73 and line 103:
return fmt.Errorf("expected ResponseBody to be nil, got non-nill '%s'", events[i].ResponseObject.Raw)
"non-nill" should be changed to "non-nil"
2018-05-10 12:56:16 -07:00
Kubernetes Submit Queue
7e75a09db6 Merge pull request #63613 from deads2k/cli-52-builderclient
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>.

 construct resource.Builder from kubeconfig flags

updates the resource.Builder to be constructed from the kubeconfig flags struct/interface that we now have.

@kubernetes/sig-cli-maintainers 
@juanvallejo @soltysh 

```release-note
NONE
```
2018-05-10 09:03:11 -07:00
Kubernetes Submit Queue
9dcbdc3d45 Merge pull request #60200 from dixudx/clientgo_openstack_config
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>.

read openstack auth config from client config

**What this PR does / why we need it**:
> // TODO: read/persist client configuration(OS_XXX env vars) in config

/sig openstack

**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**:
/assign @dims
**Release note**:

```release-note
read openstack auth config from client config
```
2018-05-10 08:15:45 -07:00
David Eads
1f5357034b construct resource.Builder from kubeconfig flags 2018-05-10 09:42:15 -04:00
Nikhita Raghunath
0e32006109 update generated files 2018-05-10 18:24:04 +05:30
Nikhita Raghunath
3ed5cc3954 Promote CustomResourcesSubresources to beta 2018-05-10 18:24:04 +05:30
Kubernetes Submit Queue
e63f25902c Merge pull request #63587 from sttts/sttts-crd-test-conflict-errs
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>.

apiextensions: handle CRD conflict errs in integration tests

In the integration tests we assume that no other party modifies CRDs while the test is updating them repeatedly. Due to semantic changes for CRD conditions (https://github.com/kubernetes/kubernetes/pull/63068) and the introduction of `status.storedVersions` (https://github.com/kubernetes/kubernetes/pull/63518), this assumption will not hold true in the future. This PR prepares the test to handle conflict errors gracefully.
2018-05-10 03:28:54 -07:00
Dr. Stefan Schimanski
5b78c3a41d 6capiextensions: handle CRD conflict errs in integration tests 2018-05-10 10:45:29 +02:00
Kubernetes Submit Queue
d42df4561a Merge pull request #61976 from atlassian/ticker-with-stop
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>.

Stop() for Ticker to enable leak-free code

**What this PR does / why we need it**:
I wanted to use the clock package but the `Ticker` without a `Stop()` method is a deal breaker for me.

**Release note**:
```release-note
NONE
```
/kind enhancement
/sig api-machinery
2018-05-09 19:06:56 -07:00
Kubernetes Submit Queue
b2fe2a0a6d Merge pull request #59847 from mtaufen/dkcfg-explicit-keys
Automatic merge from submit-queue (batch tested with PRs 63624, 59847). 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>.

explicit kubelet config key in Node.Spec.ConfigSource.ConfigMap

This makes the Kubelet config key in the ConfigMap an explicit part of
the API, so we can stop using magic key names.
    
As part of this change, we are retiring ConfigMapRef for ConfigMap.


```release-note
You must now specify Node.Spec.ConfigSource.ConfigMap.KubeletConfigKey when using dynamic Kubelet config to tell the Kubelet which key of the ConfigMap identifies its config file.
```
2018-05-09 17:55:13 -07:00
Jordan Liggitt
af7d3b21f8 Collapse memcached discovery client onto parallelized discovery method 2018-05-09 18:00:12 -04:00
Kubernetes Submit Queue
662f543ebf Merge pull request #63593 from justinsb/typo_in_envelope_error_message
Automatic merge from submit-queue (batch tested with PRs 63593, 63539). 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 typo in envelope transform error message

genvelope -> envelope

```release-note
NONE
```
2018-05-09 14:49:11 -07:00
Kubernetes Submit Queue
ca92b73a65 Merge pull request #63602 from deads2k/cli-54-categories
Automatic merge from submit-queue (batch tested with PRs 59284, 63602). 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>.

 category expansion can only come from the server

A couple release ago we moved category expansion to the server instead of hardcoding it in the client.  Similar to restmappings, there is no valid client-side expansion anymore, so this removes the code that hardcoded the list and moves the category expansion to the same package as our discovery based restmappers.

@kubernetes/sig-cli-maintainers 

```release-note
NONE
```
2018-05-09 13:51:13 -07:00
Kubernetes Submit Queue
d89471c4b5 Merge pull request #59284 from Addepar/fix-empty-null-patch
Automatic merge from submit-queue (batch tested with PRs 59284, 63602). 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>.

Exclude keys containing empty patches in the final patch

**What this PR does / why we need it**: 
This minimizes the 3-way JSON merge patch generated when calculating the patch necessary to send to the server. It does this by removing empty maps created from deleting keys in the keepOrDeleteNullInObj method.

This is not only a slight performance improvement (less PATCH requests) but also necessary when working with custom resources that have RBAC restrictions.

**Which issue(s) this PR fixes**: N/A

**Special notes for your reviewer**: N/A

**Release note**:

```release-note
NONE
```
2018-05-09 13:51:09 -07:00
David Eads
ad87219b2c category expansion can only come from the server 2018-05-09 15:05:58 -04:00
David Eads
37f6cb7230 move category expansion types to restmapper package 2018-05-09 15:03:09 -04:00
Kubernetes Submit Queue
234939dced Merge pull request #63502 from liggitt/parallel-discovery
Automatic merge from submit-queue (batch tested with PRs 62354, 62934, 63502). 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>.

Run resource discovery in parallel

best viewed ignoring whitespace (https://github.com/kubernetes/kubernetes/pull/63502/files?w=1)

on high-latency connections, serializing resource discovery requests across group versions can take significant amounts of time. this parallelizes the network request portion of the discovery call

xref #63368 

```release-note
NONE
```
2018-05-09 09:30:15 -07:00
Justin Santa Barbara
8f87e5c7da Fix typo in envelope transform error message 2018-05-09 09:36:29 -04:00
Kubernetes Submit Queue
ca76734126 Merge pull request #63533 from sttts/sttts-required-with-status-subresource
Automatic merge from submit-queue (batch tested with PRs 59034, 63565, 63533). 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>.

apiextensions: allow "required" at root with status subresource

In the subresources alpha we intentionally disallowed anything than `properties` at the root of the validation schema in order to allow us to project it to the .status subtree. By doing this we also disallowed `required` at the root which is necessary to enforce e.g. a spec to be set. This PR fixes this.

Moreover, it fixes that the restriction is only enforced when the status subresource is actually enabled. Before this PR we were enforcing the restriction as soon as the feature gate was enabled, leading to a backwards incompatible change.

```release-note
Allow "required" to be used at the CRD OpenAPI validation schema when the /status subresource is enabled.
```

There was an issue reporting the bug. But cannot find it.
2018-05-09 05:13:15 -07:00
Kubernetes Submit Queue
3663dc757e Merge pull request #63565 from roycaihw/bump-kube-openapi-dep
Automatic merge from submit-queue (batch tested with PRs 59034, 63565, 63533). 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>.

Bump kube-openapi dependency

picks: https://github.com/kubernetes/kube-openapi/pull/67
ref: https://github.com/kubernetes/kubernetes/issues/63494

**Release note**:

```release-note
NONE
```
2018-05-09 05:13:12 -07:00
hangaoshuai
61cb6df4d7 clean unused code in restmapper_test.go 2018-05-09 19:37:48 +08:00
Kubernetes Submit Queue
f5f13cc5d1 Merge pull request #63385 from CaoShuFeng/customresource_status
Automatic merge from submit-queue (batch tested with PRs 63537, 63385). 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>.

[CustomResourceSubresources] fix status subresource

This change make the codes consistent with the document.
Fixes: https://github.com/kubernetes/kubernetes/issues/63359



**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 #

**Special notes for your reviewer**:
/assign @nikhita 
**Release note**:

```release-note
When updating /status subresource of a custom resource, only the value at the `.status` subpath for the update is considered.
```
2018-05-09 04:03:06 -07:00
Kubernetes Submit Queue
5d6997ad02 Merge pull request #63537 from fisherxu/returnErr
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>.

Return error when has no RequestInfo in handlerchain

**What this PR does / why we need it**:
we should return error when has no RequestInfo.
**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
```
2018-05-09 03:37:33 -07:00
Dr. Stefan Schimanski
1558da15f1 apiextensions: allow "required" at root with status subresource 2018-05-09 10:25:44 +02:00
Jordan Liggitt
d037b0893f Run resource discovery in parallel 2018-05-08 23:24:34 -04:00
Haowei Cai
18fd392c13 generated 2018-05-08 17:36:05 -07:00
Michael Taufen
c41cf55a2c explicit kubelet config key in Node.Spec.ConfigSource.ConfigMap
This makes the Kubelet config key in the ConfigMap an explicit part of
the API, so we can stop using magic key names.

As part of this change, we are retiring ConfigMapRef for ConfigMap.
2018-05-08 15:37:26 -07:00
David Eads
c5445d3c56 simplify api registration 2018-05-08 18:33:50 -04:00
David Eads
7b4f97aca3 generated 2018-05-08 18:32:44 -04:00