Commit Graph

28238 Commits

Author SHA1 Message Date
k8s-merge-robot
9db40b6b8d Merge pull request #24345 from gmarek/enable_gatherer
Automatic merge from submit-queue

Enable resource gatherer in Kubemark tests

Depends on #24291

Ref. #23820

cc @jlowdermilk
2016-04-27 08:32:20 -07:00
k8s-merge-robot
28bc4b32c2 Merge pull request #24532 from rsc/master
Automatic merge from submit-queue

apiserver latency reductions

Combined effect of these two commits on the latency observed by the 1000-node kubemark benchmark:

```
name                               old ms/op  new ms/op   delta
LIST_nodes_p50                      127 ±16%    121 ± 9%   -4.58%  (p=0.000 n=29+27)
LIST_nodes_p90                      326 ±12%    266 ±12%  -18.48%  (p=0.000 n=29+27)
LIST_nodes_p99                      453 ±11%    400 ±14%  -11.79%  (p=0.000 n=29+28)
LIST_replicationcontrollers_p50    29.4 ±49%   26.2 ±54%     ~     (p=0.085 n=30+29)
LIST_replicationcontrollers_p90    83.0 ±78%   68.6 ±59%  -17.33%  (p=0.013 n=30+28)
LIST_replicationcontrollers_p99     216 ±43%    177 ±49%  -17.68%  (p=0.000 n=29+29)
DELETE_pods_p50                    24.5 ±14%   24.3 ±13%     ~     (p=0.562 n=30+29)
DELETE_pods_p90                    30.7 ± 1%   30.7 ± 1%   -0.30%  (p=0.011 n=29+29)
DELETE_pods_p99                    77.2 ±34%   54.2 ±23%  -29.76%  (p=0.000 n=30+27)
PUT_replicationcontrollers_p50     5.86 ±26%   5.94 ±32%     ~     (p=0.734 n=29+29)
PUT_replicationcontrollers_p90     15.8 ± 7%   15.5 ± 6%   -2.06%  (p=0.010 n=29+29)
PUT_replicationcontrollers_p99     57.8 ±35%   39.5 ±55%  -31.60%  (p=0.000 n=29+29)
PUT_nodes_p50                      14.9 ± 2%   14.8 ± 2%   -0.68%  (p=0.012 n=30+27)
PUT_nodes_p90                      16.5 ± 1%   16.3 ± 2%   -0.90%  (p=0.000 n=27+28)
PUT_nodes_p99                      57.9 ±47%   41.3 ±35%  -28.61%  (p=0.000 n=30+28)
POST_replicationcontrollers_p50    6.35 ±29%   6.34 ±20%     ~     (p=0.944 n=30+28)
POST_replicationcontrollers_p90    15.4 ± 5%   15.0 ± 5%   -2.18%  (p=0.001 n=29+29)
POST_replicationcontrollers_p99    52.2 ±71%   32.9 ±46%  -36.99%  (p=0.000 n=29+27)
POST_pods_p50                      8.99 ±13%   8.95 ±16%     ~     (p=0.903 n=30+29)
POST_pods_p90                      16.2 ± 4%   16.1 ± 4%     ~     (p=0.287 n=29+29)
POST_pods_p99                      30.9 ±21%   26.4 ±12%  -14.73%  (p=0.000 n=28+28)
POST_bindings_p50                  9.34 ±12%   8.92 ±15%   -4.54%  (p=0.013 n=30+28)
POST_bindings_p90                  16.6 ± 1%   16.5 ± 3%   -0.73%  (p=0.017 n=28+29)
POST_bindings_p99                  23.5 ± 9%   21.1 ± 4%  -10.09%  (p=0.000 n=27+28)
PUT_pods_p50                       10.8 ±11%   10.2 ± 5%   -5.47%  (p=0.000 n=30+27)
PUT_pods_p90                       16.1 ± 1%   16.0 ± 1%   -0.64%  (p=0.000 n=29+28)
PUT_pods_p99                       23.4 ± 9%   20.9 ± 9%  -10.93%  (p=0.000 n=28+27)
DELETE_replicationcontrollers_p50  2.42 ±16%   2.50 ±13%     ~     (p=0.054 n=29+28)
DELETE_replicationcontrollers_p90  11.5 ±12%   11.8 ±13%     ~     (p=0.141 n=30+28)
DELETE_replicationcontrollers_p99  19.5 ±21%   19.1 ±21%     ~     (p=0.397 n=29+29)
GET_nodes_p50                      0.77 ±10%   0.76 ±10%     ~     (p=0.317 n=28+28)
GET_nodes_p90                      1.20 ±16%   1.14 ±24%   -4.66%  (p=0.036 n=28+29)
GET_nodes_p99                      11.4 ±48%    7.5 ±46%  -34.28%  (p=0.000 n=28+29)
GET_replicationcontrollers_p50     0.74 ±17%   0.73 ±17%     ~     (p=0.222 n=30+28)
GET_replicationcontrollers_p90     1.04 ±25%   1.01 ±27%     ~     (p=0.231 n=30+29)
GET_replicationcontrollers_p99     12.1 ±81%  10.0 ±145%     ~     (p=0.063 n=28+29)
GET_pods_p50                       0.78 ±12%   0.77 ±10%     ~     (p=0.178 n=30+28)
GET_pods_p90                       1.06 ±19%   1.02 ±19%     ~     (p=0.120 n=29+28)
GET_pods_p99                       3.92 ±43%   2.45 ±38%  -37.55%  (p=0.000 n=27+25)
LIST_services_p50                  0.20 ±13%   0.20 ±16%     ~     (p=0.854 n=28+29)
LIST_services_p90                  0.28 ±15%   0.27 ±14%     ~     (p=0.219 n=29+28)
LIST_services_p99                  0.49 ±20%   0.47 ±24%     ~     (p=0.140 n=29+29)
LIST_endpoints_p50                 0.19 ±14%   0.19 ±15%     ~     (p=0.709 n=29+29)
LIST_endpoints_p90                 0.26 ±16%   0.26 ±13%     ~     (p=0.274 n=29+28)
LIST_endpoints_p99                 0.46 ±24%   0.44 ±21%     ~     (p=0.111 n=29+29)
LIST_horizontalpodautoscalers_p50  0.16 ±15%   0.15 ±13%     ~     (p=0.253 n=30+27)
LIST_horizontalpodautoscalers_p90  0.22 ±24%   0.21 ±16%     ~     (p=0.152 n=30+28)
LIST_horizontalpodautoscalers_p99  0.31 ±33%   0.31 ±38%     ~     (p=0.817 n=28+29)
LIST_daemonsets_p50                0.16 ±20%   0.15 ±11%     ~     (p=0.135 n=30+27)
LIST_daemonsets_p90                0.22 ±18%   0.21 ±25%     ~     (p=0.135 n=29+28)
LIST_daemonsets_p99                0.29 ±28%   0.29 ±32%     ~     (p=0.606 n=28+28)
LIST_jobs_p50                      0.16 ±16%   0.15 ±12%     ~     (p=0.375 n=29+28)
LIST_jobs_p90                      0.22 ±18%   0.21 ±16%     ~     (p=0.090 n=29+26)
LIST_jobs_p99                      0.31 ±28%   0.28 ±35%  -10.29%  (p=0.005 n=29+27)
LIST_deployments_p50               0.15 ±16%   0.15 ±13%     ~     (p=0.565 n=29+28)
LIST_deployments_p90               0.22 ±22%   0.21 ±19%     ~     (p=0.107 n=30+28)
LIST_deployments_p99               0.31 ±27%   0.29 ±34%     ~     (p=0.068 n=29+28)
LIST_namespaces_p50                0.21 ±25%   0.21 ±26%     ~     (p=0.768 n=29+27)
LIST_namespaces_p90                0.28 ±29%   0.26 ±25%     ~     (p=0.101 n=30+28)
LIST_namespaces_p99                0.30 ±48%   0.29 ±42%     ~     (p=0.339 n=30+29)
LIST_replicasets_p50               0.15 ±18%   0.15 ±16%     ~     (p=0.612 n=30+28)
LIST_replicasets_p90               0.22 ±19%   0.21 ±18%   -5.13%  (p=0.011 n=28+27)
LIST_replicasets_p99               0.31 ±39%   0.28 ±29%     ~     (p=0.066 n=29+28)
LIST_persistentvolumes_p50         0.16 ±23%   0.15 ±21%     ~     (p=0.124 n=30+29)
LIST_persistentvolumes_p90         0.21 ±23%   0.20 ±23%     ~     (p=0.092 n=30+25)
LIST_persistentvolumes_p99         0.21 ±24%   0.20 ±23%     ~     (p=0.053 n=30+25)
LIST_resourcequotas_p50            0.16 ±12%   0.16 ±13%     ~     (p=0.175 n=27+28)
LIST_resourcequotas_p90            0.20 ±22%   0.20 ±24%     ~     (p=0.388 n=30+28)
LIST_resourcequotas_p99            0.22 ±24%   0.22 ±23%     ~     (p=0.575 n=30+28)
LIST_persistentvolumeclaims_p50    0.15 ±21%   0.15 ±29%     ~     (p=0.079 n=30+28)
LIST_persistentvolumeclaims_p90    0.19 ±26%   0.18 ±34%     ~     (p=0.446 n=29+29)
LIST_persistentvolumeclaims_p99    0.19 ±26%   0.18 ±34%     ~     (p=0.446 n=29+29)
LIST_pods_p50                      68.0 ±16%   56.3 ± 9%  -17.19%  (p=0.000 n=29+28)
LIST_pods_p90                       119 ±19%     93 ± 8%  -21.88%  (p=0.000 n=28+28)
LIST_pods_p99                       230 ±18%    202 ±14%  -12.13%  (p=0.000 n=27+28)
```
2016-04-27 08:32:18 -07:00
k8s-merge-robot
c7d1637a0b Merge pull request #24525 from wojtek-t/scheduler_traces
Automatic merge from submit-queue

Add traces to scheduler

This will simplify performance debugging of scheduler.

@davidopp @hongchaodeng @xiang90
2016-04-27 07:16:07 -07:00
k8s-merge-robot
32121e344b Merge pull request #24514 from derekwaynecarr/pod_quota_fix
Automatic merge from submit-queue

Quota ignores pod compute resources on updates

Scenario:

1. define a quota Q that tracks memory and cpu
2. create pod P that uses memory=100Mi, cpu=100m
3. update pod P to use memory=50Mi,cpu=10m

Expected Results:
Step 3 should fail with validation error.
Quota Q should not have changed.

Actual Results:
Step 3 fails validation, but quota Q is decremented to have memory usage down 50Mi and cpu usage down 40m.  This is because the quota was getting updated even though the pod was going to fail validation.

Fix:
Quota should only support modifying pod compute resources when pods themselves support modifying their compute resources.

This also fixes https://github.com/kubernetes/kubernetes/issues/24352

/cc @smarterclayton - this is what we discussed.

fyi: @kubernetes/rh-cluster-infra
2016-04-27 06:27:51 -07:00
k8s-merge-robot
a8d9a8dafd Merge pull request #24851 from pmorie/master-test-loc
Automatic merge from submit-queue

Reduce LOC in third party controller test

Extract method refactor to make this test a little more readable

@kubernetes/sig-api-machinery
2016-04-27 05:53:33 -07:00
k8s-merge-robot
fc8fa69815 Merge pull request #24582 from xiangpengzhao/master
Automatic merge from submit-queue

Improve error messages in jwt_test.go
2016-04-27 05:53:32 -07:00
k8s-merge-robot
8dfb6ebc31 Merge pull request #24360 from freehan/svcflakefix1
Automatic merge from submit-queue

only close new ports upon iptables-restore failure

fixes: #24357
2016-04-27 04:42:13 -07:00
Wojciech Tyczynski
6b1e59e8c8 Merge pull request #24856 from mwielgus/public_drain
Make DrainOptions.getPodsForDeletion public to be reused in ClusterAutoscaler
2016-04-27 13:00:57 +02:00
Marcin Wielgus
41dde20410 Make DrainOptions.getPodsForDeletion public to be reused in ClusterAutoscaler 2016-04-27 11:47:34 +02:00
Harry Zhang
d6f26b68bc Use expiration cache for version check 2016-04-27 05:42:50 -04:00
k8s-merge-robot
a907794ce3 Merge pull request #24833 from a-robinson/lbevent
Automatic merge from submit-queue

Fix DeletingLoadBalancer event generation.

release-note:
```release-note
Fix DeletingLoadBalancer event generation.
```

Also patch up a log statement to log the service's namespace and name
rather than potentially just logging `kind:"" apiVersion:""`.

It doesn't work as written because `service` is always nil on this line. If it wasn't, then we wouldn't have taken this branch. `deltaService` is what contains the info that we have about the service.

Example of how the event generation fails as currently written:
```
E0426 22:18:41.726835      10 event.go:257] Could not construct reference to: '&api.Service{TypeMeta:unversioned.TypeMeta{Kind:"", APIVersion:""}, ObjectMeta:api.ObjectMeta{Name:"", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:unversioned.Time{Time:time.Time{sec:0, nsec:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*unversioned.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil)}, Spec:api.ServiceSpec{Type:"", Ports:[]api.ServicePort(nil), Selector:map[string]string(nil), ClusterIP:"", ExternalIPs:[]string(nil), LoadBalancerIP:"", SessionAffinity:""}, Status:api.ServiceStatus{LoadBalancer:api.LoadBalancerStatus{Ingress:[]api.LoadBalancerIngress(nil)}}}' due to: 'selfLink was empty, can't make reference'. Will not report event: 'Normal' 'DeletingLoadBalancer' 'Deleting load balancer'
```
2016-04-27 01:36:20 -07:00
k8s-merge-robot
fa3c49b86c Merge pull request #24337 from pditommaso/patch-1
Automatic merge from submit-queue

Allow KUBE_ROOT to be defined externally
2016-04-27 01:02:05 -07:00
k8s-merge-robot
3fa84134cd Merge pull request #24124 from vmware/photon-controller
Automatic merge from submit-queue

Initial kube-up support for VMware's Photon Controller

This is for: https://github.com/kubernetes/kubernetes/issues/24121

Photon Controller is an open-source cloud management platform. More
information is available at:
http://vmware.github.io/photon-controller/

This commit provides initial support for Photon Controller. The
following features are tested and working:
- kube-up and kube-down
- Basic pod and service management
- Networking within the Kubernetes cluster
- UI and DNS addons

It has been tested with a Kubernetes cluster of up to 10
nodes. Further work on scaling is planned for the near future.

Internally we have implemented continuous integration testing and will
run it multiple times per day against the Kubernetes master branch
once this is integrated so we can quickly react to problems.

A few things have not yet been implemented, but are planned:
- Support for kube-push
- Support for test-build-release, test-setup, test-teardown

Assuming this is accepted for inclusion, we will write documentation
for the kubernetes.io site.

We have included a script to help users configure Photon Controller
for use with Kubernetes. While not required, it will help some
users get started more quickly. It will be documented.

We are aware of the kube-deploy efforts and will track them and
support them as appropriate.
2016-04-27 01:02:03 -07:00
k8s-merge-robot
b7e4672db9 Merge pull request #23847 from XiaoningDing/federation-apiobject-cluster
Automatic merge from submit-queue

Federation apiobject cluster

add federation api group
add cluster api object and registry
~~generate cluster client~~ moved to #24117
update scripts to generate files for /federation

#19313 #23653 #23554
@nikhiljindal  @quinton-hoole, @deepak-vij, @XiaoningDing, @alfred-huangjian @mfanjie @huangyuqi @colhom
2016-04-27 00:26:22 -07:00
Paul Morie
c386850d23 Reduce LOC in third party controller test 2016-04-27 02:50:46 -04:00
Erick Fejta
08c5af6e45 Use tagged redis image for kubectl test, move json test file out of deprecated examples 2016-04-26 21:43:19 -07:00
k8s-merge-robot
af71fa72e7 Merge pull request #23574 from deads2k/add-extra
Automatic merge from submit-queue

add user.Info.GetExtra

I found myself wanting this field (or something like it), when trying to plumb the information about which scopes a particular token has.

Only the token authenticators have that information and I don't want tokens to leak past the authenticator.  I thought about extending the `authenticator.Token` interface to include scopes (`[]string`), but that felt a little specific for what I wanted to do.  I came up with this as an alternative.

It allows the token authenticator to fill in the information and authorizers already get handed the `user.Info`.  It means that implementors can choose to tie the layers together if they wish, using whatever data they think is best.  

@kubernetes/kube-iam
2016-04-26 21:14:53 -07:00
Erick Fejta
e01825bfee Add blocking suites to daily summary
Add title and optional script to html header
2016-04-26 20:15:25 -07:00
k8s-merge-robot
c195610847 Merge pull request #24832 from ixdy/jenkins-daily-maintenance-job
Automatic merge from submit-queue

Only remove day+ old containers in Jenkins daily cleanup

Docker has no way to filter by age, so we have to do it with grep instead.

Fixes #24661, I hope.

cc @fejta @spxtr
2016-04-26 18:53:43 -07:00
k8s-merge-robot
573ece20a2 Merge pull request #24830 from yujuhong/dummy_env
Automatic merge from submit-queue

e2e: add a dummy environment variable in the service tests

This works around the docker bug:
https://github.com/docker/docker/issues/14203
2016-04-26 18:53:41 -07:00
Jeff Grafton
5487a3f8f6 Fix detect-node-names to not error out if there are no nodes 2016-04-26 17:48:25 -07:00
Joe Finney
7059717c78 Use zone from the test context for static IPs. 2016-04-26 17:39:48 -07:00
Alex Robinson
ed15931935 Fix DeletingLoadBalancer event generation.
Also patch up a log statement to log the service's namespace and name
rather than potentially just logging `kind:"" apiVersion:""`.
2016-04-27 00:27:55 +00:00
David McMahon
f095d9fae5 Rename PULL_REQUEST_TEMPLATE to PULL_REQUEST_TEMPLATE.md.
Rename header.  Remove some extra text that wasn't meant for the original PR.
2016-04-26 17:21:25 -07:00
Jeff Grafton
6367cd135f Only remove day+ old containers in Jenkins daily cleanup 2016-04-26 17:08:23 -07:00
Yu-Ju Hong
bdadaefe3b e2e: add a dummy environment variable in the service tests
This works around the docker bug:
https://github.com/docker/docker/issues/14203
2016-04-26 16:25:26 -07:00
k8s-merge-robot
3b09c64161 Merge pull request #24818 from deads2k/deflake-quota-int
Automatic merge from submit-queue

deflake quota master init order

fixes https://github.com/kubernetes/kubernetes/issues/24816

blocks serving until the Handler is available

@smarterclayton
2016-04-26 15:55:53 -07:00
Jay Vyas
95e315e427 E2E Network performance run which uses iperf.
generic pod-per-node functionality for testing - 2 node test only
- update framework to decompose pod vs svc creation for composition.
- remove hard coded 2 and pointer to --scale
2016-04-26 18:42:19 -04:00
k8s-merge-robot
64fbb4a81e Merge pull request #24740 from caesarxuchao/change-update-all-order
Automatic merge from submit-queue

update codegen before update codecgen

Currently if I remove an API field, update-codecgen will complain generated deepcopy functions referring to invalid fields. Running update-codegen before update-codecgen solves the problem.
2016-04-26 15:13:40 -07:00
Minhan Xia
0d36dc7000 added test for revertPorts 2016-04-26 14:23:06 -07:00
Minhan Xia
56ad718008 only close new ports upon iptables-restore failure 2016-04-26 14:23:06 -07:00
Q-Lee
be87587158 Merge pull request #24822 from spxtr/revert-shallow-ye
Revert "Shallow clone for kubernetes-build and kubernetes-test-go jobs."
2016-04-26 14:22:16 -07:00
Joe Finney
6b012493c3 Revert "Shallow clone for kubernetes-build and kubernetes-test-go jobs."
This reverts commit 5121ce3dc3.
2016-04-26 14:15:42 -07:00
Minhan Xia
c8470c49ac add mutex for kubenet 2016-04-26 13:58:10 -07:00
k8s-merge-robot
bc382a8b0a Merge pull request #24811 from duglin/FixIndent
Automatic merge from submit-queue

Fix indentation of Note

W/o this fix the **Note** shows up a the 2nd option instead of as part of the 1st option.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-04-26 13:45:12 -07:00
k8s-merge-robot
373a3ece84 Merge pull request #24475 from k82/k8s-24411
Automatic merge from submit-queue

Clarify `kubectl get service` output.

Pull request for #24411 .
2016-04-26 13:45:09 -07:00
deads2k
e8ce9852e1 deflake quota master init order 2016-04-26 16:37:56 -04:00
k8s-merge-robot
95f2ca2ff6 Merge pull request #24766 from spxtr/shallow-ye
Automatic merge from submit-queue

Shallow clone for kubernetes-build and kubernetes-test-go jobs.

This should save us about 160M per clone.
2016-04-26 13:00:23 -07:00
k8s-merge-robot
773bb777f4 Merge pull request #24749 from andyzheng0831/enhance
Automatic merge from submit-queue

Trusty: Add retry in curl commands

This fix is for improving robustness in fetch critical metadata files when the metadata server is temporarily unreachable.

@roberthbailey @zmerlynn @dchen1107 please review it.

cc/ @fabioy @wonderfly FYI.
2016-04-26 13:00:21 -07:00
gmarek
24bf07cc20 Enable resource gatherer in Kubemark tests 2016-04-26 21:53:05 +02:00
deads2k
b4ebfd47c5 add user.Info.GetExtra 2016-04-26 15:08:34 -04:00
Doug Davis
231c4c8d9d Fix indentation of Note
Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-04-26 11:22:20 -07:00
k8s-merge-robot
c7a1e5da68 Merge pull request #24061 from timothysc/kvstore
Automatic merge from submit-queue

Renaming generic registry store from etcd->kvstore

This is part of issue #17546, in preparation for multiple backend storage facilities, renaming the registry structs to reflect.  

xref: #1957
2016-04-26 11:00:19 -07:00
k8s-merge-robot
96586e7c60 Merge pull request #23958 from petervo/byte-args
Automatic merge from submit-queue

kubectl: Allow []byte config fields to be set by the cli

Allows []byte config fields such as 'certificate-authority-data' to be set using `kubectl config set` commands.
2016-04-26 10:23:07 -07:00
k8s-merge-robot
55cb7cceb3 Merge pull request #23632 from stefwalter/parse-repository-tag-removed
Automatic merge from submit-queue

Fix use of docker removed ParseRepositoryTag() function

Docker has removed the ParseRepositoryTag() function in
leading to failures using the kubernetes Go client API.

Failure:

```
../k8s.io/kubernetes/pkg/util/parsers/parsers.go:30: undefined: parsers.ParseRepositoryTag
```
2016-04-26 09:49:25 -07:00
k8s-merge-robot
9b08bc62d1 Merge pull request #24623 from ixdy/kubemark-cluster-logs
Automatic merge from submit-queue

Use cluster/log-dump.sh to collect base cluster logs in kubemark

Fixes #24415.

cc @fejta @spxtr @wojtek-t
2016-04-26 09:13:42 -07:00
k8s-merge-robot
f79c7d12c6 Merge pull request #24382 from smarterclayton/fix_rlqt
Automatic merge from submit-queue

RateLimitedQueue TestTryOrdering could fail under load

Remove the possibility of contention in the test by providing a
synthetic Now() function.

Fixes #24125
2016-04-26 08:40:58 -07:00
k8s-merge-robot
d609e6cc98 Merge pull request #24676 from jeffvance/hack-pv
Automatic merge from submit-queue

added claim_binder sync period

simple addition to local-up-cluster to support pvclaimbinder-sync-period.
2016-04-26 08:07:15 -07:00
k8s-merge-robot
b8131feaf4 Merge pull request #24131 from fejta/cron
Automatic merge from submit-queue

Script to cache metadata requests on the jenkins master

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

Create an http server which caches most requests to the metadata server. Use special logic to cache access tokens such that the expires_on json field is correct. Add a script to simplify enabling/disabling the cache by editing `/etc/hosts`
2016-04-26 08:07:13 -07:00
Timothy St. Clair
24b4286960 In preparation for new storage backends renaming generic registry store 2016-04-26 08:32:13 -05:00