Commit Graph

14723 Commits (956501b1f0923786c404c062d8ba001a10b3a784)

Author SHA1 Message Date
Kubernetes Submit Queue 5d25bffffe Merge pull request #30153 from mikedanese/auto-approve
Automatic merge from submit-queue

add an option to controller-manager to auto approve all CSRs

I think we talked about this.

cc @gtank
2016-08-22 22:24:06 -07:00
Rudi Chiarito b5464a970f Implement ExternalName in kube-dns 2016-08-23 00:55:47 -04:00
Kubernetes Submit Queue f3329b7bae Merge pull request #30923 from Q-Lee/configure-webhook
Automatic merge from submit-queue

Configure webhook

**What this PR does / why we need it**: this configures the image policy webhook + admission controller for gce/gci.

addresses: #22888

**Release note**:
```Configure image verification admission controller and webhook on gce.
```
2016-08-22 21:46:47 -07:00
jianhuiz 858e515f85 ignore clusterName on create and update 2016-08-22 21:09:57 -07:00
jianhuiz 7be20b0dac add ClusterName field to ObjectMeta 2016-08-22 21:09:57 -07:00
Kubernetes Submit Queue 25ce84b34e Merge pull request #31140 from thockin/feature-gate-fixes
Automatic merge from submit-queue

Make 'allAlpha' a special feature gate

Rather than making all caller check both allAlpha and their own flag, make `allAlpha` set all of the alpha gates explicitly.

This is hard to test because of the globalness.  I will follow this commit with a new one to add some way to test, but I wanted to float this design
2016-08-22 21:06:29 -07:00
Paul Morie b91ad76066 Kubelet code move: volume / util 2016-08-22 23:35:11 -04:00
Kubernetes Submit Queue df22dd70b8 Merge pull request #31033 from mml/evict
Automatic merge from submit-queue

Implementation of the /eviction subresource.
2016-08-22 20:25:09 -07:00
Paul Morie d22ffb0402 Add validation preventing recycle of / in a hostPath PV 2016-08-22 23:20:20 -04:00
Timothy St. Clair 99e017661a Fix for etcd3 TLS config options 2016-08-22 22:17:55 -05:00
Timothy St. Clair 49b7ebd791 Switch UT default settings to leverage etcd3.v3client 2016-08-22 22:17:55 -05:00
Kubernetes Submit Queue 5f7c02c40c Merge pull request #30753 from feiskyer/sandbox-name
Automatic merge from submit-queue

Kubelet: pass pod name/namespace/uid in new runtime API

First part of #30463.

Pass pod name/namespace/uid in new runtime API and change dockershim to build unique sandbox/container name based on them.

CC @yujuhong @euank @yifan-gu @kubernetes/sig-node
2016-08-22 19:41:44 -07:00
AdoHe bf66113802 fix kubectl get cluster display issue 2016-08-23 10:25:01 +08:00
Angus Salkeld c955de2ba8 Make sure the StatusCode is taken into account in DoRaw()
Currently if there is an error (not found) the error printed out
is to do with the inablity to convert an empty body into the expected json.

This patch will fill in the err correctly.

example of before (with NotFound error):
$ kubectl top node
failed to unmarshall heapster response: json: cannot unmarshal object into Go value of type []v1alpha1.NodeMetrics

Now:
$ kubectl top node
the server could not find the requested resource (get services http:heapster:)
2016-08-23 11:42:42 +10:00
lojies f5b7a6e2a3 add valid resources when args is nil 2016-08-23 09:40:57 +08:00
Tim Hockin 34bd1e391e Don't panic if the feature-gate flag was not used 2016-08-22 17:41:25 -07:00
Kubernetes Submit Queue d9533c9530 Merge pull request #29969 from ZTE-PaaS/zhangke-patch-015
Automatic merge from submit-queue

remove duplicate code in updatePodCIDR

As kl.runtimeState.podCIDR() is a sync method, need fetch lock and release lock, so we only invoke once here
2016-08-22 17:40:43 -07:00
Kubernetes Submit Queue 0babf0ed6d Merge pull request #30270 from ZJU-SEL/fix-minor-mistakes
Automatic merge from submit-queue

fix minor mistakes

<!--
Checklist for submitting a Pull Request

Please remove this comment block before submitting.

1. Please read our [contributor guidelines](https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md).
2. See our [developer guide](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md).
3. If you want this PR to automatically close an issue when it is merged,
   add `fixes #<issue number>` or `fixes #<issue number>, fixes #<issue number>`
   to close multiple issues (see: https://github.com/blog/1506-closing-issues-via-pull-requests).
4. Follow the instructions for [labeling and writing a release note for this PR](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes) in the block below.
-->

Signed-off-by: Xianglin Gao <xlgao@zju.edu.cn>
2016-08-22 17:40:39 -07:00
Kubernetes Submit Queue 6a1c63fd37 Merge pull request #30857 from better0332/master
Automatic merge from submit-queue

fix FakeNodeHandler List()
2016-08-22 17:40:34 -07:00
Kubernetes Submit Queue b569a8daa9 Merge pull request #31053 from justinsb/dont_close_over_range_loops
Automatic merge from submit-queue

Avoid closing over range variables
2016-08-22 17:40:25 -07:00
Kubernetes Submit Queue 54ca389012 Merge pull request #30802 from MHBauer/ensure-mounter
Automatic merge from submit-queue

ensure pkg/util/mount compiles & crosses

<!--  Thanks for sending a pull request!  Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
-->

**What this PR does / why we need it**:
osx doesn't build
**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #30795

**Special notes for your reviewer**:

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

 - move compile time check from linux code to generic code
 - remove duplication of #30724 and #30666 to resolve #30795
2016-08-22 17:40:16 -07:00
Quintin Lee 2be0b40c55 Actually link in ImagePolicyWebhook and run initialization. 2016-08-22 16:54:03 -07:00
Tobias Schmidt 12c248315f Filter internal Kubernetes labels from Prometheus metrics
Kubernetes uses Docker labels as storage for some internal labels. The
majority of these labels are not meaningful metric labels and a few of
them are even harmful as they're not static and cause wrong aggregation
results.

This change provides a custom labels func to only attach meaningful
labels to cAdvisor exported metrics.
2016-08-22 19:44:27 -04:00
Pengfei Ni df00ec0c79 Kubelet: implement GetNetNS for new runtime api 2016-08-23 07:44:15 +08:00
Matt Liggett d82a5914da Re-run hack/update-all 2016-08-22 16:38:00 -07:00
Matt Liggett c86b84ccc0 Add /eviction subresource.
This is for #12611.
2016-08-22 16:38:00 -07:00
Pengfei Ni 9bfa37f2ae Kubelet: pass pod name/namespace/uid to runtimes 2016-08-23 07:33:15 +08:00
Kubernetes Submit Queue 5f9f8cc42c Merge pull request #30419 from quinton-hoole/2016-08-10-federated-ingress-controller
Automatic merge from submit-queue

Federated Ingress Controller

Based on new federated controller libraries. 

cc @kubernetes/sig-cluster-federation @mfanjie @nikhiljindal @mwielgus @mml @madhusudancs FYI
2016-08-22 15:26:53 -07:00
Minhan Xia ec5699e451 clean up oldIptablesMasqueradeMark 2016-08-22 15:05:13 -07:00
Kubernetes Submit Queue a6d37f7ead Merge pull request #30951 from caesarxuchao/increase-gc-resync-period
Automatic merge from submit-queue

[GarbageCollector] Garbage collector doesn't need to resync

ref https://github.com/kubernetes/kubernetes/issues/30759#issuecomment-240904817

Perhaps this is going to help controller manager's CPU consumption. 

@wojtek-t
2016-08-22 14:14:51 -07:00
Tim Hockin f77576bc2b Capitalize feature gates
Also rename variables for clarity
2016-08-22 13:57:35 -07:00
Tim Hockin 6c75bd8be5 Make 'allAlpha' a special feature gate
Rather than making all caller check both allAlpha and their own flag, make
allAlpha set the alpha gates explicitly, iff they were not already set.
2016-08-22 13:57:35 -07:00
Kubernetes Submit Queue 7bd8d7d0c2 Merge pull request #30843 from hongchaodeng/tls
Automatic merge from submit-queue

etcd3 backend: support TLS

What?
Support TLS in etcd3 storage backend.
It works the same as previous etcd2 config.

- [ ] Blocked on #https://github.com/kubernetes/kubernetes/pull/30480
2016-08-22 13:33:24 -07:00
Quinton Hoole 97d6494c41 Add Federated Ingress Controller. 2016-08-22 12:59:54 -07:00
Mike Danese 5af42f6380 autogenerated 2016-08-22 11:46:01 -07:00
Mike Danese 9f379df76b add an option to controller-manager to auto approve all CSRs 2016-08-22 11:46:01 -07:00
Chao Xu 67b7c7290a Allow per-resource default garbage collection behavior 2016-08-22 11:37:04 -07:00
Chao Xu 10a4e912a8 gc never resync 2016-08-22 11:32:37 -07:00
derekwaynecarr f40c1a7097 Fix quota constraints func for pvc 2016-08-22 14:18:15 -04:00
derekwaynecarr 04bf2acfc5 Fix quota constraints func for services 2016-08-22 14:17:56 -04:00
Kubernetes Submit Queue 119c0028ee Merge pull request #30904 from rootfs/cinder-prov2
Automatic merge from submit-queue

support storage class in Cinder provisioner

replace #30876

@kubernetes/sig-storage @jsafrane
2016-08-22 11:06:45 -07:00
Kubernetes Submit Queue 969ce77757 Merge pull request #30121 from feiskyer/kuberuntime-getpods
Automatic merge from submit-queue

Kubelet: implement GetPods for new runtime API

Implement GetPods for kuberuntime. Part of #28789 .

CC @yujuhong @Random-Liu
2016-08-22 10:24:23 -07:00
Kubernetes Submit Queue bfafb6f425 Merge pull request #30695 from krancour/manage-elb-attributes
Automatic merge from submit-queue

AWS: More ELB attributes via service annotations

Replaces #25015 and addresses all of @justinsb's feedback therein. This is a new PR because I was unable to reopen #25015 to amend it.

I noticed recently that there is existing (but undocumented) precedent for the AWS cloud provider to manage ELB-specifc load balancer configuration based on service annotations.  In particular, one can _already_ designate an ELB as "internal" or enable PROXY protocol.

This PR extends this capability to the management of ELB attributes, which includes the following items:
* Access logs:
    * Enabled / disabled
    * Emit interval
    * S3 bucket name
    * S3 bucket prefix
* Connection draining:
    * Enabled / disabled
    * Timeout
* Connection:
    * Idle timeout
* Cross-zone load balancing:
    * Enabled / disabled

Some of these are possibly more useful than others.  Use cases that immediately come to mind:

* Enabling cross-zone load balancing is potentially useful for "Ubernetes Light," or anyone otherwise attempting to spread worker nodes around multiple AZs.
* Increasing idle timeout is useful for the benefit of anyone dealing with long-running requests. An example I personally care about would be git pushes to Deis' builder component.
2016-08-22 10:24:12 -07:00
Xing Zhou 48100f7117 Fixed two issues of kubectl bosh completion.
This patch includes the fix of the following issue:
• Correct the method invocation from "__kubectl_namespace_flag"
  to "__kubectl_override_flags"
• Support bash completion if "--namespace=xxx" style flags are
  specified in the kubectl command

Fixes #31134
2016-08-23 01:13:38 +08:00
Michael Fraenkel d7d1bd592d Add ScaleExpansion to client v1.4 2016-08-22 09:58:28 -04:00
Jan Safranek a596668de7 Add constants and documentation aroung AWS magic numbers
Also, remove check for IOPS per GB, AWS checks it on its own.
2016-08-22 15:30:47 +02:00
Huamin Chen 259bce370e support storage class in Cinder provisioner
Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-08-22 09:28:29 -04:00
Kubernetes Submit Queue cfe7a4391a Merge pull request #31060 from rata/secret-configmap-file-mode
Automatic merge from submit-queue

Fix coding style

cc @pmorie

**What this PR does / why we need it**: Fixes case on a variable name, it's simple and adjust the code to the coding style.

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```NONE
```
2016-08-22 06:19:47 -07:00
Kubernetes Submit Queue 2b8e95624a Merge pull request #30881 from deads2k/impersonate-user-extra
Automatic merge from submit-queue

Impersonate user extra

Second commit builds on https://github.com/kubernetes/kubernetes/pull/30803.

This adds a restriction to `user.Info.Extra`, keys must be lower case.  This is because HTTP headers are case insensitive, so we can't be sure that we'll get the right case through proxies or even Go (the go library capitalizes after dashes).  I don't think anyone is using them, if they are, they'll need to update to properly plumb through an impersonation flow.

@kubernetes/sig-auth 
@ericchiang since you have background here.
2016-08-22 06:19:38 -07:00
Michail Kargakis 51a894e616 kubectl: display ready replicas in 'get {rs,rc}' 2016-08-22 15:12:14 +02:00
Wojciech Tyczynski 2804055978 Avoid sorting List when unnecessary 2016-08-22 15:07:17 +02:00
Wojciech Tyczynski 3cfd3c236c Support UnsortedList() in auto-generated sets. 2016-08-22 15:05:37 +02:00
Kubernetes Submit Queue 2376db0e6e Merge pull request #31047 from liggitt/close-websocket-streaming
Automatic merge from submit-queue

Close websocket stream when client closes

Same problem as #30736, but for websocket streaming
2016-08-22 04:59:23 -07:00
deads2k 432e6ecdae allow impersonating user.Info.Extra 2016-08-22 07:43:52 -04:00
Kubernetes Submit Queue d12efc4702 Merge pull request #31044 from caesarxuchao/fix-ratelimiter-gc
Automatic merge from submit-queue

[GarbageCollector] Make Rate Limiter registration more efficient in GC

<!--  Thanks for sending a pull request!  Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
-->

**What this PR does / why we need it**:
Decrease the CPU consumption of the garbage collector

**Which issue this PR fixes** 
#30759

**Special notes for your reviewer**:
I observed dramatic improvement (dropped from 0.8cpu to 0.3cpu) in load test.

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
```



@wojtek-t @lavalamp @gmarek
2016-08-22 04:17:03 -07:00
Kubernetes Submit Queue 1e5a5a2eac Merge pull request #30976 from wojtek-t/validated_selector
Automatic merge from submit-queue

	Don't validate selector that is already validated

Ref #30875

@timothysc
2016-08-22 03:34:44 -07:00
Kubernetes Submit Queue e29f1e2d11 Merge pull request #30948 from lavalamp/fix
Automatic merge from submit-queue

Do not hold the lock for a long time

Followup to #30839.

I'm not convinced this is a super great idea but I'll throw it out and let others decide.

Ref https://github.com/kubernetes/minikube/issues/368
Ref #30759
2016-08-22 02:50:19 -07:00
Wojciech Tyczynski 0459574450 Revert "Use netlink.SetPromiscOn instead of iproute2 command" 2016-08-22 10:28:11 +02:00
Kubernetes Submit Queue 364d696fd5 Merge pull request #30563 from knarz/master
Automatic merge from submit-queue

AWS: Support HTTP->HTTP mode for ELB

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

Right now it is not possible to create an AWS ELB that listens for HTTP and where the backend pod also listens for HTTP.
I asked @justinsb in slack and he said that this seems to be an oversight, so I'd like to use this PR as a step towards solving this.

**Special notes for your reviewer**:

I've only added a simple unit test. Are any integration tests needed? I'm not familiar with the code base.

cc @therc
2016-08-22 00:54:44 -07:00
Kubernetes Submit Queue 5b5a4145da Merge pull request #30821 from ardnaxelarak/21076_change_isEmpty_to_Empty
Automatic merge from submit-queue

Rename IsEmpty to Empty

addresses #21076
2016-08-22 00:54:28 -07:00
Wojciech Tyczynski e9d5be628a Don't validate selector that is already validated 2016-08-22 09:39:32 +02:00
Wojciech Tyczynski 42aee3ac5e Allow for selector creation without validation 2016-08-22 09:39:32 +02:00
Kubernetes Submit Queue ada5669c7f Merge pull request #30346 from dshulyak/promisc
Automatic merge from submit-queue

Use netlink.SetPromiscOn instead of iproute2 command

Depends on https://github.com/vishvananda/netlink/pull/157
Related https://github.com/kubernetes/kubernetes/issues/26093
2016-08-21 23:34:21 -07:00
Tim St. Clair 293770ef31
AppArmor PodSecurityPolicy implementation 2016-08-21 23:10:45 -07:00
Kubernetes Submit Queue 52b3ef6f9c Merge pull request #30722 from timstclair/aa-validation
Automatic merge from submit-queue

Validate AppArmor annotations in the API server

This is important because it applies the same validation to the annotations that we would eventually want for the AppArmor fields, which will smooth the upgrade path.

/cc @pmorie @pweil- @jfrazelle @vishh
2016-08-21 22:55:04 -07:00
Hongchao Deng 77ffae128e add boilerplate 2016-08-21 21:45:36 -07:00
Kubernetes Submit Queue a316e6def2 Merge pull request #30880 from markturansky/add_encryption
Automatic merge from submit-queue

Add encryption to EBS dynamic provisioner

Resolves https://github.com/kubernetes/kubernetes/issues/30792

Adds encryption to the EBS cloud provider and provisioner.

Follow up to #29006 (all commits but the one in this PR will drop out).

@kubernetes/sig-storage 


```release-note
```
2016-08-21 21:29:55 -07:00
Hongchao Deng 41d14d665e fix 2016-08-21 21:08:16 -07:00
Tim St. Clair 839034b46b
Validate AppArmor annotations in the API server 2016-08-21 20:59:11 -07:00
Tim St. Clair f94df59791
Remove apparmor dependency on pkg/kubelet/lifecycle 2016-08-21 20:59:11 -07:00
Pengfei Ni e3e10ddf8a Kubelet: implement GetPods for kuberuntime 2016-08-22 10:59:05 +08:00
Kubernetes Submit Queue 5b6e1c37c6 Merge pull request #29481 from kargakis/available-replicas-on-replica-sets
Automatic merge from submit-queue

Add readyReplicas to replica sets

@bgrant0607 for the api changes

@bprashanth for the controllers changes

@deads2k fyi
2016-08-21 19:44:50 -07:00
Morgan Bauer 92a043e833
ensure pkg/util/mount compiles & crosses
- move compile time check from linux code to generic code
2016-08-21 17:47:24 -07:00
Kubernetes Submit Queue 0039d75dd0 Merge pull request #30896 from mfojtik/add-get
Automatic merge from submit-queue

Add Get() to cache listers

@kargakis @deads2k  PTAL
2016-08-21 17:31:26 -07:00
Kubernetes Submit Queue b51d5c3cc0 Merge pull request #30638 from krousey/metrics_registration
Automatic merge from submit-queue

Remove implicit Prometheus metrics from client

**What this PR does / why we need it**: This PR starts to cut away at dependencies that the client has.

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
The implicit registration of Prometheus metrics for request count and latency have been removed, and a plug-able interface was added. If you were using our client libraries in your own binaries and want these metrics, add the following to your imports in the main package: "k8s.io/pkg/client/metrics/prometheus". 
```

cc: @kubernetes/sig-api-machinery @kubernetes/sig-instrumentation @fgrzadkowski  @wojtek-t
2016-08-21 16:47:05 -07:00
Kubernetes Submit Queue 1def4a0458 Merge pull request #30690 from wongma7/claimref-capacity
Automatic merge from submit-queue

Don't bind pre-bound pvc & pv if size request not satisfied

as discussed briefly here https://github.com/kubernetes/kubernetes/pull/30522 , volume size ought to be verified before binding a pv & pvc regardless of what's in the pv's claimRef. @thockin
2016-08-21 16:02:14 -07:00
Hongchao Deng 6e4f80909d unit test for tls of etcd3 2016-08-21 15:59:51 -07:00
Hongchao Deng 014ad63111 etcd3 backend: support TLS 2016-08-21 15:59:51 -07:00
Kubernetes Submit Queue 9669eaaa39 Merge pull request #31082 from liggitt/pvc_test_race
Automatic merge from submit-queue

Fix data race in PVC Run/Stop methods

Fixes #30947
Fixes #30775
2016-08-21 14:42:35 -07:00
Kubernetes Submit Queue d1ed6f598f Merge pull request #30614 from AdoHe/run_pull_policy
Automatic merge from submit-queue

kubectl run add pull-policy flag to control image pull policy

```release-note
Add support for --image-pull-policy to 'kubectl run'
```

Fix #30493 
@pwittrock @thockin ptal
2016-08-21 14:04:15 -07:00
Jordan Liggitt 387f9ea952
Fix data race in PVC Run/Stop methods 2016-08-21 15:15:33 -04:00
Kubernetes Submit Queue 5d54c55710 Merge pull request #30212 from feiskyer/kuberuntime-flag
Automatic merge from submit-queue

Kubelet: add --container-runtime-endpoint and --image-service-endpoint

Flag `--container-runtime-endpoint` (overrides `--container-runtime`) is introduced to identify the unix socket file of the remote runtime service. And flag `--image-service-endpoint` is introduced to identify the unix socket file of the image service.

This PR is part of #28789 Milestone 0. 

CC @yujuhong @Random-Liu
2016-08-21 12:03:10 -07:00
Kubernetes Submit Queue 5a98379bca Merge pull request #29696 from brendandburns/kubecfg
Automatic merge from submit-queue

Add initial support for TokenFile to to the client config file.

@smarterclayton @deads2k @cjcullen @krousey 

Part of the fix for #28260
2016-08-21 11:18:21 -07:00
Jordan Liggitt 6483f55733
Close websocket stream when client closes 2016-08-21 13:38:47 -04:00
Kubernetes Submit Queue 7979801e54 Merge pull request #28860 from ericchiang/separate-apiserver-authz-options
Automatic merge from submit-queue

pkg/genericapiserver/options: don't import pkg/apiserver

Refactor the authorization options for the API server so
pkg/apiserver isn't directly imported by the options package.

Closes #28544

cc @smarterclayton

@madhusudancs, @nikhiljindal I've updated `federation/cmd/federation-apiserver/app/server.go` to include the RBAC options with this change. I don't know if this was intentionally left out in the first place but would like your feedback.
2016-08-21 09:49:14 -07:00
Kubernetes Submit Queue a956dd1c25 Merge pull request #25524 from AdoHe/kubectl_reorg
Automatic merge from submit-queue

update kubectl help output for better organization

## Pull Request Guidelines

1. Please read our [contributor guidelines](https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md).
1. See our [developer guide](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md).
1. Follow the instructions for [labeling and writing a release note for this PR](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes) in the block below.

```release-note
* Use the release-note-* labels to set the release note state 
* Clear this block to use the PR title as the release note 
-OR-
* Enter your extended release note here
```


[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-08-21 09:08:56 -07:00
Kubernetes Submit Queue 6dabf60114 Merge pull request #29919 from tmrts/kubelet-rkt-cri/container-api
Automatic merge from submit-queue

Kubelet rkt CRI stubs & fakes

Adds stubs for CRI interfaces and creates a fake for `ContainerRuntime` interface
2016-08-21 07:14:03 -07:00
Michail Kargakis 46291d51df api: generated code for readyReplicas 2016-08-21 15:47:23 +02:00
Kubernetes Submit Queue 00a474a108 Merge pull request #31020 from mikedanese/ds-taint
Automatic merge from submit-queue

daemonset controller should respect taints

cc @dchen1107 @davidopp
2016-08-21 06:30:44 -07:00
Michail Kargakis ab3bc03a4f api: add readyReplicas in RC/RS 2016-08-21 14:49:45 +02:00
Kubernetes Submit Queue e9bd805888 Merge pull request #31026 from erictune/betainit
Automatic merge from submit-queue

Move init-container feature from alpha to beta.

```release-note
Moved init-container feature from alpha to beta.

In 1.3, an init container is specified with this annotation key
on the pod or pod template: `pods.alpha.kubernetes.io/init-containers`.

In 1.4, either that key or this key: pods.beta.kubernetes.io/init-containers`,
can be used.

When you GET an object, you will see both annotation keys with the same values.

You can safely roll back from 1.4 to 1.3, and things with init-containers
will still work (pods, deployments, etc).

If you are running 1.3, only use the alpha annotation, or it may be lost when
rolling forward.

The status has moved from annotation key
`pods.beta.kubernetes.io/init-container-statuses` to
`pods.beta.kubernetes.io/init-container-statuses`.
Any code that inspects this annotation should be changed to use the new key.

State of Initialization will continue to be reported in both pods.alpha.kubernetes.io/initialized
and in `podStatus.conditions.{status: "True", type: Initialized}`
```

Mini-design for this change:

Goals:
1. A user can create an object with the beta annotation
  on 1.4, and it works.  The fact that the annotation has beta
  in it communicates to the user that the feature is beta,
  and so the user should have confidence in using it.  Preferably,
  when the user gets the annotation back, he see the beta
  annotation.
1) If someone had an existing alpha object in their apiserver,
  such as a RS with a pod template with an init-containers
  annotation on it, it should continue to work (init containers
  run) when stack upgraded to 1.4.
2) If someone is using a chart or blog post that has alpha
  annotation on it and they create it on a 1.4 cluster, it should
  work.
3) If someone had something with an init container in 1.4
  and they roll back stack to 1.3, it should not silently stop
  working (init containers don't run anymore).

To meet all these, we mirror an absent beta label from the alpha
key and vice versa.  If they are out of sync, we use the alpha
one. We do this in conversion since there was already logic there.

In 1.3 code, all annotations are preserved across a round trip
(v1 -> api -> v1), and the alpha annotation turns into the internal
field that kubelet uses.

In 1.4 code, the alpha annotation is always preserved across
a round trip, and a beta annotation is always set equal to
the alpha one, after a round trip.

Currently, the kubelet always sees the object after a round trip
when it GETs it.  But, we don't want to rely on that behavior,
since it will break when fastpath is implemented.

So, we rely on this:
all objects either are created with an alpha annotation (1.3 or 1.4
code) or are created with a beta annotation under 1.4.  In the later
case, they are round tripped at creation time, and so get both
annotations.  So all subsequent GETs see both labels.
2016-08-21 05:04:11 -07:00
Kubernetes Submit Queue a41e6e3817 Merge pull request #30922 from yifan-gu/tls_bootstrap_refactor
Automatic merge from submit-queue

Implement TLS bootstrap for kubelet using `--experimental-bootstrap-kubeconfig`  (2nd take)

Ref kubernetes/features#43 (comment)

cc @gtank @philips @mikedanese @aaronlevy @liggitt @deads2k @errordeveloper @justinsb 


Continue on the older PR https://github.com/kubernetes/kubernetes/pull/30094 as there are too many comments on that one and it's not loadable now.
2016-08-21 03:47:07 -07:00
Kubernetes Submit Queue f75910b7b4 Merge pull request #30934 from yifan-gu/fix_subpath
Automatic merge from submit-queue

rkt: Support subPath volume mounts feature

So that at most one volume object will be created for every unique
host path. Also the volume's name is random generated UUID to avoid
collision since the mount point's name passed by kubelet is not
guaranteed to be unique when 'subpath' is specified.

Should partially fix https://github.com/kubernetes/kubernetes/issues/26986 
The non-existing host path creation issue is not touched here.

cc @kubernetes/sig-rktnetes 
also cc @kubernetes/sig-node for the Mount name comments I added.
2016-08-21 03:07:20 -07:00
Kubernetes Submit Queue 4e571eafab Merge pull request #31032 from tmrts/fix/os-release-check
Automatic merge from submit-queue

pkg/kubelet/rkt: skip empty lines in getOSReleaseInfo

Follow-up of #31022
2016-08-21 02:29:33 -07:00
Kubernetes Submit Queue ad6eed40ec Merge pull request #30888 from humblec/mypr/29006
Automatic merge from submit-queue

GlusterFS dynamic provisioner and deleter interface based on storageclass claims

This PR depends on PR#29006
2016-08-21 01:50:16 -07:00
Kubernetes Submit Queue 7272cd09e3 Merge pull request #26541 from sttts/sttts-kubectl-exec-rc
Automatic merge from submit-queue

Return container command exit codes in kubectl run/exec

Fixes https://github.com/kubernetes/kubernetes/issues/26424
Based on https://github.com/kubernetes/kubernetes/pull/25273.

TODO:
- [x] add e2e tests
- [x] investigate `kubectl run` exit code for `--restart=Never` (compare issue #24533 and PR #25253)
- [x] document exit codes
2016-08-21 00:44:55 -07:00
Kubernetes Submit Queue f4ed73cace Merge pull request #31003 from pmorie/kubelet-status-mgr-shadow
Automatic merge from submit-queue

kubelet status manager: Fix nil in error message due to var shadowing

Variable shadowing can cause this log message to print a nil:

```go
glog.Warningf("Failed to update status for pod %q: %v", format.Pod(pod), err)
```

@kubernetes/rh-cluster-infra
2016-08-21 00:04:07 -07:00
Kubernetes Submit Queue 0075144475 Merge pull request #30569 from girishkalele/esipp_healthchecker
Automatic merge from submit-queue

Load Balancer Health Check responder library for ESIPP

This is an independent component that is needed for the Load Balancer health traffic steering functionality (part of the 1.4 ESIPP work)
2016-08-20 22:34:33 -07:00
Kubernetes Submit Queue a8577f9816 Merge pull request #30800 from mml/db.controller.followup
Automatic merge from submit-queue

Followup fixes for disruption controller.

Part of #12611.
- Record an event when a pod does not have exactly 1 controller.
- Add TODO comment suggesting we simplify the two cases: integer and percentage.
2016-08-20 21:26:32 -07:00
Kubernetes Submit Queue 7b78631754 Merge pull request #30713 from smarterclayton/incorrect_default
Automatic merge from submit-queue

ResourceNames() should prohibit unnamed arguments
2016-08-20 20:48:56 -07:00
Kubernetes Submit Queue c7a82463e7 Merge pull request #30950 from liggitt/support-name-field-selector
Automatic merge from submit-queue

Add support for the standard objectmeta field selectors

certificates API was missing standard field selectors (noticed in 4120179db5 (r75413160))

also silences client-side warnings when using field selectors that don't have a registered client-side transformation (no functional change, since we were already returning the original field/value). if we want to trend toward embedding less conversion logic in our clients, I don't see us fully duplicating field selector conversions client-side to make that warning disappear.
2016-08-20 20:11:00 -07:00
Girish Kalele 282880f549 Code review changes 2016-08-20 19:49:30 -07:00
Girish Kalele 29188c68d5 Load Balancer Health Check responder library for ESIPP 2016-08-20 19:45:56 -07:00
Kubernetes Submit Queue db777bb9a3 Merge pull request #30940 from madhusudancs/fed-issue-30790
Automatic merge from submit-queue

Return the current kubeconfig as the starting config in ClientConfigGetter.

This fixes issue #30790.

cc @kubernetes/sig-cluster-federation
2016-08-20 19:29:31 -07:00
Jordan Liggitt 3e5acd8476
Make client-side fieldSelector stop complaining about identity transforms 2016-08-20 21:34:33 -04:00
Jordan Liggitt 6524fd0727
Add metadata.name fieldSelector support to csr API 2016-08-20 21:34:33 -04:00
Kubernetes Submit Queue cbbcfe8ad8 Merge pull request #29849 from aveshagarwal/master-kubectl-describe-default-limits
Automatic merge from submit-queue

Fix kubectl describe to display a container's resource limit env vars as node allocatable when the limits are not set
2016-08-20 16:53:28 -07:00
Clayton Coleman abded5c6c5
generated: Docs 2016-08-20 15:56:53 -04:00
Clayton Coleman e1ebde9f92
Add spec.nodeName and spec.serviceAccountName to downward env var
The serviceAccountName is occasionally useful for clients running on
Kube that need to know who they are when talking to other components.

The nodeName is useful for PetSet or DaemonSet pods that need to make
calls back to the API to fetch info about their node.

Both fields are immutable, and cannot easily be retrieved in another
way.
2016-08-20 15:50:36 -04:00
Kubernetes Submit Queue 0abda6bd74 Merge pull request #30533 from liggitt/event-validation
Automatic merge from submit-queue

Validate involvedObject.Namespace matches event.Namespace

Fixes https://github.com/kubernetes/kubernetes/issues/16036
2016-08-20 12:19:12 -07:00
Kubernetes Submit Queue b18b56d5b3 Merge pull request #30658 from hongchaodeng/r2
Automatic merge from submit-queue

Make labels, fields expose selectable requirements

What?
This is to change the labels/fields Selector interface and make them expose selectable requirements. We reuse labels.Requirement struct for label selector and add fields.Requirement for field selector.

Why?
In order to index labels/fields, we need them to tell us three things: index key (a field or a label), operator (greater, less, or equal), and value (string, int, etc.). By getting selectable requirements, we are able to pass them down and use them for indexing in storage layer.
2016-08-20 11:36:35 -07:00
Rodrigo Campos 3366821d9a Fix coding style 2016-08-20 14:58:56 -03:00
Kubernetes Submit Queue e9947d9ad7 Merge pull request #30813 from bprashanth/kubectl_petset
Automatic merge from submit-queue

Basic scaler/reaper for petset

Currently scaling or upgrading a petset is more complicated than it should be. Would be nice if this made code freeze on friday. I'm planning on a follow up change with generation number and e2es post freeze.
2016-08-20 10:51:07 -07:00
Hongchao Deng 1871a22039 make labels, fields expose selectable requirements 2016-08-20 10:10:51 -07:00
Kubernetes Submit Queue d07348dd84 Merge pull request #30803 from deads2k/impersonate-groups
Automatic merge from submit-queue

allow group impersonation

Adds an "Impersonate-Group" header that can be used to specify exactly which groups to use on an impersonation request.  

This also restructures the code to make it easier to add the scopes header next.  This closely parallels the "Impersonate-User" header, so I figured I'd start easy.

@kubernetes/sig-auth 
@ericchiang are you comfortable reviewing?
2016-08-20 10:10:32 -07:00
bindata-mockuser e792d4117d Add return code support to kubectl-exec and -run 2016-08-20 15:58:47 +02:00
bindata-mockuser 6dcb0c9130 Rectify kubectl error output 2016-08-20 15:58:10 +02:00
bindata-mockuser ce7f003f57 Add protocol versions to pkg/util/wsstream 2016-08-20 15:58:10 +02:00
Kubernetes Submit Queue 7b3c08d7d3 Merge pull request #30789 from yujuhong/image_match
Automatic merge from submit-queue

Fix image inspection and matching

An image string could contain a hostname (e.g., "docker.io") or not. The same
applies to the RepoTags returned from an image inspection. To determine whether
the image docker pulled matches what the user ask for, we check if the either
string is the suffix of the other.

/cc @dims @dchen1107 @Random-Liu

This fixes #30710
2016-08-20 06:18:41 -07:00
Kubernetes Submit Queue 1b79bc1812 Merge pull request #30731 from ncdc/exec-probe-message
Automatic merge from submit-queue

Always return command output for exec probes and kubelet RunInContainer

Always return command output for exec probes and kubelet RunInContainer, even if the command invocation returns nonzero.

When #24921 replaced RunInContainer with ExecInContainer, it introduced a change where an exec probe that failed no longer included the stdout/stderr from the probe in the event. For example, when running at log level 4, you see:

```
I0816 15:01:36.259826 29713 exec.go:38] Exec probe response: "Failed to access the status endpoint : HTTP Error 404: Not Found.\nHawkular metrics has only been running for 7\n seconds not aborting yet.\n"
```

But the event looks like this:

```
54s 22s 5 hawkular-metrics-hjme4 Pod spec.containers{hawkular-metrics} Warning Unhealthy {kubelet corbeau} Readiness probe failed:
```

Note the absence of the exec probe response after "Readiness probe failed". This PR restores the previous behavior.

cc @kubernetes/rh-cluster-infra @mwringe 

xref https://github.com/openshift/origin/issues/10424
2016-08-20 05:41:44 -07:00
Tamer Tas f82a41b329 Create a stub PodSandboxManager for rkt 2016-08-20 12:50:28 +03:00
Tamer Tas dcc8e9d4de Add a fake rkt app-level API to rktshim pkg 2016-08-20 12:45:57 +03:00
Kubernetes Submit Queue 3c65fdc752 Merge pull request #30313 from juanvallejo/jvallejo_kube-remove-duplicate-error-msgs
Automatic merge from submit-queue

remove duplicate errors from aggregate error outputs

release-label-none

Duplicate error messages are sometimes shown when displaying aggregate errors:

`$ kubectl label pod/database-1-fn0r7 qwer1345%$$#=self`
```
* metadata.labels: Invalid value: "qwer1345%5602#": name part must match the regex ([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9] (e.g. 'MyName' or 'my.name' or '123-abc')
* metadata.labels: Invalid value: "qwer1345%5602#": name part must match the regex ([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9] (e.g. 'MyName' or 'my.name' or '123-abc')
* metadata.labels: Invalid value: "qwer1345%5602#": name part must match the regex ([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9] (e.g. 'MyName' or 'my.name' or '123-abc')
```

This patch removes any duplicate messages (adjacent or not) that appear in the final list of errors.
2016-08-20 02:18:46 -07:00
Kubernetes Submit Queue 3de3452cea Merge pull request #30663 from lavalamp/just-registered-ii
Automatic merge from submit-queue

Make registered more testable

Pulling isolated changes out of my other PR. Should be a total no-op.
2016-08-20 01:40:41 -07:00
Tamer Tas f40a471efd Add the ContainerRuntime interface stub for rkt app level API 2016-08-20 11:21:54 +03:00
Kubernetes Submit Queue 9e09839477 Merge pull request #30487 from ronnielai/container-gc
Automatic merge from submit-queue

Delete all dead containers only after the syncing for the evicted pod is done.
2016-08-20 01:03:39 -07:00
Kubernetes Submit Queue 5caf74c517 Merge pull request #30529 from hongchaodeng/r1
Automatic merge from submit-queue

change all PredicateFunc to use SelectionPredicate

What?
- This PR changes all PredicateFunc in registry to return SelectionPredicate instead of Matcher interface.

Why?
- We want to pass SelectionPredicate to storage layer. Matcher interface did not expose enough information for indexing.
2016-08-20 00:24:40 -07:00
Justin Santa Barbara 3aa4f50aba Avoid closing over range variables
The consequence is only a misleading error message, but it is easy to
avoid.
2016-08-20 01:19:53 -04:00
Kubernetes Submit Queue d0cca393d7 Merge pull request #31034 from jingxu97/unmount-8-19
Automatic merge from submit-queue

Add ismounted check in unmountpath function

This change is to fix PR #30930. The function should check if the
mountpath is still mounted or not. If it is not, it should continue with
removing the directory instead of returning error.
2016-08-19 22:18:28 -07:00
Kubernetes Submit Queue e9815020eb Merge pull request #30475 from derekwaynecarr/pod-cgroup
Automatic merge from submit-queue

Unblock iterative development on pod-level cgroups

In order to allow forward progress on this feature, it takes the commits from #28017 #29049 and then it globally disables the flag that allows these features to be exercised in the kubelet.  The flag can be re-added to the kubelet when its actually ready.

/cc @vishh @dubstack @kubernetes/rh-cluster-infra
2016-08-19 21:06:48 -07:00
Chao Xu 992afd9c45 let rate_limiter_helper use sync.Once 2016-08-19 20:32:28 -07:00
Kubernetes Submit Queue 1aecaf2fb2 Merge pull request #30599 from Clarifai/ext-svc-ref
Automatic merge from submit-queue

Add Service type "ExternalName" which results in CNAME DNS

ExternalName allows kubedns to return CNAME records for external
services. No proxying is involved.

First step for https://github.com/kubernetes/features/issues/33

See original issue at
https://github.com/kubernetes/kubernetes/issues/13748

No release note yet, that will come with the kubedns change.

```release-note
NONE
```
2016-08-19 20:20:51 -07:00
Kubernetes Submit Queue c39f0eec4a Merge pull request #30993 from mksalawa/bump_heapster_version
Automatic merge from submit-queue

Bump heapster version

Bump heapster version to v1.2.0-beta.1.
Migrate metrics tests and HPA to use List objects introduced in the new version.
2016-08-19 19:36:53 -07:00
Kubernetes Submit Queue 2da7f95c52 Merge pull request #28859 from freehan/godep_cni
Automatic merge from submit-queue

update godep to pull from containernetworking/cni

WIP
2016-08-19 18:54:48 -07:00
Kubernetes Submit Queue 010c976ce8 Merge pull request #30468 from jlowdermilk/feature-config
Automatic merge from submit-queue

Feature gates for kube-system components

Implements [this proposal](https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/runtimeconfig.md). Adds `--feature-gates` to apiserver, scheduler, controller-manager and proxy.

cc @lavalamp @adityakali
2016-08-19 18:15:19 -07:00
Chao Xu c790773018 temporarlily stop register RateLimiter metrics in the garbage collector 2016-08-19 17:31:32 -07:00
Jing Xu cafd126ecd Add ismounted check in unmountpath function
This change is for fixing PR #30930. The function should check if the
mountpath is still mounted or not. If it is not, it should continue with
removing the directory instead of returning error.
2016-08-19 17:15:30 -07:00
AdoHe b411fe217f update kubectl help output for better organization 2016-08-20 08:03:39 +08:00
Kubernetes Submit Queue 529edae1f6 Merge pull request #31006 from simonswine/flocker-owner
Automatic merge from submit-queue

Adds myself to the flocker volume plugin owners

I am happy to look after the flocker volume plugin and support @agonzalezro. Currently refactoring the volume plugin and adding dynamic provisioning features in #31005
2016-08-19 15:49:48 -07:00
Kubernetes Submit Queue 3787a068fc Merge pull request #30955 from lojies/modifygetresource
Automatic merge from submit-queue

use valid_resources to replace kubectl.PossibleResourceTypes

```release
Fix resource list printed by kubectl help 
```

 `kubectl get` return 

> 
You must specify the type of resource to get. Valid resource types include:
   * componentstatuses (aka 'cs')
   * configmaps
   * daemonsets (aka 'ds')
   * deployments
   * events (aka 'ev')
   * endpoints (aka 'ep')
   * horizontalpodautoscalers (aka 'hpa')
   * ingress (aka 'ing')
   * jobs
   * limitranges (aka 'limits')
   * nodes (aka 'no')
   * namespaces (aka 'ns')
   * pods (aka 'po')
   * persistentvolumes (aka 'pv')
   * persistentvolumeclaims (aka 'pvc')
   * quota
   * resourcequotas (aka 'quota')
   * replicasets (aka 'rs')
   * replicationcontrollers (aka 'rc')
   * secrets
   * serviceaccounts (aka 'sa')
   * services (aka 'svc')
error: Required resource not specified.
See 'kubectl get -h' for help and examples.

while `kubectl get --help` return

> root@k8s-node1:~# kubectl get --help
Display one or many resources.
Possible resource types include (case insensitive): pods (po), services (svc), deployments,
replicasets (rs), replicationcontrollers (rc), nodes (no), events (ev), limitranges (limits),
persistentvolumes (pv), persistentvolumeclaims (pvc), resourcequotas (quota), namespaces (ns),
serviceaccounts (sa), ingresses (ing), horizontalpodautoscalers (hpa), daemonsets (ds), configmaps,
componentstatuses (cs), endpoints (ep), and secrets.
By specifying the output as 'template' and providing a Go template as the value
of the --template flag, you can filter the attributes of the fetched resource(s).
......

kubectl.PossibleResourceTypes missing some resouces such as jobs quota.
describe and explain have the same problem.

i think using valid_resources to replace kubectl.PossibleResourceTypes more suitable.
2016-08-19 15:49:15 -07:00
Kubernetes Submit Queue 56045bbd6a Merge pull request #30971 from lojies/removenil
Automatic merge from submit-queue

remove unnecessary err == nil

because if err != nil has returned err, so remove unnecessary err == nil.
2016-08-19 15:48:23 -07:00
Kubernetes Submit Queue 78cb692327 Merge pull request #30736 from liggitt/close-websocket-watch
Automatic merge from submit-queue

Close websocket watch when client closes

fixes https://github.com/kubernetes/kubernetes/issues/30735
2016-08-19 15:47:47 -07:00
Kubernetes Submit Queue 3d7a105d9b Merge pull request #30903 from jingxu97/cherrypick-8-19
Automatic merge from submit-queue

Avoid failure message flush log when node no longer exist

When node is deleted, attach-detach controller cache may contain stale
information of this node, and update node status fails in reconciler
loop. This message easily flush the log file. This PR is just a quick
fix of this issue. More complete fix including make controller cache
up to date will be addressed in another PR.
2016-08-19 15:45:58 -07:00
Kubernetes Submit Queue a157e28ef6 Merge pull request #31016 from krousey/tcp_reuse
Automatic merge from submit-queue

Attempt to ensure entire resp body is read

**What this PR does / why we need it**: Enables the re-use of TCP connections when code fails to read the entire body of the response.

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

**Special notes for your reviewer**:

This is a best effort approach. It only attempts to drain the body of the response if it's less than 1k. It seems like a reasonable barrier at which to give up and just use a new TCP connection.

cc: @wojtek-t @smarterclayton @lavalamp @kubernetes/sig-api-machinery
2016-08-19 15:45:34 -07:00
Jordan Liggitt 26a6623261 kubelet: '--experimental-bootstrap-kubeconfig' refactor.
Move bootstrap functions to separate files.
Split some of the functions into small sub-functions for reusability.
Other cleanups
2016-08-19 15:27:23 -07:00
Tamer Tas d992c0e7c7 pkg/kubelet/rkt: skip empty lines in getOSReleaseInfo 2016-08-20 00:49:51 +03:00
Kubernetes Submit Queue 982640f73e Merge pull request #30668 from euank/dockertools-host-network
Automatic merge from submit-queue

dockertools: Don't use network plugin if net=host

I'm pretty sure this was just an oversight the first time around.

Before: `E0815 18:06:17.627468     976 docker_manager.go:350] NetworkPlugin kubenet failed on the status hook for pod 'sleep' - Unexpected command output Device "eth0" does not exist.`

After: No such logline is printed

The pod IP reported in `describe` is the same either way

cc @kubernetes/sig-node
2016-08-19 14:35:17 -07:00
Kubernetes Submit Queue 96cbed4b5f Merge pull request #30887 from johscheuer/fix-osx-kublet
Automatic merge from submit-queue

Fixes #30886

This PR fixes https://github.com/kubernetes/kubernetes/issues/30886

```
make WHAT=pkg/kubelet
+++ [0818 17:03:21] Generating bindata:
    /Users/jscheuermann/inovex/workspace/kubernetes-clone/test/e2e/framework/gobindata_util.go
+++ [0818 17:03:22] Building the toolchain targets:
    k8s.io/kubernetes/hack/cmd/teststale
+++ [0818 17:03:22] Building go targets for darwin/amd64:
    pkg/kubelet

```
2016-08-19 14:34:36 -07:00
Kubernetes Submit Queue d40e2296b2 Merge pull request #30630 from silasbw/short-n0
Automatic merge from submit-queue

Add a short `-n` for `kubectl --namespace`

fixes #24078

 `--namespace` is a very common flag for nearly every `kubectl` command we have. We should claim `-n` for it.
2016-08-19 14:34:13 -07:00
Kubernetes Submit Queue 9ebaf29295 Merge pull request #30624 from derekwaynecarr/node-controller-fix
Automatic merge from submit-queue

Node controller deletePod return true if there are pods pending deletion

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

If a node had a single pod in terminating state, and that node no longer reported healthy, the pod was never deleted by the node controller because it believed there were no pods remaining.

@smarterclayton @ncdc
2016-08-19 14:33:54 -07:00
Kubernetes Submit Queue 68c4190e60 Merge pull request #30579 from smarterclayton/strip_extra_newlines
Automatic merge from submit-queue

Describing a single item should not have extra newlines

@fabianofranz
2016-08-19 14:33:39 -07:00
Kubernetes Submit Queue bcf2d48ed5 Merge pull request #31022 from yifan-gu/fix_error_handling_os_release
Automatic merge from submit-queue

rkt: Do not error out when there are unrecognized lines in os-release

Also fix the error handling which will cause panic. Also fix the error handling which will cause panic.

cc @kubernetes/sig-rktnetes
2016-08-19 14:33:26 -07:00
Kara Alexandra d12a66a422 Rename IsEmpty to Empty
Signed-off-by: Kara Alexandra <kalexandra@us.ibm.com>
2016-08-19 14:19:19 -07:00
Eric Tune 6e5a7f9441 Move init-container feature from alpha to beta.
```relnote
Moved init-container feature from alpha to beta.

In 1.3, an init container is specified with this annotation key
on the pod or pod template: `pods.alpha.kubernetes.io/init-containers`.

In 1.4, either that key or this key: pods.beta.kubernetes.io/init-containers`,
can be used.

When you GET an object, you will see both annotation keys with the same values.

You can safely roll back from 1.4 to 1.3, and things with init-containers
will still work (pods, deployments, etc).

If you are running 1.3, only use the alpha annotation, or it may be lost when
rolling forward.

The status has moved from annotation key
`pods.beta.kubernetes.io/init-container-statuses` to
`pods.beta.kubernetes.io/init-container-statuses`.
Any code that inspects this annotation should be changed to use the new key.

State of Initialization will continue to be reported in both pods.alpha.kubernetes.io/initialized
and in `podStatus.conditions.{status: "True", type: Initialized}`
```

Mini-design for this change:

Goals:
1. A user can create an object with the beta annotation
  on 1.4, and it works.  The fact that the annotation has beta
  in it communicates to the user that the feature is beta,
  and so the user should have confidence in using it.  Preferably,
  when the user gets the annotation back, he see the beta
  annotation.
1) If someone had an existing alpha object in their apiserver,
  such as a RS with a pod template with an init-containers
  annotation on it, it should continue to work (init containers
  run) when stack upgraded to 1.4.
2) If someone is using a chart or blog post that has alpha
  annotation on it and they create it on a 1.4 cluster, it should
  work.
3) If someone had something with an init container in 1.4
  and they roll back stack to 1.3, it should not silently stop
  working (init containers don't run anymore).

To meet all these, we mirror an absent beta label from the alpha
key and vice versa.  If they are out of sync, we use the alpha
one. We do this in conversion since there was already logic there.

In 1.3 code, all annotations are preserved across a round trip
(v1 -> api -> v1), and the alpha annotation turns into the internal
field that kubelet uses.

In 1.4 code, the alpha annotation is always preserved across
a round trip, and a beta annotation is always set equal to
the alpha one, after a round trip.

Currently, the kubelet always sees the object after a round trip
when it GETs it.  But, we don't want to rely on that behavior,
since it will break when fastpath is implemented.

So, we rely on this:
all objects either are created with an alpha annotation (1.3 or 1.4
code) or are created with a beta annotation under 1.4.  In the later
case, they are round tripped at creation time, and so get both
annotations.  So all subsequent GETs see both labels.
2016-08-19 14:00:18 -07:00
Yifan Gu 2e631d811c crypto.go: Rename ShouldGenSelfSignedCerts() to FoundCertOrKey().
Since the function only tests whether the files are on the disk,
the original name is a little bit misleading.
2016-08-19 13:51:34 -07:00
Yifan Gu 26babd4eba kubelet: Add --bootstrap-kubeconfig to get TLS client cert.
Add --bootstrap-kubeconfig flag to kubelet. If the flag is non-empty
and --kubeconfig doesn't exist, then the kubelet will use the bootstrap
kubeconfig to create rest client and generate certificate signing request
to request a client cert from API server.

Once succeeds, the result cert will be written down to
--cert-dir/kubelet-client.crt, and the kubeconfig will be populated with
certfile, keyfile path pointing to the result certificate file, key file.
(The key file is generated before creating the CSR).
2016-08-19 13:51:33 -07:00
Minhan Xia 85b2f9047a update godep to pull from containernetworking/cni 2016-08-19 13:31:50 -07:00
Yifan Gu ce15f0e831 rkt: Refactoring the construction of the mount points.
So that at most one volume object will be created for every unique
host path. Also the volume's name is random generated UUID to avoid
collision since the mount point's name passed by kubelet is not
guaranteed to be unique when 'subpath' is specified.
2016-08-19 13:09:27 -07:00
Kubernetes Submit Queue 2b18f37232 Merge pull request #30997 from tmrts/go-vet/fix-struct-initialization
Automatic merge from submit-queue

pkg/kubelet/images: fix struct initialization
2016-08-19 12:56:55 -07:00
Kubernetes Submit Queue b259073841 Merge pull request #30619 from tmrts/kubelet-api/extact-interfaces
Automatic merge from submit-queue

kubelet/api: split RuntimeService interface

Splits `RuntimeService` interface into smaller interfaces
to make testing easier and delineate the responsibilities.

Its a non-breaking change to the previous users of `api.RuntimeService`
2016-08-19 12:56:41 -07:00
Yifan Gu 3fac36585b rkt: Do not error out when there are unrecognized lines in os-release file.
Also fix the error handling which will cause panic.
2016-08-19 12:05:37 -07:00
Kris 35c695005f Attempt to ensure entire resp body is read 2016-08-19 11:56:02 -07:00
Kubernetes Submit Queue ca422a1aaa Merge pull request #30996 from tmrts/fix/type-redeclaration
Automatic merge from submit-queue

pkg/util/mount: remove method redeclaration
2016-08-19 11:52:30 -07:00
Kubernetes Submit Queue 9223591cda Merge pull request #30626 from deads2k/prevent-dc-hotloop
Automatic merge from submit-queue

prevent RC hotloop on denied pods

If a pod is rejected during creation, the RC controller hot-loops. This can happen most frequently due to insufficient quota.
2016-08-19 11:51:41 -07:00
Mike Danese 00f05b441e daemonset controller should respect taints 2016-08-19 11:51:15 -07:00
Rudi Chiarito 88fdb96bfb Add ExternalName to ServiceSpec
ExternalName allows kubedns to return CNAME records for external
services. No proxying is involved.

See original issue at
https://github.com/kubernetes/kubernetes/issues/13748

Feature tracking at
https://github.com/kubernetes/features/issues/33
2016-08-19 11:30:57 -07:00
Humble Chirammal 836ac6e403 GlusterFS dynamic provisioner and deleter interface based on StorageClass claims
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2016-08-19 23:03:32 +05:30
Kris 8d6ce0dcc6 Remove implicit Prometheus metrics from client 2016-08-19 10:11:45 -07:00
Kubernetes Submit Queue f51e834d63 Merge pull request #30445 from deads2k/get-raw
Automatic merge from submit-queue

add --raw for kubectl get

Adds a `--raw` option to `kubectl get` that allow you specify your URI, but use the transport built by `kubectl`.  This is especially useful when working with secured environments that require authentication and authorization to hit non-api endpoints.  For example, `kubect get --raw /metrics` or if you want to debug a watch with a view at the exact data `kubectl get --raw '/api/v1/namespaces/one/replicationcontrollers?watch=true'`.

@kubernetes/kubectl 
@fabianofranz fyi
2016-08-19 09:29:08 -07:00
Jeff Lowdermilk 51198f59da Add --feature-gates to kube-system components
apiserver,scheduler,controller-manager,proxy,kubelet all get
flag. Using one variable to plumb through config via salt/init
scripts for GCE and GKE
2016-08-19 09:07:43 -07:00
Christian Simon 517b2f400c Adds myself to flocker volume plugin owners 2016-08-19 17:01:12 +01:00
mksalawa ddf66e0dae Update Godeps. 2016-08-19 17:28:25 +02:00
Kubernetes Submit Queue 6ce405c6ee Merge pull request #27778 from screeley44/k8-vol-executor
Automatic merge from submit-queue

Add Events for operation_executor to show status of mounts, failed/successful to show in describe events

Fixes #27590 
@saad-ali @pmorie @erinboyd

After talking with @pmorie last week about the above issue, I decided to poke around and see if I could remedy.  The refactoring broke my previous UXP merged PR's that correctly showed failed mount errors in the describe events.  However, Not sure I implemented correctly, but it tested out and seems to be working, let me know what I missed or if this is not the correct approach.

```
Events:
  FirstSeen	LastSeen	Count	From			SubobjectPath	Type		Reason		Message
  ---------	--------	-----	----			-------------	--------	------		-------
  2m		2m		1	{default-scheduler }			Normal		Scheduled	Successfully assigned nfs-bb-pod1 to 127.0.0.1
  44s		44s		1	{kubelet 127.0.0.1}			Warning		FailedMount	Unable to mount volumes for pod "nfs-bb-pod1_default(a94f64f1-37c9-11e6-9aa5-52540073d346)": timeout expired waiting for volumes to attach/mount for pod "nfs-bb-pod1"/"default". list of unattached/unmounted volumes=[nfsvol]
  44s		44s		1	{kubelet 127.0.0.1}			Warning		FailedSync	Error syncing pod, skipping: timeout expired waiting for volumes to attach/mount for pod "nfs-bb-pod1"/"default". list of unattached/unmounted volumes=[nfsvol]
  38s		38s		1	{kubelet }				Warning		FailedMount	Unable to mount volumes for pod "a94f64f1-37c9-11e6-9aa5-52540073d346": Mount failed: exit status 32
Mounting arguments: nfs1.rhs:/opt/data99 /var/lib/kubelet/pods/a94f64f1-37c9-11e6-9aa5-52540073d346/volumes/kubernetes.io~nfs/nfsvol nfs []
Output: mount.nfs: Connection timed out

Resolution hint: Check and make sure the NFS Server exists (ensure that correct IPAddress/Hostname was given) and is available/reachable.
Also make sure firewall ports are open on both client and NFS Server (2049 v4 and 2049, 20048 and 111 for v3).
Use commands telnet <nfs server> <port> and showmount <nfs server> to help test connectivity.
```
2016-08-19 08:27:48 -07:00
mksalawa 2833119a15 Use List objects for metrics in kubectl top and HPA 2016-08-19 17:26:50 +02:00
Paul Morie dc8a9ae231 Fix nil in error message due to var shadowing 2016-08-19 11:23:19 -04:00
dubstack 4ddfe172ce Add support for pod container management 2016-08-19 11:07:33 -04:00
Kubernetes Submit Queue 0bef4243cd Merge pull request #30386 from derekwaynecarr/fix-pvc-validation
Automatic merge from submit-queue

Fix pvc requests.storage validation

A `PersistentVolumeClaim` should not be able to request a negative amount of storage.

/cc @kubernetes/sig-storage @kubernetes/rh-cluster-infra @deads2k
2016-08-19 07:46:03 -07:00
Kubernetes Submit Queue 2099c6f495 Merge pull request #30767 from mksalawa/kubectltop
Automatic merge from submit-queue

Add percentage of used resources to node metrics.

Show percentage along with resource usage in 'kubectl top node' command.

Remove Storage column. (#30782)

Sample output:
```
$ kubectl top node

NAME                           CPU(cores)   CPU%      MEMORY(bytes)   MEMORY%   
kubernetes-master              238m         23%       1982Mi          53%       
kubernetes-minion-group-xxxx   62m          3%        1576Mi          21%       
kubernetes-minion-group-yyyy   68m          3%        1638Mi          21%       
kubernetes-minion-group-zzzz   42m          2%        1568Mi          20%
```

**Release note**
```release-note
NONE
```
2016-08-19 06:58:18 -07:00
Tamer Tas 4d7357fb30 pkg/kubelet/images: fix struct initialization
Fixes the govet error in go 1.7
2016-08-19 16:52:52 +03:00
Tamer Tas fe039573b7 pkg/util/mount: remove method redeclaration
Fix the `GetDeviceNameFromMount` method thats declared twice.
2016-08-19 16:49:28 +03:00
Kubernetes Submit Queue 2707c46a32 Merge pull request #30985 from wojtek-t/improve_etcd_watchers
Automatic merge from submit-queue

Increase buffer size in etcd_watcher

Should help with #30873

@xiang90 @hongchaodeng @kubernetes/sig-scalability
2016-08-19 04:58:24 -07:00
Kubernetes Submit Queue 40367df750 Merge pull request #30590 from kevin-wangzefeng/taint-unique-by-key-effect
Automatic merge from submit-queue

make taints unique by <key, effect> on a node

closes #29362
2016-08-19 04:58:12 -07:00
mksalawa 566af82be3 Add percentage of used resources to node metrics. 2016-08-19 13:35:39 +02:00
Kubernetes Submit Queue 5898f87722 Merge pull request #30233 from mbohlool/swagger2
Automatic merge from submit-queue

OpenAPI / Swagger2 spec generation

This is alpha version of OpenAPI spec generation. Generated "/swagger.json" file (accessible on api server) is a valid OpenAPI spec with some warnings that will be fixed in next versions of spec generation. Currently it is possible to generate a client using this spec though I did not test the clients.

reference: #13414

**Release note**:

```release-note
Alpha support for OpenAPI (aka. Swagger 2.0) specification serves on /swagger.json 
```
2016-08-19 04:21:48 -07:00
Wojciech Tyczynski e76c0b7c72 Increase buffer size in etcd_watcher 2016-08-19 13:00:31 +02:00
Kubernetes Submit Queue 6b20896fea Merge pull request #30686 from gmarek/metrics
Automatic merge from submit-queue

Add cluster health metrics to NodeController

Follow up of #28832

This adds metrics to monitor cluster/zone status.

cc @alex-mohr @fabioy @wojtek-t @Q-Lee
2016-08-19 03:40:51 -07:00
Kubernetes Submit Queue 30b180e4a5 Merge pull request #30943 from caesarxuchao/fix-gc-memory-leak
Automatic merge from submit-queue

Fix memory leak in gc

ref #30759

GC had a memory leak. The work queue item is never deleted.

I'm still fighting with my kubemark cluster to get statistics after this fix.

@wojtek-t @lavalamp
2016-08-19 02:08:56 -07:00
Abrar Shivani e89ad04422 Implements Attacher Plugin Interface for vSphere 2016-08-19 00:28:55 -07:00
lojies a459a4a188 remove unnecessary err == nil 2016-08-19 14:34:27 +08:00
Chao Xu 65d1dbe8d9 fix memory leak in gc 2016-08-18 21:54:44 -07:00
Kubernetes Submit Queue c19e9cc89d Merge pull request #26044 from smarterclayton/multiversion_encode
Automatic merge from submit-queue

Guarantee that Encode handles nested objects again
2016-08-18 21:10:55 -07:00
Pengfei Ni b36ace9a57 Kubelet: add --container-runtime-endpoint and --image-service-endpoint
New flag --container-runtime-endpoint (overrides --container-runtime)
is introduced to kubelet which identifies the unix socket file of
the remote runtime service. And new flag --image-service-endpoint is
introduced to kubelet which identifies the unix socket file of the
image service.
2016-08-19 10:22:44 +08:00
m1093782566 5bb76e9b5a improve node status test debug info
Change-Id: I6baacee3d253e64d4bc017d9da7e0ea0ec9783f1
2016-08-19 09:48:27 +08:00
lojies f81fef1f04 use valid_resources to replace kubectl.PossibleResourceTypes 2016-08-19 09:42:46 +08:00
Daniel Smith edc598a359 Do not hold the lock for a long time 2016-08-18 17:40:33 -07:00
bprashanth 05aa040b0f Allow changes to container image for updates 2016-08-18 16:33:51 -07:00
Madhusudan.C.S 2b5d689ab2 Return the current kubeconfig as the starting config in ClientConfigGetter. 2016-08-18 15:51:21 -07:00
Kubernetes Submit Queue 7523669699 Merge pull request #30814 from freehan/lbsrcrevert
Automatic merge from submit-queue

Revert "Revert "syncNetworkUtil in kubelet and fix loadbalancerSourceRange on GCE

Reverts kubernetes/kubernetes#30729
2016-08-18 15:34:10 -07:00
mbohlool c5f1d63d6f Generates OpenAPI (aka Swagger 2.0) Spec on /swagger.json path 2016-08-18 15:32:04 -07:00
Jing Xu 70deeb0ae4 node not exist during node status update should not block others
When node is deleted, attach-detach controller cache may contain stale
information of this node, and update node status fails in reconciler
loop. But one node update failure should not block updating other nodes.
Also the warning message easily flush the log file. This PR is just a quick
fix of this issue. More complete fix including make sure controller cache
up to date will be addressed in another PR.
2016-08-18 13:51:30 -07:00