Commit Graph

41410 Commits (442d2c1404c93613a483742a60ea2e438024135b)

Author SHA1 Message Date
Xing Zhou 4fcc770367 Add three more columns to `kubectl get deploy -o wide` output.
Added CONTAINER(S), IMAGE(S) and SELECTOR fields to the output
of `kubectl get deploy -o wide`.
2016-12-28 03:07:13 +00:00
Kubernetes Submit Queue c3771cbaf9 Merge pull request #36922 from rkouj/refactor-operation-executor
Automatic merge from submit-queue

Refactor operation_executor to make it testable

**What this PR does / why we need it**:
To refactor operation_executor to make it unit testable

**Release note**:
`NONE`
2016-12-27 19:01:56 -08:00
Kubernetes Submit Queue d4bf500e73 Merge pull request #39055 from anguslees/detach
Automatic merge from submit-queue (batch tested with PRs 39152, 39142, 39055)

openstack: Forcibly detach an attached cinder volume before attaching elsewhere

Fixes #33288



**What this PR does / why we need it**:
Without this fix, we can't preemptively reschedule pods with persistent volumes to other hosts (for rebalancing or hardware failure recovery).

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

**Special notes for your reviewer**:
(This is a resurrection/cleanup of PR #33734, originally authored by @Rotwang)

**Release note**:
2016-12-27 17:10:14 -08:00
Kubernetes Submit Queue 64c21133f0 Merge pull request #39142 from k82cn/k8s_39136
Automatic merge from submit-queue (batch tested with PRs 39152, 39142, 39055)

Update NodeRef to v1.ObjectReference.

fixes #39136
2016-12-27 17:10:13 -08:00
Kubernetes Submit Queue 59bd66ce3e Merge pull request #39152 from liggitt/json-tags
Automatic merge from submit-queue (batch tested with PRs 39152, 39142, 39055)

Add test for json tags on internal and external types

Follow up from https://github.com/kubernetes/kubernetes/pull/38406

- adds static analysis tests preventing internal types from adding new json or protobuf tags
- adds static analysis tests requiring json tags on external types (and enforcing lower-case first letter)
- fixes issues found by the tests
2016-12-27 17:10:11 -08:00
Kubernetes Submit Queue 745928aa43 Merge pull request #39213 from k82cn/k8s_33936_master
Automatic merge from submit-queue (batch tested with PRs 38909, 39213)

Add TLS conf for Go1.7

fixes #33936 / #38596  in master
2016-12-27 16:14:12 -08:00
Kubernetes Submit Queue 17564eda29 Merge pull request #38909 from jingxu97/Dec/mounterfix
Automatic merge from submit-queue (batch tested with PRs 38909, 39213)

Add path exist check in getPodVolumePathListFromDisk

Add the path exist check in the function. If the path does not exist,
return empty list and nil error.

fix issue #38498
2016-12-27 16:14:10 -08:00
rkouj e7e3c55ad7 Add unit tests for MountVolume() of operation executor 2016-12-27 16:07:06 -08:00
rkouj d5f7610b82 Refactor operation_executor to make it unit testable 2016-12-27 15:12:16 -08:00
Minhan Xia ff6cdeb9b8 clean up logic that configs TX queue length 2016-12-27 14:43:47 -08:00
Minhan Xia 5e39b3d9c3 clean up exec network plugin 2016-12-27 14:04:57 -08:00
Kubernetes Submit Queue 32dad7ed85 Merge pull request #39252 from spxtr/bazelrules
Automatic merge from submit-queue

Add bazel-build and bazel-test to the Makefile.

Lets make these the source of truth rather than some script living in test-infra. That way we can test changes in presubmit.
2016-12-27 13:58:53 -08:00
Jing Xu 3fbf68ef68 Add path exist check in getPodVolumePathListFromDisk
Add the path exist check in the function. If the path does not exist,
return empty list and nil error.
2016-12-27 13:32:13 -08:00
Kubernetes Submit Queue 9ce8f10a4d Merge pull request #39172 from foxish/fix-help
Automatic merge from submit-queue

Add PDB to kubectl get --help.

**What this PR does / why we need it**: Adds PDB to kubectl get --help

**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/39100

**Release note**:

```release-note
NONE
```

/cc @saad-ali @mwielgus
2016-12-27 13:19:36 -08:00
Kubernetes Submit Queue b6d7fa7d5f Merge pull request #39021 from wojtek-t/retry_conn_reset_by_peer
Automatic merge from submit-queue

Automatically retry "connection reset by peer" errors

Ref #38776
2016-12-27 13:19:27 -08:00
Kubernetes Submit Queue 9c2bd62159 Merge pull request #39206 from thockin/allocator-repair-race
Automatic merge from submit-queue (batch tested with PRs 39250, 39206)

WIP: work around for IP and port Allocator repair race

Fixes #37488

WIP: This does the IP allocator but not the port allocator yet.  Sending for review before I clone the deltas for ports.

Idea: force the repair loop to detect a leak 3 times in a row before actually releasing the IP.  That should allow any distributed races to resolve.  It's a little hacky, but without mutual exclusion or proper transactions, it works.
2016-12-27 12:24:08 -08:00
spxtr 1dbfaa8ef6 Add bazel-build and bazel-test to the Makefile. 2016-12-27 11:48:23 -08:00
Kubernetes Submit Queue 87d6fe4e55 Merge pull request #39250 from MrHohn/add-dns-assignees
Automatic merge from submit-queue

Adds assignees for kube-dns

Adds assignees for auto-assigning. Does not add assignees for pkg/dns folder as we are moving it out.

@thockin
2016-12-27 11:22:27 -08:00
Zihong Zheng c2771def45 Adds assignees for kube-dns 2016-12-27 09:50:38 -08:00
Kubernetes Submit Queue 5402b4de48 Merge pull request #39034 from MrHohn/dns-autoscale-link
Automatic merge from submit-queue

Adds kubernetes.io link for dns autoscaler addon

The [official page for DNS Horizontal Autoscaling](http://kubernetes.io/docs/tasks/administer-cluster/dns-horizontal-autoscaling/) is available on kubernetes.io after 1.5 release. Putting the link into this dns autoscaler addon folder as well.

@bowei
2016-12-27 09:47:13 -08:00
Kubernetes Submit Queue 8c28bb3a5a Merge pull request #37659 from mwielgus/update-namespace
Automatic merge from submit-queue

Enable update tests in federated namespace controller

Previously it was disabled because of flakiness.

cc: @nikhiljindal @madhusudancs
2016-12-27 08:30:35 -08:00
Wojciech Tyczynski ba07a36651 Avoid copying volumes in scheduler 2016-12-27 16:11:11 +01:00
Wojciech Tyczynski d1292a7397 Optimize memory allocations in controller manager 2016-12-27 16:11:11 +01:00
Kubernetes Submit Queue 7b134995e5 Merge pull request #37513 from xiaolou86/podAffinity
Automatic merge from submit-queue

Optimize pod affinity when predicate

Optimize by returning as early as possible to avoid invoking priorityutil.PodMatchesTermsNamespaceAndSelector.
2016-12-27 06:46:54 -08:00
Kubernetes Submit Queue a1265e0864 Merge pull request #37538 from resouer/fix-e2e-respect-id
Automatic merge from submit-queue

CreateNodeSelectorPods should respect parameter

Fix (1): `CreateNodeSelectorPods` should respect parameter `id`.

The existing e2e does not break because it happened use "node-selector" as id, which  is the same as the hard coded value.

Fix (2): The current `CreateNodeSelectorPods` does not use `nodeSelector` parameter, it hard coded a label instead.

The reason current e2e does not influenced because we happened use the same label: https://github.com/kubernetes/kubernetes/blob/master/test/e2e/cluster_size_autoscaling.go#L177

Found these bugs during testing #36238
2016-12-27 04:43:46 -08:00
Wojciech Tyczynski 9a4828821d Retry connection reset by peer 2016-12-27 10:01:42 +01:00
Tim Hockin 64f5b050a1 Fix race in service nodeport allocator repair loop 2016-12-26 21:59:28 -08:00
Tim Hockin 103b7c01c1 Add a ForEach() to port allocator 2016-12-26 21:59:28 -08:00
Tim Hockin 0777ecd030 Fix race in service IP allocation repair loop 2016-12-26 21:59:27 -08:00
Tim Hockin 2b5a10f8ff Add a ForEach() to IP allocator 2016-12-26 21:59:27 -08:00
Tim Hockin f75bed8682 Add a ForEach() to bitmap allocator 2016-12-26 21:59:27 -08:00
Kubernetes Submit Queue 6fd22784a4 Merge pull request #38078 from resouer/fix-unmount
Automatic merge from submit-queue

Raise markVolMountedErr instead of unmountErr

Hit this when debugging https://github.com/kubernetes/kubernetes/issues/37657

We wrongly raised `unmountErr` when `markVolMountedErr` occurs.
2016-12-26 02:33:55 -08:00
Harry Zhang 5a7661b483 Raise markVolMountedErr instead of mount err 2016-12-26 07:52:51 +00:00
Kubernetes Submit Queue 1ee7163308 Merge pull request #36802 from brendandburns/i18n
Automatic merge from submit-queue

Begin paths for internationalization in kubectl

This is just the first step, purposely simple so we can get the interface correct.

@kubernetes/sig-cli @deads2k
2016-12-24 13:09:12 -08:00
Jordan Liggitt a209040ac8
Include swaggerapi urls in system:discovery role 2016-12-24 12:36:38 -05:00
Marko Luksa 764e8bd6c6 Kubectl top now also accepts short forms for "node" and "pod" ("no" and "po") 2016-12-24 17:25:08 +01:00
Klaus Ma 3bfe14b316 Add TLS conf for Go1.7 2016-12-24 15:36:45 +08:00
Brendan Burns 277306449b Add initial translation support. 2016-12-23 20:45:52 -08:00
Kubernetes Submit Queue 24b3f6c494 Merge pull request #39181 from lukaszo/defaulting
Automatic merge from submit-queue (batch tested with PRs 38460, 39181)

Increase number of iterations in TestDefaulting
2016-12-23 10:51:28 -08:00
Kubernetes Submit Queue 1d7538f87e Merge pull request #38460 from xilabao/remove-duplicate-wrapUpdatedObjectInfo
Automatic merge from submit-queue

remove wrapUpdatedObjectInfo from rbac storage

update by TODO
2016-12-23 10:18:12 -08:00
Kubernetes Submit Queue b3fb6cb5fb Merge pull request #35191 from SamiHiltunen/commas-in-secrets
Automatic merge from submit-queue

kubectl: commas in --from-literal on secret creation

Closes #35185

``` release-note
Fixes an issue where commas were not accepted in --from-literal flags when creating secrets. Passing multiple values separated by a comma in a single --from-literal flag is no longer supported. Please use multiple --from-literal flags to provide multiple values.
```
2016-12-23 08:04:50 -08:00
Kubernetes Submit Queue 1c2a23e48c Merge pull request #39014 from resouer/fix-nil-glusterfs
Automatic merge from submit-queue (batch tested with PRs 39029, 39014)

[Glusterfs Vol Plugin]: Check kube client is invalid and return error

Fixes: #38939

In volume plugins, we need to create a kube client to make api call. And this kube client can be nil when, for example, wrong api-server configuration, but kubelet should not crash in this case.

I have also checked other plugins and found only glusterfs need this fix.
2016-12-23 06:39:29 -08:00
Michail Kargakis fa02986c80 examples: use 'kubectl scale' in cockroach statefulset example 2016-12-23 15:37:18 +01:00
Kubernetes Submit Queue 67a3cd3a58 Merge pull request #39029 from kad/issue75
Automatic merge from submit-queue

Fix cloud-config name in test case

**What this PR does / why we need it**: fixes default cloud-config name in test cases for reset.

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

**Special notes for your reviewer**:

**Release note**:
```release-note
NONE
```
2016-12-23 06:21:27 -08:00
Kubernetes Submit Queue 9d38145cfb Merge pull request #37887 from bruceauyeung/k8s-branch-use-bytes-buffer-instead-of-append-for-error-string-concat
Automatic merge from submit-queue

use bytes.Buffer instead of append for error string concat

**What this PR does / why we need it**:
1. in my benchmark test, `bytes.Buffer` takes much less time ( about 1:1000 ) than string append( `+=` ). 
>BenchmarkAppendConcat-4           100000            151438 ns/op          578181 B/op          2 allocs/op
BenchmarkBufferSprintf-4         3000000               487 ns/op              65 B/op          3 allocs/op
BenchmarkBufferConcat-4          5000000               271 ns/op              47 B/op          1 allocs/op

the benchmark codes is here  https://play.golang.org/p/LS52zGuwZN

2. in our `RunInitMasterChecks`, `RunJoinNodeChecks` there are lots of preflight checks. they may result in a huge error message. so `bytes.Buffer` can bring considerable performance enhancement in the worst of conditions.

beyond that, this PR 
1. fix an exported struct comment,
1. and use `found = append( found, errs...)` instead of for loop for simplicity.


Signed-off-by: bruceauyeung <ouyang.qinhua@zte.com.cn>
2016-12-23 03:56:32 -08:00
Kubernetes Submit Queue 48793a48d4 Merge pull request #34273 from wlan0/master
Automatic merge from submit-queue (batch tested with PRs 39093, 34273)

start breaking up controller manager into two pieces

This PR addresses: https://github.com/kubernetes/features/issues/88

This commit starts breaking the controller manager into two pieces, namely,
1. cloudprovider dependent piece
2. coudprovider agnostic piece

the controller manager has the following control loops -
- nodeController
- volumeController
- routeController
- serviceController
- replicationController
- endpointController
- resourceQuotaController
- namespaceController
- deploymentController 
  etc..

among the above controller loops,
- nodeController
- volumeController
- routeController
- serviceController

are cloud provider dependent. As kubernetes has evolved tremendously, it has become difficult
for different cloudproviders (currently 8), to make changes and iterate quickly. Moreover, the
cloudproviders are constrained by the kubernetes build/release lifecycle. This commit is the first
step in moving towards a kubernetes code base where cloud providers specific code will move out of
the core repository, and will be maintained by the cloud providers themselves.

I have added a new cloud provider called "external", which signals the controller-manager that
cloud provider specific loops are being run by another controller. I have added these changes in such
a way that the existing cloud providers are not affected. This change is completely backwards compatible, and does not require any changes to the way kubernetes is run today.

Finally, along with the controller-manager, the kubelet also has cloud-provider specific code, and that will be addressed in a different commit/issue.

@alena1108 @ibuildthecloud @thockin @dchen1107 

**Special notes for your reviewer**:

@thockin - Im making this **WIP** PR to ensure that I don't stray too far from everyone's view of how we should make this change. As you can see, only one controller, namely `nodecontroller` can be disabled with the `--cloudprovider=external` flag at the moment. I'm working on cleaning up the `rancher-controller-manger` that I wrote to test this.

Secondly, I'd like to use this PR to address cloudprovider specific code in kubelet and api-server.

**Kubelet**
Kubelet uses provider specific code for node registration and for checking node-status. I thought of two ways to divide the kubelet: 
- We could start a cloud provider specific kubelet on each host as a part of kubernetes, and this cloud-specific-kubelet does node registration and node-status checks. 
- Create a kubelet plugin for each provider, which will be started by kubelet as a long running service. This plugin can be packaged as a binary.

I'm leaning towards the first option. That way, kubelet does not have to manage another process, and we can offload the process management of the cloud-provider-specific-kubelet to something like systemd. 

@dchen1107 @thockin what do you think?

**Kube-apiserver**

Kube-apiserver uses provider specific code for distributing ssh keys to all the nodes of a cluster. Do you have any suggestions about how to address this? 

**Release note**:

``` release-note
```
2016-12-23 01:25:28 -08:00
Kubernetes Submit Queue 58d319e589 Merge pull request #39093 from dgoodwin/token-default
Automatic merge from submit-queue

kubeadm: Default to using token discovery.

Recent changes to support multiple methods for discovery meant that
"kubeadm init" no longer was sufficient and users would need to add
"--discovery token://" to achieve the same results.

Instead lets assume discovery if the user does not specify anything else
to maintain parity and the brevity of our original instructions.


**Release note**:

```release-note
NONE
```

CC @mikedanese @luxas
2016-12-23 01:20:00 -08:00
Kubernetes Submit Queue 5f0ece92de Merge pull request #39008 from brendandburns/unicode
Automatic merge from submit-queue

Support loading UTF16 files if a byte-order-mark is present

Add support in kubectl for loading UTF16 encoded files if they have a correct BOM (Byte-Order-Mark https://en.wikipedia.org/wiki/Byte_order_mark) at the beginning
of the file. Falls back on UTF8 encoding, if no understandable BOM is present.

Fixes part of https://github.com/kubernetes/kubernetes/issues/39007

@fabianofranz @deads2k @kubernetes/sig-cli-misc
2016-12-22 22:11:13 -08:00
Kubernetes Submit Queue c200f27245 Merge pull request #38090 from xingzhou/kube-37654
Automatic merge from submit-queue (batch tested with PRs 38920, 38090)

Improve error message for name/label validation.

Instead of just providing regex in name/label validation error output, we need to add the naming rules of the name/label, which is more end-user readable.

Fixed #37654
2016-12-22 22:00:30 -08:00
Kubernetes Submit Queue ff8e8c6778 Merge pull request #38920 from k82cn/k8s_37979
Automatic merge from submit-queue

Add event when failed to open local port.

fixes #37979 .
2016-12-22 21:32:27 -08:00