Commit Graph

29344 Commits (d3f8eaba7f836ee0e5afbef7a7b0d16d99acf31b)

Author SHA1 Message Date
Dr. Stefan Schimanski d3f8eaba7f Use framework.podStartTimeout for kubectl test pod launch 2016-05-24 13:10:56 +02:00
Piotr Szczesniak 8f104a7b0f Merge pull request #26063 from wojtek-t/fix_reflect_resync_2
Fix govet error in reflect_resync test
2016-05-23 12:52:09 +02:00
Wojciech Tyczynski 051fca3c79 Fix govet error in reflect_resync test 2016-05-23 12:50:46 +02:00
Piotr Szczesniak 1d17eb14c2 Merge pull request #26059 from wojtek-t/fix_reflector_resync
Fix reflector test
2016-05-23 12:11:26 +02:00
Wojciech Tyczynski 71726a8ad0 Fix reflector test 2016-05-23 12:07:11 +02:00
k8s-merge-robot ce2d7ab5f7 Merge pull request #26052 from gmarek/master
Automatic merge from submit-queue

Add few log lines to NodeController
2016-05-23 00:55:26 -07:00
Piotr Szczesniak d92c151fec Merge pull request #26013 from xiang90/fix_test
cache: fix flaky resync test
2016-05-23 09:23:26 +02:00
gmarek 1d89d2f2d2 Add few log lines to NodeController 2016-05-23 08:49:11 +02:00
k8s-merge-robot a8ba289003 Merge pull request #25617 from smarterclayton/manage_deploy_logs
Automatic merge from submit-queue

Rolling updater should allow progress to be logged / detected
2016-05-22 23:45:24 -07:00
k8s-merge-robot 88766e8a68 Merge pull request #25600 from janetkuo/sort-by-timestamp
Automatic merge from submit-queue

Support sort-by timestamp in kubectl get

## 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
```

**Before:**
```console
$ kubectl get svc --sort-by='{.metadata.creationTimestamp}'
proto: no encoder for TypeMeta unversioned.TypeMeta [GetProperties]
proto: tag has too few fields: "-"
proto: no coders for struct *reflect.rtype
proto: no encoder for sec int64 [GetProperties]
proto: no encoder for nsec int32 [GetProperties]
proto: no encoder for loc *time.Location [GetProperties]
proto: no encoder for Time time.Time [GetProperties]
proto: no coders for intstr.Type
proto: no encoder for Type intstr.Type [GetProperties]
F0513 16:46:49.499894   29562 sorting_printer.go:182] Field {.metadata.creationTimestamp} in TypeMeta:<kind:"Service" apiVersion:"v1" > metadata:<name:"kubernetes" generateName:"" namespace:"default" selfLink:"/api/v1/namespaces/default/services/kubernetes" uid:"b88b4739-1964-11e6-9ac3-64510658e388" resourceVersion:"8" generation:0 creationTimestamp:<2016-05-13T16:45:06-07:00> labels:<key:"component" value:"apiserver" > labels:<key:"provider" value:"kubernetes" > > spec:<ports:<name:"https" protocol:"TCP" port:443 targetPort:<type:0 intVal:443 strVal:"" > nodePort:0 > clusterIP:"10.0.0.1" type:"ClusterIP" sessionAffinity:"ClientIP" loadBalancerIP:"" > status:<loadBalancer:<> >  is an unsortable type: struct, err: unsortable type: struct
```

**After:**
```console
$ kubectl get svc --sort-by='{.metadata.creationTimestamp}'
NAME         CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   10.0.0.1     <none>        443/TCP   48s
frontend     10.0.0.108   <none>        80/TCP    10s
```
@kubernetes/kubectl 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-22 22:51:34 -07:00
k8s-merge-robot 6528a4a6a3 Merge pull request #25945 from xiang90/fix_reflector
Automatic merge from submit-queue

cache: reflector should never stop watching

A recent change tries to separate resync and relist. The motivation
was to avoid triggering relist when a resync is required.

However, the change is not effective since it stops the watcher. As hongchao
mentioned in the original comment, today's storage interface will not deliever
any progress notification to the watch chan. So any watcher that does not receive
events for the last few seconds will not be able to catch up from the previous
index after a hard close since the index of the last received event is out of
the cache window inside etcd2.

This pull request tries to fix this issue by not stoping watcher when a resync is
required.

/cc @hongchaodeng @wojtek-t @timothysc @rrati @smarterclayton
2016-05-22 21:32:02 -07:00
k8s-merge-robot 8b0e9c5739 Merge pull request #24947 from hpcloud/hpe/vsphere-volume
Automatic merge from submit-queue

vSphere Volume Plugin Implementation

This PR implements vSphere Volume plugin support in Kubernetes (ref. issue #23932).
2016-05-22 20:40:14 -07:00
k8s-merge-robot 180ab70df0 Merge pull request #25560 from ping035627/ping035627-patch-3
Automatic merge from submit-queue

A optimization for “RegisterCustomFitPredicate” function, avoiding redundancy
2016-05-22 19:37:23 -07:00
k8s-merge-robot 086ace44b8 Merge pull request #25548 from jlowdermilk/lower-ginkgo-parallelism
Automatic merge from submit-queue

Lower ginkgo parallelism and move same image rolling-update test out of flaky

Tentative fix for #25140.
2016-05-22 18:43:57 -07:00
Xiang Li abbbd7c2f2 cache: reflector should never stop watching
A recent change tries to separate resync and relist. The motivation
was to avoid triggering relist when a resync is required.

However, the change is not effective since it stops the watcher. As hongchao
mentioned in the original comment, today's storage interface will not deliever
any progress notification to the watch chan. So any watcher that does not receive
events for the last few seconds will not be able to catch up from the previous
index after a hard close since the index of the last received event is out of
the cache window inside etcd2.

This pull request tries to fix this issue by not stoping watcher when a resync is
required.
2016-05-22 18:04:20 -07:00
k8s-merge-robot f58c587aaa Merge pull request #25542 from brendandburns/3rdpartye2e
Automatic merge from submit-queue

Add a basic e2e test for 3rd party objects.

Depends on https://github.com/kubernetes/kubernetes/pull/25365

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-22 17:42:58 -07:00
k8s-merge-robot 94c7e94b85 Merge pull request #25501 from soltysh/net_remoteaddr
Automatic merge from submit-queue

SplitHostPort is needed since Request.RemoteAddr has the host:port format

@smarterclayton ptal
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-22 16:53:41 -07:00
k8s-merge-robot b84730ba16 Merge pull request #25748 from derekwaynecarr/hotloop_quota
Automatic merge from submit-queue

ResourceQuota controller uses rate limiter to prevent hot-loops in error situations

Have resource quota controller use a rate limited queue to prevent hot-looping in error situations.
2016-05-22 15:45:03 -07:00
k8s-merge-robot 1b78799b3b Merge pull request #25768 from piosz/metrics-api-hpa
Automatic merge from submit-queue

Use Metrics API in HPA
2016-05-22 13:58:07 -07:00
k8s-merge-robot 52707ac7ee Merge pull request #24884 from vulpecula/test-local-ssd
Automatic merge from submit-queue

E2e tests for GKE cluster with local SSD.

The test cover node pool with local SSD creation and scheduling a pod that writes and reads from it. Pod access local disk via hostPath. 

```release-note
E2e tests for GKE cluster with local SSD.
-OR-
```
2016-05-22 13:03:48 -07:00
k8s-merge-robot 8e81025030 Merge pull request #25512 from colhom/fix-hyperkube-kubectl
Automatic merge from submit-queue

Fix hyperkube flag parsing

Hyperkube flag parsing was not playing nicely with kubectl command and sub-commands. This PR addresses that problem, and adds some tests which exercise hyperkube dispatching to nested cobra commands.

\cc @aaronlevy @kbrwn @mumoshu

fixes #24088

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-22 12:00:27 -07:00
Xiang Li f31ec95f05 cache: fix flaky resync test 2016-05-22 10:57:00 -07:00
k8s-merge-robot 0257f54a8c Merge pull request #24850 from madhusudancs/speedup-do-nothing
Automatic merge from submit-queue

Improve the speed of do-nothing build.

As @thockin found out here https://github.com/kubernetes/kubernetes/issues/24518, vast majority of the do-nothing build time is spent in rebuilding the test binaries. There is no staleness check support for test binaries.

This commit implements the staleness checks for test binaries and uses them while building packages.

On my workstation, do-nothing hack/build-go.sh time goes from ~20 secs to ~4 secs, of which only ~1 sec is from doing test binary staleness check now (as opposed to ~17 secs it took to build the test binaries before). I did some experiments to bring this time down to <1 sec. I measured using go test -bench, but it was not very useful in this case. I believe, a vast majority of that ~1 second is being spent in fork/exec and piping the results back to the staleness check program along with the ser-deser involved, but it needs to be validated. Not a proof, but to provide some supporting evidence to this claim, running `go list -f format packages` in the shell takes about 600ms irrespective of what's in the format.

Tests are TBD. I am still trying to figure out how to test this, but I would like to get early feedback

cc @mikedanese @mml
2016-05-22 10:33:04 -07:00
k8s-merge-robot 39f0c6ba25 Merge pull request #24719 from bprashanth/kubectl_tls
Automatic merge from submit-queue

Add a kubectl create secret tls command

A somewhat hasty implementation that enables progress along: https://github.com/kubernetes/kubernetes/issues/20176#issuecomment-177409516, https://github.com/kubernetes/kubernetes/issues/24669, https://github.com/kubernetes/kubernetes/issues/20176#issuecomment-198142836 if associated parties have spare cycles. @kubernetes/kubectl

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24719)
<!-- Reviewable:end -->
2016-05-22 09:40:42 -07:00
k8s-merge-robot a503bb828a Merge pull request #24653 from gtank/go-devel-builds
Automatic merge from submit-queue

hack: allow devel builds of go

This is issue https://github.com/kubernetes/kubernetes/issues/6913. It seems reasonable that someone running a devel build is responsible for making sure it's a sane version.

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24653)
<!-- Reviewable:end -->
2016-05-22 08:51:54 -07:00
k8s-merge-robot 4c87df0af4 Merge pull request #21709 from swagiaal/detangle-attach-detach-gce
Automatic merge from submit-queue

Detangle attach detach from  gce

This detangles attach and detach operations from the GCE PD plugin and implements the new Attacher/Detacher interface.

@markturansky @saad-ali What do you guys think ?

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/21709)
<!-- Reviewable:end -->
2016-05-22 08:02:07 -07:00
k8s-merge-robot 6936b9ff21 Merge pull request #20918 from deads2k/fix-list-edit
Automatic merge from submit-queue

fix edit on list

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

This reverts the implementation that removed list editing capability, but leaves its tests intact.  This allows edits of lists to work, while still allowing mutation of the annotations.  It does this by walking each item and building per item patches.

The current implementation will do funny things if you delete entire list entries.  A followup could be written to locate the correct list item by name.  Right now, it just rejects the patch because its trying to change an immutable field.

@janetkuo @kubernetes/kubectl @kargakis
2016-05-22 07:12:18 -07:00
k8s-merge-robot fe15db60f4 Merge pull request #25986 from Random-Liu/enable-node-problem-detector
Automatic merge from submit-queue

Add node problem detector as an addon pod.

```release-note
Introduce a new add-on pod NodeProblemDetector.

NodeProblemDetector is a DaemonSet running on each node, monitoring node health and reporting
node problems as NodeCondition and Event. Currently it already supports kernel log monitoring, and
will support more problem detection in the future. It is enabled by default on gce now.
```

This PR enables NodeProblemDetector as an add-on pod.

/cc @mikedanese @kubernetes/sig-node 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-22 06:17:28 -07:00
Sami Wagiaalla 4858d0ab6f Detangle Attach/Detach from GCE PD 2016-05-22 08:28:29 -04:00
k8s-merge-robot f1e528eab6 Merge pull request #25933 from timstclair/subcontainers
Automatic merge from submit-queue

Handle cAdvisor partial failures

Kubernetes side of https://github.com/google/cadvisor/issues/1286

Partially fixes https://github.com/kubernetes/kubernetes/issues/25131

(Depends on cAdvisor Godeps bump https://github.com/kubernetes/kubernetes/pull/25914)

/cc @kubernetes/sig-node
2016-05-22 04:50:01 -07:00
k8s-merge-robot dc73d1e67d Merge pull request #25912 from cjcullen/userMetric
Automatic merge from submit-queue

Add an 'authenticated user' metric to the RequestAuthenticator.

Allows metric gathering of cluster access by internal/auto-generated identities vs. users (without actually exposing individual real users' usernames).
2016-05-22 04:01:15 -07:00
k8s-merge-robot 6224f44717 Merge pull request #25771 from sjpotter/fs-info
Automatic merge from submit-queue

kubelet/cadvisor: Refactor cadvisor disk stat/usage interfaces.

basically

1) cadvisor struct will know what runtime the kubelet is, passed in via additional argument to New()

2) rename cadvisor wrapper function to DockerImagesFsInfo() to ImagesFsInfo() and have linux implementation choose a label based on the runtime inside the cadvisor struct

2a) mock/fake/unsupported modified to take the same additional argument in New()

3) kubelet's wrapper for the cadvisor wrapper is renamed in parallel

4) make all tests use new interface
2016-05-22 03:08:59 -07:00
k8s-merge-robot 3b74a6b0ef Merge pull request #25569 from soltysh/scheduledjob_storage
Automatic merge from submit-queue

Scheduledjob storage

This builds on top of #25475 so only last commit is significant. There's still one small problem with conversions, I'm currently working, but the biggest is still multi-version client tests. Read on...

@erictune unfortunately the multi-version tests are biting again, this time in `pkg/registry/scheduledjob/etcd`. If I run the tests with just `batch/v2alpha1` then these are working correctly, but we can't have only `batch/v2alpha1` enabled since `batch/v1` is the preferred version for the entire `batch/` group. We either going to skip the tests here like we did with the scheduledjob client (I'm talking about `pkg/registry/scheduledjob/etcd/etcd_test.go`) or fix it. 

I've talked with @deads2k about how we can plumb the tests so it just passes, but there's no simple solution we can come up with 😞 (other than the one from #25566), unless @caesarxuchao can chime in and propose something.

```release-note
Introducing ScheduledJobs as described in [the proposal](https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/scheduledjob.md) as part of `batch/v2alpha1` version (experimental feature).
```
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-22 01:45:22 -07:00
k8s-merge-robot fe1588ebb2 Merge pull request #26024 from dims/fix-issue-25950
Automatic merge from submit-queue

Fix useless error message in scheduler log

Print the Namespace and Name instead of Kind/ApiVersion.

fixes #25950
2016-05-21 23:33:42 -07:00
k8s-merge-robot 82cb4c1758 Merge pull request #23930 from ArtfulCoder/vendor-skydns
Automatic merge from submit-queue

Use SkyDNS as a library for a more integrated kube DNS
2016-05-21 23:33:35 -07:00
k8s-merge-robot 1eb221e96f Merge pull request #25561 from andyzheng0831/webhook
Automatic merge from submit-queue

Configuration for GCP webhook authentication and authorization

This PR adds configuration for GCP webhook authentication and authorization in ContainerVM and GCI. The change of configure-vm.sh and kube-apiserver.manifest is directly copied from @cjcullen's PR #25380 and #25296. The change in GCI script configure-helper.sh includes the support for webhook authentication and authorization, and also some code refactor to improve readability.

@cjcullen @roberthbailey @zmerlynn please review it. The original PRs are P1, please mark this as P1.

cc/ @fabioy @kubernetes/goog-image FYI.

I verified it by running e2e tests on GCI cluster. Without the GCI side change, cluster creation fails as being capture by GKE Jenkins tests. I don't test when the two env GCP_AUTHN_URL and GCP_AUTHZ_URL are set, because they are only set in GKE. After this PR is merged, @cjcullen will test in GKE.
2016-05-21 22:30:14 -07:00
k8s-merge-robot 529135dd01 Merge pull request #25863 from ping035627/ping035627-patch-2
Automatic merge from submit-queue

Fix the bug of the "removePod" function in node_info.go
2016-05-21 21:34:28 -07:00
k8s-merge-robot a385ee13e3 Merge pull request #25630 from philips/readme-k8s-everywhere
Automatic merge from submit-queue

README: be more accurate about where k8s can run
2016-05-21 20:34:39 -07:00
k8s-merge-robot 9e8282c586 Merge pull request #25838 from cjcullen/authzcache
Automatic merge from submit-queue

Cache webhook authorization responses

Similar to #25694, but for authorization.
2016-05-21 20:34:34 -07:00
k8s-merge-robot c17465be03 Merge pull request #25531 from ingvagabund/introduce-memory-pressure-to-scheduler
Automatic merge from submit-queue

Introduce node memory pressure condition to scheduler

Following the work done by @derekwaynecarr at https://github.com/kubernetes/kubernetes/pull/21274, introducing memory pressure predicate for scheduler.

Missing:

* write down unit-test
* test the implementation

At the moment this is a heads up for further discussion how the new node's memory pressure condition should be handled in the generic scheduler.

**Additional info**

* Based on [1], only best effort pods are subject to filtering.
* Based on [2], best effort pods are those pods "iff requests & limits are not specified for any resource across all containers".

[1] 542668cc79/docs/proposals/kubelet-eviction.md (scheduler)
[2] https://github.com/kubernetes/kubernetes/pull/14943
2016-05-21 19:37:15 -07:00
k8s-merge-robot 3ef05dc53e Merge pull request #25069 from vincepii/master
Automatic merge from submit-queue

Heredoc fix on k8sm ha document

Fix for a missing delimiter on a heredoc in contrib/mesos/docs/ha.md.

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-21 18:30:06 -07:00
k8s-merge-robot c1c8537a96 Merge pull request #23344 from colemickens/azure-cluster
Automatic merge from submit-queue

azure: azkube v0.0.5 + deploy kube-system + hack/ script for hyperkube

Update the Azure bring up.

Also added a script `hack/dev-push-hyperkube.sh` for fast iteration on changes. One can deploy a cluster with a given hyperkube image reference and then use this script to rapidly iterate on changes. Testing changes just requires pulling the updated hyperkube image on the boxes and then cycling kubelet/docker or restarting the node.

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/23344)
<!-- Reviewable:end -->
2016-05-21 18:30:02 -07:00
k8s-merge-robot 5d8e797a14 Merge pull request #25907 from ncdc/check-docker-pidfile
Automatic merge from submit-queue

Fix detection of docker cgroup on RHEL

Check docker's pid file, then fallback to pidof when trying to determine the pid for docker. The
latest docker RPM for RHEL changes /usr/bin/docker from an executable to a shell script (to support
/usr/bin/docker-current and /usr/bin/docker-latest). The pidof check for docker fails in this case,
so we check /var/run/docker.pid first (the default location), and fallback to pidof if that fails.

@kubernetes/sig-node @kubernetes/rh-cluster-infra
2016-05-21 16:50:00 -07:00
k8s-merge-robot 009ae748a5 Merge pull request #25830 from smarterclayton/init_container_psp
Automatic merge from submit-queue

Add init containers to PSP admission

Treat them just like regular containers.

@pweil-
2016-05-21 16:01:13 -07:00
Cole Mickens 579d179239 azure: azkube v0.0.5 + deploy kube-system 2016-05-21 15:44:46 -07:00
Cole Mickens 6d774c9d37 add hack/dev-push-hyperkube.sh 2016-05-21 15:44:46 -07:00
Jan Chaloupka b95b30bbd7 Scheduler: introduce CheckNodeMemoryPressurePredicate, don't schedule pods for nodes that reports memory pressury.
Introduce unit-test for CheckNodeMemoryPressurePredicate

Following work done in #14943
2016-05-22 00:40:28 +02:00
CJ Cullen d03dbbcc14 Add LRU Expire cache to webhook authorizer. 2016-05-21 14:50:50 -07:00
Maciej Szulik db08dedf5e ScheduledJob storage 2016-05-21 23:23:29 +02:00
k8s-merge-robot 4d69e2c26a Merge pull request #25475 from soltysh/scheduledjob_client
Automatic merge from submit-queue

ScheduledJob client 

@erictune SheduledJob part 2, based on #24970 so first two commits doesn't count. 
This is still WIP, but it's here so you know :)

```release-note
Introducing ScheduledJobs as described in [the proposal](https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/scheduledjob.md) as part of `batch/v2alpha1` version (experimental feature).
```
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-21 14:10:41 -07:00