Commit Graph

13539 Commits

Author SHA1 Message Date
Kevin Wang
074dab86b9 Add defer
Signed-off-by: Kevin Wang <wang.kanghua@zte.com.cn>
2016-07-19 11:53:01 +08:00
Cindy Wang
e13c678e3b Make volume unmount more robust using exclusive mount w/ O_EXCL 2016-07-18 16:20:08 -07:00
k8s-merge-robot
1d8c15ba14 Merge pull request #28755 from dubstack/remove-systemd-check
Automatic merge from submit-queue

Do not skip check for cgroup creation in the systemd mount

As soon as libcontainer dependency is update in #28410, we can skip check for cgroup creation in the systemd mount. As the latest version of libcontainer should create cgroups in the sytemd mount aswell.

This is tied to the upstream issue: #27204

@vishh PTAL
2016-07-18 15:05:51 -07:00
k8s-merge-robot
8eb0cf5039 Merge pull request #28871 from vishh/gce-cp
Automatic merge from submit-queue

Do not query the metadata server to find out if running on GCE.  Retry metadata server query for gcr if running on gce.

Retry the logic for determining is gcr is enabled to workaround metadata unavailability.

Note: This patch does not retry fetching registry credentials.
2016-07-18 14:32:04 -07:00
k8s-merge-robot
6108725869 Merge pull request #29047 from lixiaobing10051267/masterServe
Automatic merge from submit-queue

Apiserver ServeHTTP() modify

In File "pkg\apiserver\watch.go", line 123:
"// Serve serves a series of encoded events via HTTP with Transfer-Encoding: chunked"
Here "Serve" should be "ServeHTTP" because the func name is ServeHTTP:
"func (s *WatchServer) ServeHTTP(w http.ResponseWriter, req *http.Request)"
2016-07-18 12:43:04 -07:00
k8s-merge-robot
e72f6a892d Merge pull request #28234 from damemi/record-false-bugfix
Automatic merge from submit-queue

Make sure --record=false is acknowledged when passed to commands

```release-note
Change setting "kubectl --record=false" to stop updating the change-cause when a previous change-cause is found.
```

Ensures that when `--record=false` is explicity set that no `ChangeCauseAnnotation`s are set on the object. Previously, if `--record=true` was used then all following actions triggered a `ChangeCauseAnnotation` even if `--record=false` was set, due to the prior `ChangeCauseAnnotation` existing.

Reference to bug report: https://bugzilla.redhat.com/show_bug.cgi?id=1351127

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-18 11:32:15 -07:00
k8s-merge-robot
f50bb73ed6 Merge pull request #26136 from AdoHe/kubectl_apply_overwrite
Automatic merge from submit-queue

kubectl apply add --overwrite flag

```release-note
Add "kubectl --overwrite" flag to automatically resolve conflicts between the modified and live configuration using values from the modified configuration.
```
fixes #17238

This PR just add the `--overwrite` flag, pkg/strategicpatch has already support overwrite. @bgrant0607 @jackgr ptal.
2016-07-18 10:47:53 -07:00
k8s-merge-robot
fa174bcdaf Merge pull request #29042 from dims/fixup-imports
Automatic merge from submit-queue

Use Go canonical import paths

Add canonical imports only in existing doc.go files.
https://golang.org/doc/go1.4#canonicalimports

Fixes #29014
2016-07-18 07:23:38 -07:00
k8s-merge-robot
6032494276 Merge pull request #29096 from gmarek/cidrAllocation
Automatic merge from submit-queue

Re-check assigned CIDR during update

Ref. #29064

cc @bgrant0607
2016-07-18 03:35:30 -07:00
k8s-merge-robot
18df451031 Merge pull request #28982 from yujuhong/rm_todos
Automatic merge from submit-queue

kubelet: remove outdated TODOs
2016-07-18 02:19:23 -07:00
gmarek
579912d9d2 Re-check assigned CIDR during update 2016-07-18 10:57:58 +02:00
k8s-merge-robot
5f766748db Merge pull request #27762 from xiangpengzhao/fix-port-range
Automatic merge from submit-queue

Fix port range checking, port should not be greater than 65535.

When passing flag `--proxy-port-range` to kube-proxy with an invalid range which is greater than 65535, the proxy doesn't exit. That's not what we want.

Should we fix this in v1.3?
/cc @thockin @mikedanese @resouer 

Before fixing:
```
root@vm:/home/paas/zxp# kube-proxy --master=172.16.1.11:8080 --logtostderr=false --log-dir=/home/user/log/kube --proxy-port-range=65536-65599 &
[6] 6671
root@vm:/home/paas/zxp# ps -ef | grep kube-proxy
root      6671 13507  0 03:48 pts/1    00:00:00 kube-proxy --master=172.16.1.11:8080 --logtostderr=false --log-dir=/home/user/log/kube --proxy-port-range=65536-65599
```

After:
```
root@vm:/home/paas/zxp# kube-proxy --master=172.16.1.11:8080 --logtostderr=false --log-dir=/home/user/log/kube --proxy-port-range=65536-65599 &
[6] 6725
root@vm:/home/paas/zxp# invalid argument "65536-65599" for --proxy-port-range=65536-65599: "65536-65599" is not a valid port range: the port range cannot be greater than 65535: 65536-65599
..............
[6]+  Exit 2                  kube-proxy --master=172.16.1.11:8080 --logtostderr=false --log-dir=/home/user/log/kube --proxy-port-range=65536-65599
```
```
root@vm:/home/paas/zxp# kube-proxy --master=172.16.1.11:8080 --logtostderr=false --log-dir=/home/user/log/kube --proxy-port-range=6000-65599 &
[6] 6732
root@vm:/home/paas/zxp# invalid argument "6000-65599" for --proxy-port-range=6000-65599: "6000-65599" is not a valid port range: the port range cannot be greater than 65535: 6000-65599
..............
[6]+  Exit 2                  kube-proxy --master=172.16.1.11:8080 --logtostderr=false --log-dir=/home/user/log/kube --proxy-port-range=6000-65599
```
2016-07-18 01:44:03 -07:00
k8s-merge-robot
d168bbe3b8 Merge pull request #28767 from johscheuer/fix-volume-typos
Automatic merge from submit-queue

Fix typos in volume.go

Fixed some minor typos in the docs of `volume.go`.
2016-07-18 00:36:00 -07:00
Prashanth Balasubramanian
a9426a19c9 Don't recreate lb cloud resources on kcm restart 2016-07-17 21:59:22 -07:00
AdoHe
ddbd539d1e kubectl apply add --overwrite flag 2016-07-18 00:32:13 -04:00
k8s-merge-robot
01925c810b Merge pull request #24733 from kargakis/rc-rs-conversions
Automatic merge from submit-queue

Custom conversions between RCs/RSs

Needed for building storages that still need to work with RCs but also want to facilitate RSs.

cc: @deads2k @smarterclayton @liggitt
2016-07-17 04:49:16 -07:00
k8s-merge-robot
156205523d Merge pull request #28852 from deads2k/use-user
Automatic merge from submit-queue

authorize based on user.Info

Update the `authorization.Attributes` to use the `user.Info` instead of discrete getters for each piece.

@kubernetes/sig-auth
2016-07-16 20:12:43 -07:00
k8s-merge-robot
0bec77bd6b Merge pull request #29062 from bprashanth/cidr
Automatic merge from submit-queue

List all nodes and occupy cidr map before starting allocations

Manually tested by starting a 200 node cluster with frequent controller manager restarts.
Fixes https://github.com/kubernetes/kubernetes/issues/29058
2016-07-16 15:49:10 -07:00
Prashanth Balasubramanian
2f9516db30 List all nodes and occupy cidr map before starting allocations 2016-07-16 13:54:01 -07:00
k8s-merge-robot
8677b0c545 Merge pull request #28743 from Clarifai/gpu-impl
Automatic merge from submit-queue

Fix GPU resource validation

This fixes scheduling of pods with GPU resources. The change was never upstreamed during the 1.3 beta period, as it got lost in the noise of other changes in our fork. Ooops. I'll submit a cherry-pick request for 1.3.1 as soon as this lands in master.

Because of defaulting, requests are always set if limits are. Thus, the check can never succeed. Instead, make sure that the two values are equal.

Also, remove a few other error messages and remove unnecessary Sprintf calls.
2016-07-16 11:48:42 -07:00
Davanum Srinivas
2b0ed014b7 Use Go canonical import paths
Add canonical imports only in existing doc.go files.
https://golang.org/doc/go1.4#canonicalimports

Fixes #29014
2016-07-16 13:48:21 -04:00
lixiaobing10051267
97219275b1 Apiserver ServeHTTP() modify 2016-07-16 12:29:11 +08:00
k8s-merge-robot
5e1b75d164 Merge pull request #28990 from xiangpengzhao/fix_duplicated_code
Automatic merge from submit-queue

Delete duplicated code

The code block below is called twice sequentially in func `doTestPlugin`.
.
```go
 	if _, err := os.Stat(path); err != nil {
 		if os.IsNotExist(err) {
 			t.Errorf("SetUp() failed, volume path not created: %s", path)
 		} else {
 			t.Errorf("SetUp() failed: %v", err)
 		}
 	}
```
2016-07-15 19:30:34 -07:00
k8s-merge-robot
d6336c4f4b Merge pull request #29024 from yifan-gu/copy_etc_hosts_resolv
Automatic merge from submit-queue

rkt: Copy the /etc/hosts /etc/resolv.conf into pod dir before mounting.

rkt: Copy the /etc/hosts /etc/resolv.conf into pod dir before mounting.
    
This enables the container to modify the /etc/hosts/ /etc/resolv.conf without changing the host's ones.
With this PR, we now match the docker's behavior.

Fix https://github.com/kubernetes/kubernetes/issues/29022

cc @kubernetes/sig-rktnetes @quentin-m
2016-07-15 18:56:48 -07:00
Yifan Gu
56698a6c3e rkt: Copy the /etc/hosts /etc/resolv.conf into pod dir before mounting.
This enables the container to modify the /etc/hosts/ /etc/resolv.conf
without changing the host's ones.

With this PR, we now match the docker's behavior.
2016-07-15 17:40:29 -07:00
Tim Hockin
1f37281dae Scale kube-proxy conntrack limits by cores
For large machines we want more conntrack entries than smaller machines.
2016-07-15 16:36:40 -07:00
k8s-merge-robot
e576a2f760 Merge pull request #29017 from thockin/undelete-generated-files
Automatic merge from submit-queue

Undelete generated files

There's been enough people broken by not committing generated code, that we
should undo that until we have a proper client that is `go get` compatible.

This is temporary.

Fixes #28920
2016-07-15 16:27:14 -07:00
k8s-merge-robot
d3dbe9c716 Merge pull request #28202 from hongchaodeng/cpa
Automatic merge from submit-queue

Better handle etcd compaction in multi-apiserver

What:
- Change etcd compaction routine to better handle multi-apiserver (HA) scenarios. See the docs in code.
2016-07-15 13:33:58 -07:00
k8s-merge-robot
b6c87904f6 Merge pull request #27853 from dubstack/dubstack-inject-qos-creation2
Automatic merge from submit-queue

[Kubelet] Improving QOS in kubelet by introducing QoS level Cgroups - `--cgroups-per-qos`

This PR is tied to this upstream issue #27204 
Please note that only the last commit is unique to this PR. The first two commits are from previous PR's.

It introduces a new flag in the Kubelet which can be used to specify if the user wants to use the QoS cgroup hierarchy. 

cc @kubernetes/sig-node
2016-07-15 11:54:25 -07:00
Vishnu kannan
ea1a459a80 Check if service accounts exist in gcr credential provider
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-07-15 11:41:02 -07:00
Vishnu kannan
ee9cded79a do not query the metadata server to find out if running on GCE. Retry docker registry fetches on GCP
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-07-15 11:41:02 -07:00
k8s-merge-robot
6193335bd9 Merge pull request #28985 from caesarxuchao/v1ojbref
Automatic merge from submit-queue

move api.ObjectReference.ObjectKind to pkg/api/ref.go

This is needed to convert k8s components to use versioned clientset.

To let components use versioned client, we need to convert `pkg/client/record` to v1, which depends on `pkg/api/ref.go`, so we need to make a `pkg/api/v1/ref.go`. And this [line](https://github.com/kubernetes/kubernetes/blob/master/pkg/api/ref.go#L44) requires v1.ObjectReference to be a runtime.Object. Moving `api.ObjectReference.ObjectKind` to `pkg/api/ref.go` will make the writing a conversion script easier because all the necessary changes will be restricted in `ref.go`.
2016-07-15 11:14:07 -07:00
Tim Hockin
3384e03920 Commit generated files
There's been enough people broken by not committing generated code, that we
should undo that until we have a proper client that is `go get` compatible.

This is temporary.
2016-07-15 10:27:51 -07:00
Hongchao Deng
54025ce8b3 etcd3/store: Add test for compact conflict 2016-07-15 10:24:50 -07:00
Hongchao Deng
186b4858b4 better handle etcd compaction in multi-apiserver 2016-07-15 10:24:49 -07:00
k8s-merge-robot
529df988e8 Merge pull request #28964 from ncdc/export-isterminal
Automatic merge from submit-queue

Reexport term.IsTerminal

Reexport term.IsTerminal so downstream consumers (e.g. OpenShift) can use it.

@smarterclayton @sttts
2016-07-15 10:06:20 -07:00
Buddha Prakash
5000e74664 Inject top level QoS cgroup creation in the Kubelet 2016-07-15 10:02:22 -07:00
Mike Dame
cfbf7da75b Make sure --record=false is acknowledged when passed to commands 2016-07-15 11:24:05 -04:00
k8s-merge-robot
0af6d321e8 Merge pull request #28935 from smarterclayton/avoid_double_encode
Automatic merge from submit-queue

Don't double encode protobuf runtime.Unknown

When using runtime.Object and runtime.RawExtension, passing
runtime.Unknown to protobuf serializer should result in the raw message
being serialized (since all normal protobuf objects are
runtime.Unknown).

Also, avoid setting a content-type when decoding a protobuf object
except when the content appears to be proto.

@wojtek-t
2016-07-15 07:43:09 -07:00
k8s-merge-robot
aa16140298 Merge pull request #28926 from ronnielai/pleg
Automatic merge from submit-queue

Including ContainerRemoved in PLEG event reporting
2016-07-15 07:03:19 -07:00
k8s-merge-robot
15b1fe33ee Merge pull request #28915 from ronnielai/gc-threshold
Automatic merge from submit-queue

Support deleting all unused images

#25239
2016-07-15 06:22:56 -07:00
Michail Kargakis
f85067b27d api: custom conversions for rc/rs 2016-07-15 14:52:27 +02:00
Michail Kargakis
d7038f50b6 unversioned: conversion from new to original label selector 2016-07-15 14:52:27 +02:00
k8s-merge-robot
5844145795 Merge pull request #28815 from smarterclayton/fix_stringer
Automatic merge from submit-queue

Generate a better Stringer method for proto types

This replaces the bad string output generated by golang/proto with gogo/protobuf stringer generation. Makes the output similar to %#v and more debuggable. We have to have a String() method to implement proto.Message, so this is strictly better.

@wojtek-t, @thockin for after your PR merges

Fixes #28756
2016-07-15 05:49:40 -07:00
k8s-merge-robot
423106ccee Merge pull request #28512 from smarterclayton/multirestmapper
Automatic merge from submit-queue

Implement a RESTMappings method

With the introduction of batch/v1 and batch/v2alpha1, any
MultiRESTMapper that has per groupversion mappers (as a naive discovery
client would create) would end up being unable to call RESTMapping() on
batch.Jobs. As we finish up discovery we will need to be able to choose
prioritized RESTMappings based on the service discovery doc.

This change implements RESTMappings(groupversion) which returns all
possible RESTMappings for that kind.  That allows a higher level call to
prioritize the returned mappings by server or client preferred version.

@deads2k
2016-07-15 05:13:55 -07:00
k8s-merge-robot
e7e434b10d Merge pull request #27600 from caesarxuchao/rc-gc
Automatic merge from submit-queue

[GarbageCollector] Let the RC manager set/remove ControllerRef

What's done:
* RC manager sets Controller Ref when creating new pods
* RC manager sets Controller Ref when adopting pods with matching labels but having no controller
* RC manager clears Controller Ref when pod labels change
* RC manager clears pods' Controller Ref when rc's selector changes
* RC manager stops adoption/creating/deleting pods when rc's DeletionTimestamp is set
* RC manager bumps up ObservedGeneration: The [original code](https://github.com/kubernetes/kubernetes/blob/master/pkg/controller/replication/replication_controller_utils.go#L36) will do this.
* Integration tests:
  * verifies that changing RC's selector or Pod's Labels triggers adoption/abandoning
* e2e tests (separated to #27151):
  * verifies GC deletes the pods created by RC if DeleteOptions.OrphanDependents=false, and orphans the pods if DeleteOptions.OrphanDependents=true.

TODO:

- [x] we need to be able to select Pods that have a specific ControllerRef. Then each time we sync the RC, we will iterate through all the Pods that has a controllerRef pointing the RC, event if the labels of the Pod doesn't match the selector of RC anymore. This will prevent a Pod from stuck with a stale controllerRef, which could be caused by the race between abandoner (the goroutine that removes controllerRef) and worker the goroutine that add controllerRef to pods).
- [ ] use controllerRef instead of calling `getPodController`. This might be carried out by the control-plane team.
- [ ] according to the controllerRef proposal (#25256): "For debugging purposes we want to add an adoptionTime annotation prefixed with kubernetes.io/ which will keep the time of last controller ownership transfer." This might be carried out by the control-plane team.

cc @lavalamp @gmarek
2016-07-15 04:40:40 -07:00
k8s-merge-robot
d347435708 Merge pull request #19837 from mikedanese/kubelet-external
Automatic merge from submit-queue

kubelet external componentconfig
2016-07-15 03:59:50 -07:00
Wojciech Tyczynski
f71244975d Revert "[garbage collector] add e2e test" 2016-07-15 10:10:02 +02:00
xiangpengzhao
b2ab356ca5 Delete duplicated code. 2016-07-15 03:04:24 -04:00
Chao Xu
3fb678aca3 move api.OjbectReference.ObjectKind() to ref.go 2016-07-14 23:02:05 -07:00