Commit Graph

4006 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
45c94a1cb4 Merge pull request #63830 from mbohlool/crd_versioning_nop
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 versioning with nop Conversion

Implements Custom Resource Definition versioning according to[ design doc](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/customresources-versioning.md).

Note: I recreated this PR instead of #63518. Huge number of comments there broke github. 

@sttts @nikhita @deads2k @liggitt @lavalamp 

```release-note
Add CRD Versioning with NOP converter
```
2018-05-22 23:11:55 -07:00
Kubernetes Submit Queue
c4d7987a62 Merge pull request #64126 from mtaufen/remove-old-todos
Automatic merge from submit-queue (batch tested with PRs 63283, 64032, 64159, 64126, 64098). 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 some completed TODOs

This PR removes some old TODOs that were recently completed.
```release-note
NONE
```
2018-05-22 22:14:13 -07:00
Mehdy Bohlool
c25514a1ee Generated files 2018-05-22 13:54:34 -07:00
Mehdy Bohlool
0f6d98a056 CRD versioning with no-op converter 2018-05-22 13:54:33 -07:00
Mehdy Bohlool
531041ce94 Do not bypass same version unstructed conversion if it is a list
This give the converter a chance to convert list items to the requested version.
2018-05-22 13:54:33 -07:00
Mehdy Bohlool
8a39e5381c CRD versioning validation and defaulting 2018-05-22 13:54:32 -07:00
Mehdy Bohlool
10c48ae510 CRD versioning - types change 2018-05-22 13:54:32 -07:00
Michael Taufen
62a1532d51 Remove some completed TODOs 2018-05-22 11:02:57 -07:00
Gregory Man
a29a1cbb95 Added unit tests to sample-controller
Added unit tests.

Changed NewController function to accept informers and not informers
factory. This make code more testable and align it with other
controllers.
2018-05-22 12:43:31 +03:00
Kubernetes Submit Queue
6d510f52f2 Merge pull request #63409 from mtaufen/kc-validation-feature-gates
Automatic merge from submit-queue (batch tested with PRs 63881, 64046, 63409, 63402, 63221). 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>.

Kubelet config: Validate new config against future feature gates

This fixes an issue with KubeletConfiguration validation, where the             
feature gates set by the new config were not taken into account.                
                                                                                
Also fixes a validation issue with dynamic Kubelet config, where flag           
precedence was not enforced prior to dynamic config validation in the           
controller; this prevented rejection of dynamic configs that don't merge        
well with values set via legacy flags. 

Fixes #63305 

```release-note
NONE
```
2018-05-21 17:05:34 -07:00
Kubernetes Submit Queue
f5fb740f06 Merge pull request #59414 from mbohlool/test_cycle
Automatic merge from submit-queue (batch tested with PRs 59414, 64096). 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 cyclic dependency of apiserver test for OpenAPI test

Fixes #41748

```release-note
NONE
```
2018-05-21 12:14:07 -07:00
Kubernetes Submit Queue
5c7add3c75 Merge pull request #64069 from ibrasho-forks/fix-error-message
Automatic merge from submit-queue (batch tested with PRs 64069, 64087). 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 error message

**What this PR does / why we need it**:
This PR fixes a minor mistake in an error message in `Equalities.DeepEqual`. I've tried to trace this mistake but could not find out where it originated.

**Release note**:
```release-note
NONE
```
2018-05-21 10:48:14 -07:00
mbohlool
9e94cf72a8 Update bazel 2018-05-20 22:19:06 -07:00
mbohlool
e979b16987 Fix cyclic dependency of apiserver test for OpenAPI test 2018-05-20 22:19:06 -07:00
Kubernetes Submit Queue
b87105aebd Merge pull request #64004 from mbohlool/apiservice_order
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>.

Sort API Services by Kube-Version order

Sort API services based on kube-version format. If the version does not have kube-version format.

kube-version format: `v[MajorVersion]((alpha|beta)[minorVersion])?`
e.g. v1alpha1, v4, v21beta12

Sort base on:
Version type first: GA>Beta>Alpha
Major version then Minor version (if exists).

```release-note
APIServices with kube-like versions (e.g. v1, v2beta1, etc.) will be sorted appropriately within each group. 
```
2018-05-20 20:43:24 -07:00
Michael Taufen
647e90341c Kubelet config: Validate new config against future feature gates
This fixes an issue with KubeletConfiguration validation, where the
feature gates set by the new config were not taken into account.

Also fixes a validation issue with dynamic Kubelet config, where flag
precedence was not enforced prior to dynamic config validation in the
controller; this prevented rejection of dynamic configs that don't merge
well with values set via legacy flags.
2018-05-20 13:15:59 -07:00
Mehdy Bohlool
cc87ba3a12 Generated files 2018-05-20 01:40:05 -07:00
Mehdy Bohlool
97ada15fbe Sort API Services by Kube-Version order 2018-05-20 01:40:04 -07:00
Ibrahim AshShohail
73f4cd89af Fix error message in Equalities.DeepEqual
Signed-off-by: Ibrahim AshShohail <me@ibrasho.com>
2018-05-20 02:22:09 +03:00
Kubernetes Submit Queue
7909712ca5 Merge pull request #60464 from roycaihw/loadconfig
Automatic merge from submit-queue (batch tested with PRs 63598, 63913, 63459, 63963, 60464). 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>.

Client-go raises error on duplicated name in kubeconfig

(for NamedCluster, NamedContext, NamedUser, NamedExtension)



**What this PR does / why we need it**:
Client should detect duplicated name when loading `name-value` based lists in kubeconfig: `users`, `clusters`, `contexts`. Currently if there are multiple value with same name, `client-python` will pick the first one, while `client-go` will pick the last.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
ref: kubernetes-client/python#445, kubernetes-client/python-base#47

**Special notes for your reviewer**:

**Release note**:

```release-note
kubectl and client-go now detects duplicated name for user, cluster and context when loading kubeconfig and reports error 
```

/sig api-machinery

cc @brendandburns @mbohlool
2018-05-19 06:49:27 -07:00
Kubernetes Submit Queue
4810b9ba67 Merge pull request #63913 from deads2k/controller-10-event
Automatic merge from submit-queue (batch tested with PRs 63598, 63913, 63459, 63963, 60464). 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 event ref determination for apigroups

The event ref determination was never updated to handle apigroups so it has been returning only a group (not a version).

@kubernetes/sig-apps-bugs 

```release-note
event object references with apiversion will now report an apiversion.
```
2018-05-19 06:49:16 -07:00
Kubernetes Submit Queue
4b0b91ae31 Merge pull request #63598 from nikhita/subresources-to-beta
Automatic merge from submit-queue (batch tested with PRs 63598, 63913, 63459, 63963, 60464). 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: promote CustomResourcesSubresources to beta

Fixes #62786

This PR promotes the CustomResourcesSubResources feature to beta and makes it enabled by default.

**Release note**:

```release-note
Subresources for custom resources is now beta and enabled by default. With this, updates to the `/status` subresource will disallow updates to all fields other than `.status` (not just `.spec` and `.metadata` as before). Also, `required` can be used at the root of the CRD OpenAPI validation schema when the `/status` subresource is enabled.
```

/assign sttts deads2k 
/sig api-machinery
/area custom-resources
2018-05-19 06:49:12 -07:00
Haowei Cai
e9454a383b Raise error on duplicate name in kubeconfig
for NamedCluster, NamedContext, NamedUser, NamedExtension
2018-05-18 17:56:46 -07:00
Mikhail Mazurskiy
5e8e570dbd Use Dial with context 2018-05-19 08:14:37 +10:00
David Eads
b2be8953b1 fix event ref determination for apigroups 2018-05-18 11:36:57 -04:00
Kubernetes Submit Queue
23d3b6fc79 Merge pull request #63716 from JacobTanenbaum/healthz
Automatic merge from submit-queue (batch tested with PRs 63920, 63716, 63928, 60553, 63946). 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 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.



**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-18 01:07:14 -07:00
Kubernetes Submit Queue
c13bd2bec2 Merge pull request #63957 from hzxuzhonghu/rm-UID-ctx
Automatic merge from submit-queue (batch tested with PRs 63871, 63927, 63966, 63957, 63844). 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 UID mutation from request.context

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

remove UID mutation from request.context, which is no use currently.

Fixes #59775

**Special notes for your reviewer**:

**Release note**:

```release-note
Remove UID mutation from request.context.
```
2018-05-17 13:40:25 -07:00
Kubernetes Submit Queue
b3837d004a Merge pull request #63469 from wojtek-t/allow_list_and_watch_secrets
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>.

Allow for listing & watching individual secrets from nodes

This PR:
- propagates value of `metadata.name` field from fieldSelector to `name` field in RequestInfo (for list and watch requests)
- authorizes list/watch for requests for single secrets/configmaps coming from nodes

As an example:
```
/api/v1/secrets/namespaces/ns?fieldSelector=metadata.name=foo =>
  requestInfo.Name = "foo",
  requestInfo.Verb = "list"
/api/v1/secrets/namespaces/ns?fieldSelector=metadata.name=foo&watch=true =>
  requestInfo.Name = "foo",
  requestInfo.Verb = "list"
```

```release-note
list/watch API requests with a fieldSelector that specifies `metadata.name` can now be authorized as requests for an individual named resource
```
2018-05-17 07:09:43 -07:00
xuzhonghu
84678b2882 update bazel 2018-05-17 11:58:26 +08:00
xuzhonghu
7ea612db16 remove request context.WithUID 2018-05-17 11:58:26 +08:00
Andrew Lytvynov
85a61ff3aa Extract connection rotating dialer into a package
This will be re-used for exec auth plugin to rotate connections on
credential change.
2018-05-16 10:30:53 -07:00
Kubernetes Submit Queue
baad3d4159 Merge pull request #63875 from deads2k/client-10-timeout
Automatic merge from submit-queue (batch tested with PRs 63875, 63817). 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>.

make TestGetServerGroupsWithTimeout more reliable

Stops overriding a global variable in a test and tolerates a different kind of timeout message you can see.

/assign @soltysh
2018-05-16 08:26:12 -07:00
Kubernetes Submit Queue
2fcac6abf2 Merge pull request #63314 from mtaufen/dkcfg-structured-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>.

Move to a structured status for dynamic kubelet config

This PR updates dynamic Kubelet config to use a structured status, rather than a node condition. This makes the status machine-readable, and thus more useful for config orchestration. 

Fixes: #56896

```release-note
The status of dynamic Kubelet config is now reported via Node.Status.Config, rather than the KubeletConfigOk node condition.
```
2018-05-15 19:41:36 -07:00
Kubernetes Submit Queue
0e42990eee Merge pull request #63880 from sttts/sttts-move-scheme-ref-obj-to-smp
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>.

apimachinery: move schema reference object into smp patcher

The schema reference object is only used in the strategic merge patch code path. This PR moves the creation there.

This PR is a preparation to make the patcher compatible with the UnstructuredObjectConverter without internal types. It will allow us to return an error on missing kinds at https://github.com/kubernetes/kubernetes/pull/63830#discussion_r188171025.
2018-05-15 18:50:48 -07:00
Kubernetes Submit Queue
49e9322d4f Merge pull request #63861 from deads2k/client-09-clean
Automatic merge from submit-queue (batch tested with PRs 63589, 63644, 63861, 63872, 63847). 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 service.deletecollection since the server doesn't support it

Updates the generated service client to match the API available.

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

```release-note
NONE
```
2018-05-15 17:09:14 -07:00
Kubernetes Submit Queue
b726b2ef5d Merge pull request #63589 from hanxiaoshuai/cleanup0509
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>.

clean unused code in restmapper_test.go

**What this PR does / why we need it**:
clean unused code in restmapper_test.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**:
/kind cleanup
**Release note**:

```release-note
NONE
```
2018-05-15 16:49:43 -07:00
wojtekt
c69165d503 Autogenerated code 2018-05-15 21:38:54 +02:00
wojtekt
a4c35f31f2 Fix fakeclient List 2018-05-15 21:36:19 +02:00
Kubernetes Submit Queue
a3d79c39f4 Merge pull request #63705 from sttts/sttts-cr-validation-multiple-errors
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: normalize CR validation to return multiple errors

Deduplicated and use of the `allErrs` pattern we have elsewhere.
2018-05-15 12:26:22 -07:00
Michael Taufen
fcc1f8e7b6 Move to a structured status for dynamic Kubelet config
Updates dynamic Kubelet config to use a structured status, rather than a
node condition. This makes the status machine-readable, and thus more
useful for config orchestration.

Fixes: #56896
2018-05-15 11:25:12 -07:00
Kubernetes Submit Queue
f2ea83bef8 Merge pull request #63550 from juanvallejo/jvallejo/move-cached-discovery
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 cached_discovery to client-go/discovery

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

Moves the cmd/util CachedDiscoveryClient to client-go

cc @soltysh @deads2k
2018-05-15 10:47:01 -07:00
Dr. Stefan Schimanski
9745d6c119 apiextensions: only create patch reference object for smp path 2018-05-15 19:45:48 +02:00
David Eads
e7620e814a make TestGetServerGroupsWithTimeout more reliable 2018-05-15 12:47:23 -04:00
Kubernetes Submit Queue
bd0d093701 Merge pull request #63779 from wojtek-t/number_of_watchers_metrics
Automatic merge from submit-queue (batch tested with PRs 63792, 63495, 63742, 63332, 63779). 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>.

Track a metrics of number of registered watchers in apiserver
2018-05-15 09:04:32 -07:00
Kubernetes Submit Queue
944e07480f Merge pull request #63742 from thockin/kill-tolerate-unready-annotation
Automatic merge from submit-queue (batch tested with PRs 63792, 63495, 63742, 63332, 63779). 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>.

Actually support service `publishNotReadyAddresses`

This was added and the annotation was deprecated, but it was never
implemented.

xref #63741

**Release note**:

```release-note
The annotation `service.alpha.kubernetes.io/tolerate-unready-endpoints` is deprecated.  Users should use Service.spec.publishNotReadyAddresses instead.
```
2018-05-15 09:04:24 -07:00
David Eads
eb438b088c generated 2018-05-15 11:31:00 -04:00
David Eads
0c1c58846d stop generating service deletecollection 2018-05-15 11:30:59 -04:00
juanvallejo
57f308ae60 restore old cached client behavior 2018-05-15 10:37:53 -04:00
juanvallejo
4059355743 move cached_discovery to client-go/discovery 2018-05-15 10:20:56 -04:00
wojtekt
f344c5c062 Requires single name for list and watch 2018-05-15 14:19:21 +02:00