Commit Graph

3334 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
64e914b8da Merge pull request #32365 from lojies/addporttokubectl
Automatic merge from submit-queue

add targetport to framework.Failf()

add target port value to framework.Failf()
2016-09-12 00:08:19 -07:00
Kubernetes Submit Queue
4b7c44b7c8 Merge pull request #32135 from rootfs/fix-29225
Automatic merge from submit-queue

fix #29225: wait slow during image pull

fix #29225
@kubernetes/sig-testing @krousey
2016-09-12 00:08:14 -07:00
Kubernetes Submit Queue
acb63f07e0 Merge pull request #32145 from jfrazelle/31855-fix-flake
Automatic merge from submit-queue

test/e2e: up the timeout on AllNodesReady

<!--  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**: help with flake issue #31855 

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**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
NONE
```

This is not the most glamorous fix, but...
2016-09-11 23:28:03 -07:00
Kubernetes Submit Queue
2f45b4f8c2 Merge pull request #32254 from kubernetes/revert-32233-scheduledjob-e2e
Automatic merge from submit-queue

Revert "tag scheduledjob e2e as [Feature:ScheduledJob]"

Reverts kubernetes/kubernetes#32233

The way the e2e jobs are configured, `[Feature:...]` tests can't easily be run in jenkins-pr or any of  submit-queue blocking jobs.
2016-09-11 22:11:22 -07:00
Kubernetes Submit Queue
ce1c113442 Merge pull request #32046 from guangxuli/close_readBytesFromFile
Automatic merge from submit-queue

close the open file

the open file should be close.
2016-09-11 10:21:13 -07:00
Kubernetes Submit Queue
3f5132aa79 Merge pull request #32170 from bprashanth/ingress_leak
Automatic merge from submit-queue

Replace gcloud shelling out with cloudprovider calls.

gcloud flakes a lot leading to resource leak. Also fixes https://github.com/kubernetes/kubernetes/issues/16636 by verifying instance-groups, ssl-certs and firewall-rules and cleaned up.
2016-09-11 07:39:38 -07:00
Kubernetes Submit Queue
f2951a54f9 Merge pull request #30674 from ivan4th/add-e2e-tests-for-wrapped-volume-race
Automatic merge from submit-queue

Add e2e tests that check for wrapped volume race

This PR adds two new e2e tests that reproduce the race condition fixed in #29641 (see e.g. #29297)

In order to observe the race, you need to revert the PR that fixes it, via e.g.
```
git revert -n df1e925143
```
or
```
curl -sL https://github.com/kubernetes/kubernetes/pull/29641.patch | patch -p1 -R
```

The tests are `[Slow]` because they need to run several passes that involve creating pods with many volumes. They also are `[Serial]` because the load on the cluster may affect reproducibility of the race. They take about ~450s each when they fail on standard GCE cluster created by `go run hack/e2e.go -v --up`. `git_repo` test takes about 66s to run when it succeeds (fix PR not reverted) and `configmap` test takes about 546s in this case because configmap mounting is slower and still requires 3 passes x 5 pods x 50 configmap volumes to fail constantly with fix PR reverted. Probably these times can be reduced but frankly I've already spent quite a bit of time on tuning the numbers to find a balance between reproducibility and speed.

Managed to reproduce the problem in more or less reliable way for `configMap` and `gitRepo` volumes. Tried to reproduce it for `secret` volumes too but without success so far because they use tmpfs-based `emptyDir` variety. For `downwardAPI` volumes I expect the same problems with race reproducibility as with `secret` volumes, although I think some e2e races were caused by the bug, e.g. #29633.

The tests operate by creating several pods (via an RC) with many volumes and waiting for them to become Running. It sets node affinity for pods so that they all get created on a single node (the first one in the node list). The race condition leads to volume mount failures with slow retries, thus causing the test to time out.

The test failures look like this:

configmap:
```
• Failure [435.547 seconds]
[k8s.io] Wrapped EmptyDir volumes
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/framework/framework.go:709
  should not cause race condition when used for configmaps [Serial] [Slow] [It]
  /go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/wrapped_empty_dir.go:170

  Failed waiting for pod wrapped-volume-race-8c097734-6376-11e6-9ffa-5254003793ad-acbtt to enter running state
  Expected error:
      <*errors.errorString | 0xc8201758d0>: {
          s: "timed out waiting for the condition",
      }
      timed out waiting for the condition
  not to have occurred

  /go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/wrapped_empty_dir.go:395
```
You'll see errors like this in kubelet log on the first node in the cluster:
```
E0816 00:27:23.319431    3510 configmap.go:174] Error creating atomic writer: stat /var/lib/kubelet/pods/e5986355-6347-11e6-a5d7-42010af00002/volumes/kubernetes.io~configmap/racey-configmap-14: no such file or directory
E0816 00:27:23.319478    3510 nestedpendingoperations.go:232] Operation for "\"kubernetes.io/configmap/e5986355-6347-11e6-a5d7-42010af00002-racey-configmap-14\" (\"e5986355-6347-11e6-a5d7-42010af00002\")" failed. No retries permitted until 2016-08-16 00:28:27.319450118 +0000 UTC (durationBeforeRetry 1m4s). Error: MountVolume.SetUp failed for volume "kubernetes.io/configmap/e5986355-6347-11e6-a5d7-42010af00002-racey-configmap-14" (spec.Name: "racey-configmap-14") pod "e5986355-6347-11e6-a5d7-42010af00002" (UID: "e5986355-6347-11e6-a5d7-42010af00002") with: stat /var/lib/kubelet/pods/e5986355-6347-11e6-a5d7-42010af00002/volumes/kubernetes.io~configmap/racey-configmap-14: no such file or directory
```

git_repo:
```
• Failure [455.035 seconds]                                                                                                                                                                                                                           [0/1882]
[k8s.io] Wrapped EmptyDir volumes
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/framework/framework.go:709
  should not cause race condition when used for git_repo [Serial] [Slow] [It]
  /go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/wrapped_empty_dir.go:179

  Failed waiting for pod wrapped-volume-race-71b12b3d-6375-11e6-9ffa-5254003793ad-b0slz to enter running state
  Expected error:
      <*errors.errorString | 0xc8201758d0>: {
          s: "timed out waiting for the condition",
      }
      timed out waiting for the condition
  not to have occurred

  /go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/wrapped_empty_dir.go:395
```
Errors in kubelet log:
```
E0815 23:41:08.670203    3510 nestedpendingoperations.go:232] Operation for "\"kubernetes.io/git-repo/97636bd8-6341-11e6-a5d7-42010af00002-racey-git-repo-8\" (\"97636bd8-6341-11e6-a5d7-42010af00002\")" failed. No retries permitted until 2016-08-15 23:42:12.670181604 +0000 UTC (durationBeforeRetry 1m4s). Error: MountVolume.SetUp failed for volume "kubernetes.io/git-repo/97636bd8-6341-11e6-a5d7-42010af00002-racey-git-repo-8" (spec.Name: "racey-git-repo-8") pod "97636bd8-6341-11e6-a5d7-42010af00002" (UID: "97636bd8-6341-11e6-a5d7-42010af00002") with: failed to exec 'git clone http://10.0.68.35:2345 test': : chdir /var/lib/kubelet/pods/97636bd8-6341-11e6-a5d7-42010af00002/volumes/kubernetes.io~git-repo/racey-git-repo-8: no such file or directory
```

Generally, the races cause unexpected "no such directory" errors in kubelet logs with subsequent volume mount failures.

I've added race tests to e2e test `empty_dir_wrapper.go` ("EmptyDir wrapper volumes"). This test was added in #18445, the same PR that introduced the race bug. The original purpose of the test was making sure that no conflicts occur between different wrapped emptyDir volumes, so I've replaced "should becomes" with "should not conflict" in the first `It(...)`.
2016-09-11 03:39:21 -07:00
Kubernetes Submit Queue
dd9d5aa27d Merge pull request #32378 from kevin-wangzefeng/update-taints-e2e
Automatic merge from submit-queue

update taints e2e, restrict taints operation with key, effect

Since taints are now unique by key, effect on a node, this PR is to restrict existing taints adding/removing/updating operations in taints e2e.
Also fixes https://github.com/kubernetes/kubernetes/issues/31066#issuecomment-242870101
Related prior Issue/PR #29362 and #30590
2016-09-10 13:20:51 -07:00
Kubernetes Submit Queue
09efe0457d Merge pull request #32163 from mtaufen/more-eviction-logging
Automatic merge from submit-queue

Log pressure condition, memory usage, events in memory eviction test

I want to log this to help us debug some of the latest memory eviction test flakes, where we are seeing burstable "fail" before the besteffort. I saw (in the logs) attempts by the eviction manager to evict besteffort a while before burstable phase changed to "Failed", but the besteffort's phase appeared to remain "Running". I want to see the pressure condition interleaved with the pod phases to get a sense of the eviction manager's knowledge vs. pod phase.
2016-09-09 18:37:55 -07:00
Michael Taufen
b9f0bd959e Log the following items in memory eviction test:
- memory working set
- pressure condition
- events for the default and test namespaces, after the test completes
2016-09-09 13:42:26 -07:00
Kubernetes Submit Queue
e317af87cc Merge pull request #31819 from mtaufen/plumb-feature-gates
Automatic merge from submit-queue

Plumb --feature-gates from TEST_ARGS to components in node e2e tests

This means you can set `TEST_ARGS` on the command line, in a `.properties` config for a Jenkins job, etc, to toggle gated features. For example:

`TEST_ARGS='--feature-gates=DynamicKubeletConfig=true'`

/cc @vishh @jlowdermilk
2016-09-09 12:31:00 -07:00
Kubernetes Submit Queue
cd30526b44 Merge pull request #32379 from wojtek-t/allow_for_notready_nodes_in_scalability
Automatic merge from submit-queue

Allow for not-ready nodes in WaitForAllNodesSchedulable

Ref #31215
2016-09-09 06:47:36 -07:00
Wojciech Tyczynski
dc3dcc27d2 Allow for not-ready nodes in WaitForAllNodesSchedulable 2016-09-09 14:56:43 +02:00
deads2k
786879aa9b skip dynamic provisision test on gke until gke enables it 2016-09-09 07:45:40 -04:00
Kevin
fff139ce32 update taints e2e, respect that taint is unique by key, effect 2016-09-09 19:15:11 +08:00
Kubernetes Submit Queue
a0fed361e0 Merge pull request #32200 from deads2k/storage-03-enable-test
Automatic merge from submit-queue

re-enable provisioning test

Reverts https://github.com/kubernetes/kubernetes/pull/32199 for when the gke control plane is updated.  This should be merged AFTER gke is ready.

@kubernetes/sig-storage @wojtek-t
2016-09-09 02:36:41 -07:00
lojies
fe6359b98d add targetport to Failf 2016-09-09 17:35:21 +08:00
Wojciech Tyczynski
c517811fc8 Fix checking for allowed not-ready nodes in test framework 2016-09-09 09:38:47 +02:00
Kubernetes Submit Queue
5512104d36 Merge pull request #31559 from bprashanth/kubeproxy_test
Automatic merge from submit-queue

Networking test rewrite

Decomposes the old kubeproxy tests into (tcp, udp) tests for each of the following: 
* intra-pod
* node-pod
* pod-Service
* node-Service
* endpoint-Service
* delete endpoints, confirm unreachability
* delete nodeport, confirm unreachability
* kube-proxy /proxymode, /healthz

Also gets rid of the old network conformance test that used apiserver proxy to check reported peer count of a webserver in a container (the netexec pod used in this test does the same thing without apiserver proxy). 

Fixes https://github.com/kubernetes/kubernetes/issues/26490, https://github.com/kubernetes/kubernetes/issues/14204
2016-09-08 19:37:32 -07:00
derekwaynecarr
6218693e8a Mark ThirdParty e2e tests flaky 2016-09-08 13:06:10 -04:00
Wojciech Tyczynski
e750454c31 Fix allow for non-ready nodes in e2e framework 2016-09-08 14:22:08 +02:00
Jeff Lowdermilk
920f6a60ea Revert "tag scheduledjob e2e as [Feature:ScheduledJob]" 2016-09-07 20:04:16 -07:00
Matt Liggett
108a15db38 Add eviction e2e tests.
Also refactor the test a bit.
2016-09-07 17:38:38 -07:00
Kubernetes Submit Queue
ddcbdcb8c8 Merge pull request #31535 from aveshagarwal/master-e2e-downward-api-issues
Automatic merge from submit-queue

Fix downward api tests to output node allocatable not node capacity

@kubernetes/rh-cluster-infra @derekwaynecarr
2016-09-07 16:25:19 -07:00
Jeff Lowdermilk
111ac4579e tag scheduledjob e2e as [Feature:ScheduledJob]
[Feature:...] tag is recognized by most e2e suites and will prevent
test from being run in suites where it should not. This pattern is
used by other alpha feature tests.
2016-09-07 14:46:37 -07:00
Kubernetes Submit Queue
c224efa86b Merge pull request #32017 from mikedanese/readd-test
Automatic merge from submit-queue

renable hazelcast example test
2016-09-07 13:31:11 -07:00
Kubernetes Submit Queue
d9ea088765 Merge pull request #32196 from piosz/rescheduler-e2e-gke
Automatic merge from submit-queue

Enabled Rescheduler e2e for gke
2016-09-07 12:49:51 -07:00
bprashanth
6b5d7e6d93 Networking test rewrite 2016-09-07 11:36:48 -07:00
Kubernetes Submit Queue
4d2a4d883b Merge pull request #32188 from mfanjie/federated-ingress
Automatic merge from submit-queue

federated ingress e2e - retry reads properly

@quinton-hoole I made this rookie mistake when I wrote the code and missed your comment in last PR.

- Corrected the reference of constant test/e2e/federated-ingress.go
- Move federation ingress query call to wait. PollImmediate()
- set private method to non-capital
2016-09-07 10:54:02 -07:00
Mike Danese
e67dae5130 Revert "Merge pull request #31930 from Kashomon/hazelcast"
This reverts commit 26a0da8fee, reversing
changes made to c9fda51d77.
2016-09-07 10:22:30 -07:00
Kubernetes Submit Queue
a82c716e9d Merge pull request #32143 from jfrazelle/fix-upgrade
Automatic merge from submit-queue

test/e2e: fix upgrade test to not run describe cross version

<!--  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**:
Better fix for #31642 replaces #31987

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**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
NONE
```
2016-09-07 08:49:46 -07:00
deads2k
558c7c8f80 re-enable dynamic provisioning test on gke 2016-09-07 10:43:19 -04:00
deads2k
ec284849e1 skip dynamic provisision test on gke until gke enables it 2016-09-07 09:09:27 -04:00
Piotr Szczesniak
6653610109 Enabled Rescheduler e2e for gke 2016-09-07 14:17:16 +02:00
mfanjie
d3b00dc0b1 fix the left comments for federated ingress e2e 2016-09-07 16:41:55 +08:00
Kubernetes Submit Queue
dc529a03b1 Merge pull request #32118 from gmarek/empty
Automatic merge from submit-queue

Add an empty test that does nothing

Useful for checking if cluster were set up correctly.
2016-09-07 01:19:02 -07:00
Kubernetes Submit Queue
93f7cbdc06 Merge pull request #32105 from madhusudancs/fed-ing-e2e-ns-fix
Automatic merge from submit-queue

Use federated namespace instead of the bootstrap cluster's namespace in Ingress e2e tests.

This should fix #31825.

cc @kubernetes/sig-cluster-federation @quinton-hoole
2016-09-07 00:40:10 -07:00
Kubernetes Submit Queue
54db8fa2e3 Merge pull request #31886 from deads2k/move-storage-class
Automatic merge from submit-queue

Move StorageClass to a storage group

We discussed the pros and cons in sig-api-machinery yesterday.  Choosing a particular group name means that clients (including our internal code) require less work and re-swizzling to handle promotions between versions.  Even if you choose a group you end up not liking, the amount of work remains the same as the incubator work case: you move the affected kind, resource, and storage.

This moves the `StorageClass` type to the `storage.k8s.io` group (named for consistency with authentication, authorization, rbac, and imagepolicy).  There are two commits, one for manaul changes and one for generated code.
2016-09-06 23:22:02 -07:00
Kubernetes Submit Queue
58af607f56 Merge pull request #31833 from lavalamp/fixmsg
Automatic merge from submit-queue

emit more info on failure

help debug #31810
2016-09-06 21:26:08 -07:00
bprashanth
9fffa09844 Replace gcloud shelling out with cloudprovider calls. 2016-09-06 17:58:59 -07:00
kshafiee
ff2326a8aa e2e tests for Federated Secrets 2016-09-06 20:52:40 +00:00
Jess Frazelle
6f045ff415 test/e2e: up the timeout on AllNodesReady
Signed-off-by: Jess Frazelle <me@jessfraz.com>
2016-09-06 11:50:33 -07:00
Jess Frazelle
0a384e32ed test/e2e: fix upgrade test to not run describe cross version
Signed-off-by: Jess Frazelle <me@jessfraz.com>
2016-09-06 11:40:15 -07:00
Janet Kuo
1ece902d9f Fix the race check after an overlapping deployment is deleted 2016-09-06 10:30:05 -07:00
Huamin Chen
e7abb004b5 fix #29225: wait slow during image pull
Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-09-06 12:33:14 -04:00
deads2k
cd5b6cc491 move StorageClass to its own group 2016-09-06 08:41:17 -04:00
Kubernetes Submit Queue
008fc22d31 Merge pull request #32108 from wojtek-t/allow_for_not_ready_nodes
Automatic merge from submit-queue

Allow for not-ready nodes in e2e test

Ref #31215
2016-09-06 04:41:16 -07:00
gmarek
464ba22151 Add an empty test that does nothing 2016-09-06 13:31:31 +02:00
Wojciech Tyczynski
4b29d006b0 Allow for not-ready nodes in e2e test 2016-09-06 12:14:45 +02:00
Wojciech Tyczynski
8f0006e8f8 Increase timeout for pods GC in tests 2016-09-06 12:02:54 +02:00