Commit Graph

4013 Commits (a6d0dc0529559644a80ca5434d69f63a1ad1ce14)

Author SHA1 Message Date
k8s-merge-robot f0fa9e588f Merge pull request #29813 from jayunit100/kill-repo-root-slb-2
Automatic merge from submit-queue

[minor] couple of quick cleanups for kill reporoot

quick fixes from last one,  cc @spxtr @ixdy follow on to  https://github.com/kubernetes/kubernetes/pull/25584
2016-07-29 21:42:42 -07:00
k8s-merge-robot 09b64180c2 Merge pull request #29536 from Random-Liu/add-exec-util-in-framework
Automatic merge from submit-queue

E2E & Node E2E: Add exec util in framework

For #29081.
Based on #29092 and #29494.

For first commit is a squashed commit of all old commits.
**The last 2 commits are new.**

This PR added exec util in framework, and moved `privileged.go` and `kubelet_etc_hosts` into `common` directory.

@vishh @timstclair 
/cc @kubernetes/sig-node
2016-07-29 20:25:12 -07:00
k8s-merge-robot fe3dda1aeb Merge pull request #29092 from Random-Liu/make-node-e2e-parallel
Automatic merge from submit-queue

Node E2E: Make node e2e parallel

For https://github.com/kubernetes/kubernetes/issues/29081.
Fix https://github.com/kubernetes/kubernetes/issues/26215.
Based on https://github.com/kubernetes/kubernetes/pull/28807, https://github.com/kubernetes/kubernetes/pull/29020, will rebase after they are merged.

**Only the last commit is new.**

We are going to move more tests into the node e2e test. However, currently node e2e test only run sequentially, the test duration will increase quickly when we add more test.

This PR makes the node e2e test run in parallel so as to shorten test duration, so that we can add more test to improve the test coverage.

* If you run the test locally with `make test-e2e-node`, it will use `-p` ginkgo flag, which uses `(cores-1)` parallel test nodes by default.
* If you run the test remotely or in the Jenkin, the parallelism will be controlled by the environment variable `PARALLELISM`. The default value is `8`, which is reasonable for our test node (n1-standard-1).

Before this PR, it took  **833.592s** to run all test on my desktop.
With this PR, it only takes **234.058s** to run.

The pull request node e2e run with this PR takes **232.327s**.
The pull request node e2e run for other PRs takes **673.810s**.

/cc @kubernetes/sig-node
2016-07-29 18:38:29 -07:00
Random-Liu 749e0d0d72 Move privileged and kubelet_etc_hosts into common directory. 2016-07-29 18:29:43 -07:00
Random-Liu 268f458ea4 Add exec util in test framework. 2016-07-29 18:29:43 -07:00
Random-Liu cdb1a039c1 Change LoadConfig to generate restclient config for node e2e test 2016-07-29 18:29:43 -07:00
k8s-merge-robot 44115cd2e4 Merge pull request #29577 from vishh/gci-node-e2e-1
Automatic merge from submit-queue

Adding GCI to node e2e.

Depends on https://github.com/kubernetes/kubernetes/pull/29486
Adding the dev release as of now since stable and beta run docker v1.9.1
which is incompatible with kubelet.
2016-07-29 18:03:14 -07:00
k8s-merge-robot 50e3ee287e Merge pull request #29798 from caesarxuchao/fix-29451
Automatic merge from submit-queue

Fix 29451

Fix #29451. I've also checked other tests in that file to make sure they don't have similar problems.

The issue is P0 and will block the submit queue, so I marked this PR as P0.
2016-07-29 17:25:23 -07:00
jayunit100 4cd6bf42af [minor] couple of quick cleanups for kill reporoot 2016-07-29 20:22:28 -04:00
Random-Liu 9d48c76361 Make the node e2e test run in parallel. 2016-07-29 16:40:59 -07:00
k8s-merge-robot fb09be4561 Merge pull request #29612 from ping035627/ping035627-patch-0726-1
Automatic merge from submit-queue

Combine the const definition

The PR combine the const definition in service.go, and it seems more concise, I think.
2016-07-29 15:54:08 -07:00
Vishnu kannan 21873391e5 adding instance metadata for gci
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-07-29 15:25:46 -07:00
Vishnu Kannan 79d8868c77 Add instance metadata to image config file
Signed-off-by: Vishnu Kannan <vishnuk@google.com>
2016-07-29 15:25:46 -07:00
Vishnu kannan 6c43028a29 adding gci to node e2e
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-07-29 14:26:14 -07:00
Chao Xu 7797ff2ead fix 29451 2016-07-29 13:15:27 -07:00
Jay Vyas 6166083c78 kill repo-root : test/e2e/serviceloadbalancers.go
bindata and yaml, Gobindata automation
bindata utils for generating, go generate
match server version
gitignore for dirty, ca, rbase, KUBE_ROOT, buildfix
(rebased jul-25,29)
2016-07-29 14:35:19 -04:00
k8s-merge-robot 7abc3de621 Merge pull request #29694 from jsafrane/dynprov2-apionly
Automatic merge from submit-queue

Add API for StorageClasses

This is the API objects only required for dynamic provisioning picked apart from the controller logic.

Entire feature is here: https://github.com/kubernetes/kubernetes/pull/29006
2016-07-28 22:00:05 -07:00
k8s-merge-robot eca270bb41 Merge pull request #29423 from kevin-wangzefeng/fix-taints-tolerations-e2e
Automatic merge from submit-queue

Remove redundant pod deletion in scheduler predicates tests and fix taints-tolerations e2e

~~In scheduler predicates test, some tests won't clean pods they created when exit with failure, which may lead to pod leak. This PR is to fix it.~~

Remove redundant pod deletion in scheduler predicates tests, since framework.AfterEach() already did the cleanup work after every test.

Also fix the test "validates that taints-tolerations is respected if not matching", refer to the change on taint-toleration test in #29003, and https://github.com/kubernetes/kubernetes/pull/24134#discussion_r63794924.
2016-07-28 21:26:51 -07:00
childsb f5bd7d471e API Changes for StorageClass 2016-07-28 19:01:01 -04:00
k8s-merge-robot 2817674715 Merge pull request #29557 from deads2k/make-prefx-configurable
Automatic merge from submit-queue

make the resource prefix in etcd configurable for cohabitation

This looks big, its not as bad as it seems.

When you have different resources cohabiting, the resource name used for the etcd directory needs to be configurable.  HPA in two different groups worked fine before.  Now we're looking at something like RC<->RS.  They normally store into two different etcd directories.  This code allows them to be configured to store into the same location.

To maintain consistency across all resources, I allowed the `StorageFactory` to indicate which `ResourcePrefix` should be used inside `RESTOptions` which already contains storage information.

@lavalamp affects cohabitation.
@smarterclayton @mfojtik prereq for our rc<->rs and d<->dc story.
2016-07-28 03:01:28 -07:00
k8s-merge-robot 1ae9b73cd3 Merge pull request #29673 from pmorie/mount-collision
Automatic merge from submit-queue

Fix mount collision timeout issue

Short- or medium-term workaround for #29555.  The root issue being fixed here is that the recent attach/detach work in the kubelet uses a unique volume name as a key that tracks the work that has to be done for each volume in a pod to attach/mount/umount/detach.  However, the non-attachable volume plugins do not report unique names for themselves, which causes collisions when a single secret or configmap is mounted multiple times in a pod.

This is still a WIP -- I need to add a couple E2E tests that ensure that tests break in the future if there is a regression -- but posting for early review.

cc @kubernetes/sig-storage 

Ultimately, I would like to refine this a bit further.  A couple things I would like to change:

1.  `GetUniqueVolumeName` should be a property ONLY of attachable volumes
2.  I would like to see the kubelet apparatus for attach/mount/umount/detach handle non-attachable volumes specifically to avoid things like the `WaitForControllerAttach` call that has to be done for those volume types now
2016-07-27 21:06:47 -07:00
Paul Morie f15684e0c4 Add e2e coverage for mount collisions 2016-07-27 17:54:01 -04:00
Erick Fejta 12d923ed15 Revert "Fix killing child sudo process in e2e_node tests" 2016-07-27 21:53:05 +05:30
deads2k aa3db4d995 make the resource prefix in etcd configurable for cohabitation 2016-07-27 07:51:40 -04:00
k8s-merge-robot 03fe6b962c Merge pull request #29380 from bboreham/kill-setpgid
Automatic merge from submit-queue

Fix killing child sudo process in e2e_node tests

Fixes #29211.

The context is we are trying to kill a process started as `sudo kube-apiserver`, but `sudo` ignores signals from the same process group. Applying `Setpgid` means the `sudo kill` process won't be in the same process group, so will not fall foul of this nifty feature.

I also took the liberty of removing some code setting `Pdeathsig` because it claims to be doing something  in the same area, but actually it doesn't do that at all.  The setting is applied to the forked process, i.e. `sudo`, and it means the `sudo` will get killed if we (`e2e_node.test`) die.  This (a) isn't what the comment says and (b) doesn't help because sending SIGKILL to the sudo process leaves sudo's child alive.

I didn't use the "hack for linux-only" approach because I think `Setpgid` is available on all platforms that `e2e_node` builds on.
2016-07-27 03:18:15 -07:00
k8s-merge-robot 540e992e08 Merge pull request #28850 from MHBauer/faster-test
Automatic merge from submit-queue

Faster test

<!--
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.
-->
In attempting to troubleshoot flakes with this test case I actually wanted to understand how it worked.
There's some poor comments that need work.
I added some additional output which may or may not help in debugging the flakes.
I doubt this fixes the flake.

My major concern is the 'refactor' I did of the test case to batch up runs by sub-test-case. As it stood there was a 200ms pause between each sub, so they should not have interfered with each other. Now they are just started as fast as possible, but only 20 run at a time before moving on to the next 20. I am not sure if I am violating the ethos of the original test case.

Runs on my computer are down from 2m40s -> 40s.
Getting rid of the arbitrary client limiting brings it down to ~12 seconds. 11 to fetch the image and <1 to actually run the tests against the proxies. I can add a zero to the number of loops if you want to hit it harder. It would result in 10x as much text output though.


[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-26 23:38:09 -07:00
Kevin 57d22a156c Remove redundant pod deletion in scheduler predicates tests and fix taints-tolerations e2e 2016-07-27 14:01:13 +08:00
k8s-merge-robot d82e404a00 Merge pull request #28351 from sttts/sttts-kubectl-create-quota
Automatic merge from submit-queue

Add support for kubectl create quota command

Follow-up of https://github.com/kubernetes/kubernetes/pull/19625

```
Create a resourcequota with the specified name, hard limits and optional scopes

Usage:
  kubectl create quota NAME [--hard=key1=value1,key2=value2] [--scopes=Scope1,Scope2] [--dry-run=bool] [flags]

Aliases:
  quota, q


Examples:
  // Create a new resourcequota named my-quota
  $ kubectl create quota my-quota --hard=cpu=1,memory=1G,pods=2,services=3,replicationcontrollers=2,resourcequotas=1,secrets=5,persistentvolumeclaims=10

  // Create a new resourcequota named best-effort
  $ kubectl create quota best-effort --hard=pods=100 --scopes=BestEffort
```
2016-07-26 21:20:04 -07:00
k8s-merge-robot b8e78b3310 Merge pull request #29558 from janetkuo/deployment-rollover-minreadyseconds-e2e
Automatic merge from submit-queue

Use nonexistent image instead of minReadySeconds in deployment rollover e2e test

Fixes #26834 

@kubernetes/deployment
2016-07-26 15:34:14 -07:00
k8s-merge-robot 9014ceb9d8 Merge pull request #29286 from soltysh/wait_pod2
Automatic merge from submit-queue

Rework pod waiting mechanism in e2e tests to accept pod and watch based

This PR re-applies #28212 which was reverted in #29223. The only difference is that the initial PR contained also `PodStartTimeout` shortening (see [here](4b0c0bd924)) which might caused the problems. Let's give it a 2nd try. I've tested all the flakes and they were passing on my machine.

@smarterclayton @apelisse ptal
2016-07-26 15:01:13 -07:00
PingWang 1606ce57ea combine the const definition
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2016-07-26 20:28:12 +08:00
Dr. Stefan Schimanski 199f991f6a Add --scopes to kubectl-create-quota and add tests 2016-07-26 14:12:35 +02:00
Dr. Stefan Schimanski 36afe2a43a Fix nsFlag scope in kubectl-run e2e test 2016-07-26 11:32:08 +02:00
k8s-merge-robot 396254c11a Merge pull request #29486 from vishh/gci-node-e2e
Automatic merge from submit-queue

Make it possible to run node e2e with GCI.
2016-07-25 16:53:27 -07:00
Morgan Bauer b50e986fad
code comments
- what the test is doing
 - how the test is set up
 - subsections of the test setup

additional output

 - print time spent getting ready to run proxy attempts
 - number of test cases
 - multiple attempts of each test case
 - how many total proxying attempts will be made
 - fast path output now has numerical identity of attempt like error output
 - error output has time taken and http status like fast path output

batching runs

 - run groups of test cases vs starting all 34*20=680 proxy attempts at
   the same time.
 - don't wait between starting proxy attempts anymore.

proxy e2e changes

 - disable the client side rate limiter
 - use `By` construct of ginkgo for inline `STEP` logging
 - move the waitGroup add outside of the loop
2016-07-25 14:40:57 -07:00
Vishnu kannan d31608fcc8 Make it possible to run node e2e with GCI via make
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-07-25 12:21:37 -07:00
Janet Kuo b45afc04a2 Use nonexistent image instead of minReadySeconds in deployment rollover e2e test 2016-07-25 11:45:46 -07:00
k8s-merge-robot c186afd46e Merge pull request #29122 from ronnielai/image-gc-1-1
Automatic merge from submit-queue

Syncing imaging pulling backoff logic

- Syncing the backoff logic in the parallel image puller and the sequential image puller to prepare for merging the two pullers into one.
- Moving image error definitions under kubelet/images
2016-07-25 11:43:22 -07:00
k8s-merge-robot ca06157421 Merge pull request #28162 from kargakis/annotation-fixes-for-scaling
Automatic merge from submit-queue

controller: update all rs annotations on a scaled rollout

Closes https://github.com/kubernetes/kubernetes/issues/28145

@kubernetes/deployment
2016-07-25 10:58:18 -07:00
k8s-merge-robot 4fdde68f78 Merge pull request #28916 from luxas/flake_celery
Automatic merge from submit-queue

Add liveness probe to the flower rc in order to fix a flake

Fixes #27857 
@fejta @ixdy @timstclair @mwielgus
2016-07-23 15:19:52 -07:00
Lucas Käldström 5db3f6d25e Add liveness probe to the flower rc in order to fix a flake 2016-07-24 00:08:52 +03:00
k8s-merge-robot 9e5d562805 Merge pull request #29435 from Random-Liu/setup-node-for-docker-validation
Automatic merge from submit-queue

Change SETUP_NODE to True for node e2e docker validation test.

The continuous node e2e docker validation test is failing because:
```
W0722 00:48:52.163940    1265 image_list.go:85] Could not pre-pull image gcr.io/google_containers/netexec:1.4 exit status 1 output:  Cannot connect to the Docker daemon. Is the docker daemon running on this host?
```
This is because jenkins is not added to docker user group.
For other images tested in node e2e, jenkins is added to docker user group when the images are initially created https://github.com/kubernetes/kubernetes/blob/master/test/e2e_node/environment/setup_host.sh#L102.

However, in node e2e docker validation test, we are using GCI image which doesn't do that.
So we should use the `SETUP_NODE` option to add user to docker group before test running b6c87904f6/test/e2e_node/e2e_remote.go (L150-L159).

This is only one line change, could you help me review the PR? @wonderfly 
Thanks a lot! :)
2016-07-22 17:13:09 -07:00
Hongchao Deng 74e6626967 Update etcd deprecated flag
- "-addr" => "--advertise-client-urls"
- "-bind-addr" => "--listen-client-urls"
2016-07-22 11:01:11 -07:00
k8s-merge-robot 60e59c9461 Merge pull request #29184 from wojtek-t/rs_controller_ref
Automatic merge from submit-queue

ReplicaSet controller can set/remove ControllerRef

This is mostly a copy from https://github.com/kubernetes/kubernetes/pull/27600
2016-07-22 04:18:00 -07:00
k8s-merge-robot f37cadd357 Merge pull request #29445 from wojtek-t/fix_kubemark_after_ip_address_machinations
Automatic merge from submit-queue

Fix Kubemark config after IP addresses machinations
2016-07-22 03:44:46 -07:00
Wojciech Tyczynski 28205d6a43 Fix Kubemark config after IP addresses machinations 2016-07-22 11:49:15 +02:00
Random-Liu 7b27358068 Change SetupNode to True for node e2e docker validation test. 2016-07-22 00:07:09 -07:00
k8s-merge-robot cfdb468654 Merge pull request #29114 from matttproud/cleanups/density_e2e
Automatic merge from submit-queue

test/e2e: plug time.Ticker resource leak.

This commit ensures that `logPodStartupStatus` does not leak
running `time.Ticker` instances.  Upon termination of the consuming
routine, we stop the ticker.
2016-07-22 00:05:20 -07:00
Antoine Pelisse ab3e4494d3 Tentatively fix broken kubemark tests
The multi-line bash command is ill-formed.
2016-07-21 20:39:04 -07:00
k8s-merge-robot c8a3c5c02c Merge pull request #29396 from fgrzadkowski/fix_kubemark
Automatic merge from submit-queue

Add static IP address for kubemark master.

This PR fixes kubemark, which was broken after https://github.com/kubernetes/kubernetes/pull/29295.

Because of https://github.com/kubernetes/kubernetes/issues/29392 merge queue is not blocked so it's not super urgent.

@k8s-oncall @wojtek-t  @roberthbailey @lavalamp
2016-07-21 16:35:44 -07:00