Commit Graph

17644 Commits

Author SHA1 Message Date
Daniel Smith
2da8b76c6b Update OWNERS 2017-01-12 15:23:13 -08:00
Antoine Pelisse
f6b57cd8a6 Update OWNERS approvers and reviewers: pkg/master 2016-12-19 15:52:07 -08:00
Kubernetes Submit Queue
36c20d1f5e Merge pull request #38525 from juanvallejo/jvallejo/fix-panic-on-invalid-json-syntax
Automatic merge from submit-queue (batch tested with PRs 38525, 38977)

Prevent json decoder panic on invalid input

Related downstream issue: https://github.com/openshift/origin/issues/12132
```
# Can be replicated on kubectl with:
$ cat panic.json
{
  "kind": "Pod",
  "apiVersion": "v1",
  "metadata": {
    "name": "",
    "labels": {
      "name": ""
    },
    "generateName": "",
    "namespace": "",
    "annotations": []
  },
  "spec": {}
},

$ kubectl create -f panic.json --validate=false
```

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

This patch handles cases where `ioutil.ReadAll` will return a single
character output on an invalid json input, causing the `Decode` method
to panic when it tries to calculate the line number for the syntax
error. The example below would cause a panic due to the trailing comma
at the end:

```
{
  "kind": "Pod",
  "apiVersion": "v1",
  "metadata": {
    "name": "",
    "labels": {
      "name": ""
    },
    "generateName": "",
    "namespace": "",
    "annotations": []
  },
  "spec": {}
},
```

@kubernetes/cli-review @fabianofranz
2016-12-19 13:23:03 -08:00
Kubernetes Submit Queue
ac36b0eae3 Merge pull request #38942 from brendandburns/flake
Automatic merge from submit-queue (batch tested with PRs 38942, 38958)

Refactor port allocation logic a little, deflake tests.

This should fix #38323 for real.

@xiangpengzhao @rmmh @justinsb 

Switch to manually cranking over the port filling logic, since there was a race between the allocate logic and the check to see if the port was freed up.
2016-12-19 08:45:43 -08:00
Kubernetes Submit Queue
d6046aab0e Merge pull request #38903 from deads2k/cli-16-fix-generic-create
Automatic merge from submit-queue (batch tested with PRs 38080, 38903)

prevent negotation on connections that dont' require it

Not all clientconfigs require negotiation.  Before there was a patch (hardcoded to an instance variable) that allowed this.  This updates the code to allow the same as before.

@kubernetes/sig-cli @fabianofranz

@ncdc you'll want to pick
2016-12-19 07:42:45 -08:00
Kubernetes Submit Queue
40bed8e189 Merge pull request #38080 from kargakis/requeue-on-selector-updates
Automatic merge from submit-queue

controller: sync deployments once they don't overlap anymore

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

@kubernetes/deployment
2016-12-19 07:31:15 -08:00
Kubernetes Submit Queue
75dfb21018 Merge pull request #38961 from wojtek-t/avoid_allocations_in_cacher
Automatic merge from submit-queue (batch tested with PRs 34353, 33837, 38878, 38961)

Reduce amount of allocations in cacher

Currently we are unnecessary copying stuff around in cacher.

This results in __tens of megabytes__ of allocations per __second__ in large clusters. This in turn results in expensive GC. Should help with metrics.

@gmarek
2016-12-19 06:43:43 -08:00
Kubernetes Submit Queue
5f82fe76a2 Merge pull request #38878 from kubernetes/revert-38780-ds-fix1
Automatic merge from submit-queue (batch tested with PRs 34353, 33837, 38878)

Revert "daemonset: bail out after we enqueue once"

I get overzealous sometimes.

Reverts kubernetes/kubernetes#38780
2016-12-19 06:43:00 -08:00
Michail Kargakis
04c6fecbc7 controller: use defaultResync for the deployment controller 2016-12-19 14:04:15 +01:00
Michail Kargakis
d19a1109e2 controller: sync deployments once they don't overlap anymore 2016-12-19 14:04:15 +01:00
Wojciech Tyczynski
457c9a2e6e Reduce amount of allocations in cacher 2016-12-19 13:51:07 +01:00
Brendan Burns
47b79de76e Refactor port allocation logic a little, deflake tests. 2016-12-18 21:18:34 -08:00
Kubernetes Submit Queue
5b2823adb9 Merge pull request #38191 from sttts/sttts-move-master-options
Automatic merge from submit-queue

Move non-generic apiserver code out of the generic packages
2016-12-17 01:25:45 -08:00
Kubernetes Submit Queue
9ba4a0effc Merge pull request #38908 from spxtr/wow
Automatic merge from submit-queue

Remove two zany unit tests.

These two tests aren't unit tests in the usual sense. We can consider switching them to run as verify checks, but I'm not convinced that they're even necessary.

They essentially work by searching their code for public functions with signatures that look like `FitPredicate`, then they shell out to grep to see that they're used somewhere in the source tree. This will never work in bazel.
2016-12-16 19:34:04 -08:00
Kubernetes Submit Queue
6c9a4139f3 Merge pull request #38614 from soltysh/remove_ext_jobs
Automatic merge from submit-queue (batch tested with PRs 37468, 36546, 38713, 38902, 38614)

Remove extensions/v1beta1 Job

Fixes https://github.com/kubernetes/kubernetes/issues/32763. This endpoint was deprecated in 1.5 and was planned to be removed in 1.6. 

**Release note**:
```release-note
Remove extensions/v1beta1 Jobs resource, and job/v1beta1 generator.
```
2016-12-16 18:55:37 -08:00
Kubernetes Submit Queue
425bae0cdf Merge pull request #37468 from bruceauyeung/k8s-branch-rename-constant-MaxPatchConflicts-to-maxRetryWhenPatchConflicts
Automatic merge from submit-queue (batch tested with PRs 37468, 36546, 38713, 38902, 38614)

rename constant MaxPatchConflicts to maxRetryWhenPatchConflicts

**What this PR does / why we need it**:
1. literally `MaxPatchConflicts` means max number of patch conflicts allowed during a patch operation. but actually in codes it is used to indicate max number of patch retry when patch conflicts happened.
2. there is no need to export this constant because it is only used in `resthandler.go`  and shouldn't be used in other packages.


Signed-off-by: bruceauyeung <ouyang.qinhua@zte.com.cn>
2016-12-16 18:55:28 -08:00
Kubernetes Submit Queue
699964c972 Merge pull request #38836 from bprashanth/kubelet_critical
Automatic merge from submit-queue

Admit critical pods in the kubelet

Haven't verified in a live cluster yet, just unittested, so applying do-not-merge label.
2016-12-16 17:21:46 -08:00
Maciej Szulik
cdec94523e Remove extensions/v1beta1 Job - generated changes 2016-12-17 00:07:25 +01:00
Maciej Szulik
9f064c57ce Remove extensions/v1beta1 Job 2016-12-17 00:07:24 +01:00
Joe Finney
b4c87a94a8 Remove two zany unit tests. 2016-12-16 14:49:05 -08:00
deads2k
9b507e8603 prevent negotation on connections that dont' require it 2016-12-16 16:26:55 -05:00
Kubernetes Submit Queue
faf959b522 Merge pull request #38869 from deads2k/api-52-in-cluster
Automatic merge from submit-queue

use in-cluster kubeconfig for genericapiserver

Allow the use of the in-cluster config to communicate with the core API server for delegated authn/authz for an addon API server.

@kubernetes/sig-api-machinery @sttts
2016-12-16 11:30:27 -08:00
Mike Danese
3a6593c9f1 Revert "daemonset: bail out after we enqueue once" 2016-12-16 10:18:06 -08:00
deads2k
bbcbdaffd1 use in-cluster kubeconfig for genericapiserver 2016-12-16 12:40:33 -05:00
Dr. Stefan Schimanski
7adaac79ca Update bazel 2016-12-16 17:49:23 +01:00
Dr. Stefan Schimanski
aa81e1d51d pkg/apiserver: move validation.go into pkg/registry 2016-12-16 17:49:22 +01:00
Dr. Stefan Schimanski
3be6b3c045 pkg/apiserver: remove unused code 2016-12-16 17:47:47 +01:00
Robert Rati
11c577f092 [scheduling] Auto-generated file updates from moving node affinity from
annotations to api fields. #35518
2016-12-16 11:42:43 -05:00
Robert Rati
91931c138e [scheduling] Moved node affinity from annotations to api fields. #35518 2016-12-16 11:42:43 -05:00
Dr. Stefan Schimanski
5e8ca29a76 Clean up apiserver and federation defaulting and validation 2016-12-16 17:23:43 +01:00
Dr. Stefan Schimanski
7267299c3c genericapiserver: move MasterCount and service options into master 2016-12-16 17:23:43 +01:00
Kubernetes Submit Queue
08342c1f3e Merge pull request #38825 from enj/enj/i/store_dead_code/38822
Automatic merge from submit-queue

Remove dead code in `pkg/registry/generic/registry/store.go`

Fixes #38822

Depending on the intent of the original code, the correct fix may instead be:

```go
if name, ok := p.MatchesSingle(); ok {
	key, err := e.KeyFunc(ctx, name)
	if err != nil {
		return nil, err
	}
	w, err := e.Storage.Watch(ctx, key, resourceVersion, p)
	if err != nil {
		return nil, err
	}
	if e.Decorator != nil {
		return newDecoratedWatcher(w, e.Decorator), nil
	}
	return w, nil
	// if we cannot extract a key based on the current context, the optimization is skipped
}
```

Signed-off-by: Monis Khan <mkhan@redhat.com>

cc @deads2k
2016-12-16 06:31:12 -08:00
Kubernetes Submit Queue
de3b73bd43 Merge pull request #38826 from sttts/sttts-secret-routes-real-mux
Automatic merge from submit-queue

genericapiserver: turn APIContainer.SecretRoutes into a real ServeMux

The secret routes `Mux` is actually a `http.ServeMux` and we are type-casting to it. For downstream we want to wrap it into a restful container which also needs a real `http.ServeMux`.
2016-12-16 05:51:45 -08:00
Kubernetes Submit Queue
0d80ee0b8d Merge pull request #38767 from kargakis/fix-setting-container-name-in-create-deployment
Automatic merge from submit-queue

kubectl: fix 'create deployment' to set container name correctly

@kubernetes/kubectl @kubernetes/sig-cli
2016-12-16 04:38:22 -08:00
Kubernetes Submit Queue
5b240ca897 Merge pull request #36748 from kargakis/remove-events-from-deployment-tests
Automatic merge from submit-queue

Fix Recreate for Deployments and stop using events in e2e tests

Fixes https://github.com/kubernetes/kubernetes/issues/36453 by removing events from the deployment tests. The test about events during a Rolling deployment is redundant so I just removed it (we already have another test specifically for Rolling deployments).

Closes https://github.com/kubernetes/kubernetes/issues/32567 (preferred to use pod LISTs instead of a new status API field for replica sets that would add many more writes to replica sets).

@kubernetes/deployment
2016-12-16 03:57:02 -08:00
Dr. Stefan Schimanski
e49fb2f1f4 genericapiserver: rename SecretRoutes -> UnlistedRoutes 2016-12-16 11:04:29 +01:00
Dr. Stefan Schimanski
df7e711c0a genericapiserver: turn APIContainer.SecretRoutes into a real ServeMux 2016-12-16 09:18:18 +01:00
Kubernetes Submit Queue
87444522d0 Merge pull request #32088 from piosz/fluentd-daemon-set
Automatic merge from submit-queue

Migrated fluentd addon to daemon set

fix #23224
supersedes #23306 

``` release-note
Migrated fluentd addon to daemon set
```
2016-12-15 23:04:40 -08:00
Kubernetes Submit Queue
e2a9fc1022 Merge pull request #38841 from mikedanese/fix-tests
Automatic merge from submit-queue

bazel: fix some unit tests
2016-12-15 20:19:46 -08:00
bprashanth
b7409e0038 Sort critical pods before admission 2016-12-15 18:58:13 -08:00
bprashanth
afd676d94c Kubelet admits critical pods even under memory pressure 2016-12-15 18:58:09 -08:00
Mike Danese
8fdec87d19 bazel: fix some unit tests 2016-12-15 18:36:22 -08:00
Kubernetes Submit Queue
15059e6a5b Merge pull request #38839 from janetkuo/remove-GroupMeta-Codec
Automatic merge from submit-queue (batch tested with PRs 38842, 38839)

Remove GroupMeta.Codec

Fixes #21826
2016-12-15 18:08:15 -08:00
Kubernetes Submit Queue
7ca5f92b58 Merge pull request #38780 from mikedanese/ds-fix1
Automatic merge from submit-queue

daemonset: bail out after we enqueue once

This isn't terrible because we dedup in the queue but it's a waste of
cycles.
2016-12-15 16:15:52 -08:00
Kubernetes Submit Queue
8d71970dcd Merge pull request #36462 from mikedanese/discovery
Automatic merge from submit-queue

kubeadm: refactor discovery behind an interface

This adds support for alternative discovery methods using discovery urls. It is a breaking change. This is a WIP.

Example usage:
```
$ kubeadm init --discovery token://
$ kubeadm join --discovery token://c05de9:ab224260fb3cd718@192.168.0.1:6555,191.168.0.2:6443
$ kubeadm join --discovery file:///etc/kubernetes/cluster.json
$ kubeadm join --discovery https://storage.google.apis.com/kube-discovery/98ea6e4/kubeconfig.json
```

@kubernetes/sig-cluster-lifecycle
2016-12-15 15:35:26 -08:00
Kubernetes Submit Queue
845187b15a Merge pull request #38647 from deads2k/cli-14-factory
Automatic merge from submit-queue

make kubectl factory composeable

Alternate resolution of https://github.com/kubernetes/kubernetes/pull/38524.

Currently, the kubectl factory cannot be cleanly composed because without polymorphism, any calls which delegate to other factory methods cannot injected.  We cannot reasonably predict everything a composer would want to override, so enumeration of individual "we think this field is important" function is untenable.  On the other hand, having a method registry func and attaching methods to it resulted in chaos before 1.5 and the cleaner interface.

This pull takes the approach of building the factory in "rings" of subfactories.  RingN relies on RingN-1 and the overall factory is a set of nested factories.  No function in a "ring" is allowed to reference a peer function, but it may reference a parent ring's function.  This allows us to easily compose one chain for raw kube, but an extender can simply wrap a particular ring with his custom handling of particular functions and then continue the chain as normal.  This allows customization of each individual function.

It turns out that we have three rings.
 1. discovery, negotiation, and no-dep functions
 1. object typing and type mapping
 1. stuff that relies on type mapping (builder)

This pull does nothing split apart the dependencies.  No behavior changes.  There's more cleanup that could be done (particularly in naming), but I'd like to defer that to a later step.

@kubernetes/sig-cli @fabianofranz @AdoHe this is going to be a pain to rebase, so quick reviews are appreciated.
@ncdc @smarterclayton
2016-12-15 14:51:29 -08:00
Janet Kuo
05a1b3f5a0 Remove GroupMeta.Codec 2016-12-15 14:20:26 -08:00
Mike Danese
690c7e578b kubeadm: refactor discovery behind an interface 2016-12-15 13:54:49 -08:00
Kubernetes Submit Queue
6b72259320 Merge pull request #38823 from bprashanth/svc_error_eater
Automatic merge from submit-queue

Don't eat 403 in service controller

I haven't done a stress run of Services e2es locally yet, but I did verify that this fixes the specific "stuck in pending bug"
2016-12-15 12:33:55 -08:00
deads2k
50f6733800 make kubectl factory rings 2016-12-15 15:18:16 -05:00