Commit Graph

578 Commits (b0dd166fa300e5e2181b344d150b7706abb932aa)

Author SHA1 Message Date
Manjunath A Kumatagi ee4d54c70c Port e2e tests for multi architecture 2017-09-01 05:40:52 +05:30
Andrzej Wasylkowski 0c1ab5597e Renamed ClusterSize and WaitForClusterSize to NumberOfReadyNodes and WaitForReadyNodes, respectively. 2017-08-29 11:53:17 +02:00
Andrzej Wasylkowski 9b0f4c9f7c Added an end-to-end test ensuring that Cluster Autoscaler does not scale up when all pending pods are unschedulable. 2017-08-29 11:52:26 +02:00
Kubernetes Submit Queue 11299e363c Merge pull request #51282 from shyamjvs/new-allowed-not-ready-semantics
Automatic merge from submit-queue

AllowedNotReadyNodes allowed to be not ready for absolutely *any* reason

It's as good as we allow those many nodes to be not part of the cluster at all, ever.

Btw - currently our 5k-node correctness test fails if "kubelet stopped posting node status" or "route not created", etc (ref: https://storage.googleapis.com/kubernetes-jenkins/logs/ci-kubernetes-e2e-gce-scale-correctness/3/build-log.txt)

cc @kubernetes/sig-scalability-misc
2017-08-25 05:00:32 -07:00
Anthony Yeh 05d6c8a6c2
StatefulSet: Deflake e2e `kubectl exec` commands.
We seem to get a lot of flakes due to "connection refused" while running
`kubectl exec`. I can't find any reason this would be caused by the test
flow, so I'm adding retries to see if that helps.
2017-08-24 11:42:05 -07:00
Shyam Jeedigunta b374416807 AllowedNotReadyNodes allowed to be not ready for absolutely *any* reason 2017-08-24 19:39:26 +02:00
gmarek 0504cfbc25 Make metav1.(Micro)?Time functions take pointers 2017-08-17 11:24:28 +02:00
Serguei Bezverkhi f41457c151 Adding support for internal IP for e2e tests
Currently IssueSSHComand in util.go only checks for External IP address
to shh, this PR adds check for internal IP too.
2017-08-12 13:43:45 -04:00
Kubernetes Submit Queue 3e8a25e818 Merge pull request #50008 from atlassian/meta-controller-ref
Automatic merge from submit-queue

Migrate to controller references helpers in meta/v1

**What this PR does / why we need it**:
This is a follow up for #48319 that migrates all method usages to new methods in meta/v1.

**Special notes for your reviewer**:
Looking at each commit individually might be easier.

**Release note**:
```release-note
NONE
```
/sig api-machinery
/kind cleanup
2017-08-10 17:07:30 -07:00
Aleksandra Malinowska 55682f2a55 add grabbing CA metrics in e2e tests 2017-08-10 11:22:45 +02:00
Klaus Ma 18ae1ba813 Handled taints on node in batch. 2017-08-07 19:29:39 +08:00
Mikhail Mazurskiy b28a83a4cf
Migrate to GetControllerOf from meta/v1 package 2017-08-06 22:41:58 +10:00
Matthew Wong 55a417e84f Add basic install and mount flexvolumes e2e tests 2017-08-04 10:39:24 -04:00
Kubernetes Submit Queue ff4330c6eb Merge pull request #49662 from jeffvance/e2e-pod-delete
Automatic merge from submit-queue (batch tested with PRs 49651, 49707, 49662, 47019, 49747)

improve detectability of deleted pods

**What this PR does / why we need it**:
Adds comment to `waitForPodTerminatedInNamespace` to better explain how it's implemented.
~~It improves pod deletion detection in the e2e framework as follows:~~
~~1.  the `waitForPodTerminatedInNamespace` func looks for pod.Status.Phase ==  _PodFailed_ or _PodSucceeded_ since both values imply that all containers have terminated.~~
~~2.  the `waitForPodTerminatedInNamespace` func also ignores the pod's Reason if the passed-in `reason` parm is "". Reason is not really relevant to the pod being deleted or not, but if the caller passes a non-blank `reason` then it will be lower-cased, de-blanked and compared to the pod's Reason (also lower-cased and de-blanked). The idea is to make Reason checking more flexible and to prevent a pod from being considered running when all of its containers have terminated just because of a Reason mis-match.~~

Releated to pr [49597](https://github.com/kubernetes/kubernetes/pull/49597) and issue [49529](https://github.com/kubernetes/kubernetes/issues/49529).

**Release note**:
```release-note
NONE
```
2017-07-31 16:56:55 -07:00
Kubernetes Submit Queue 5f6d16527d Merge pull request #49443 from yguo0905/gke-tests
Automatic merge from submit-queue (batch tested with PRs 45813, 49594, 49443, 49167, 47539)

Add node e2e tests for GKE environment

Ref: https://github.com/kubernetes/kubernetes/issues/46891

This PR adds node e2e tests for validating images used on GKE.

- We pass the `SYSTEM_SPEC_NAME` to the node e2e test process via the flag `--system-spec-name` so that we can skip the environment specific tests using `RunIfSystemSpecNameIs()`.
- Also added `SkipIfContainerRuntimeIs()` as the opposite of `RunIfContainerRuntimeIs()`.

**Release note**:
```
None
```
2017-07-28 07:22:36 -07:00
Kubernetes Submit Queue 5c874bebdf Merge pull request #49597 from jeffvance/e2e-debug
Automatic merge from submit-queue (batch tested with PRs 49619, 49598, 47267, 49597, 49638)

improve log for pod deletion poll loop

**What this PR does / why we need it**:
It improves some logging related to waiting for a pod to reach a passed-in condition. Specifically, related to issue [49529](https://github.com/kubernetes/kubernetes/issues/49529) where better logging may help to debug the root cause.

**Release note**:
```release-note
NONE
```
2017-07-28 05:08:07 -07:00
jeff vance dbb24264aa revert most of the changes, add comments 2017-07-27 19:50:51 -07:00
Kubernetes Submit Queue 83ca86cddc Merge pull request #49332 from shyamjvs/framework-fix
Automatic merge from submit-queue

Change e2e-framework behavior to retry retriable API errors

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

We shouldn't return with failure just because api call failed during polling.
Happens from time to time, for e.g https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/logs/ci-kubernetes-kubemark-5-gce/16896

/cc @wojtek-t
2017-07-27 16:01:00 -07:00
jeff vance 1f186fc662 improve detectability of deleted pods 2017-07-26 15:24:09 -07:00
jeff vance ccde67b17e improve log for pod deletion poll loop 2017-07-25 18:07:45 -07:00
Yang Guo 78f04e2abf Add node e2e tests for GKE environment 2017-07-23 20:59:11 -07:00
Kubernetes Submit Queue c1c7193b4d Merge pull request #46514 from ravisantoshgudimetla/scheduler_taints_refactor
Automatic merge from submit-queue (batch tested with PRs 49420, 49296, 49299, 49371, 46514)

Refactoring taint functions to reduce sprawl

**What this PR does / why we need it**:

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

**Special notes for your reviewer**:
@gmarek @timothysc @k82cn @jayunit100 - I moved some fn's to helpers and some to utils. LMK, if you are ok with this change.

**Release note**:

```release-note
NONE
```
2017-07-21 22:23:24 -07:00
Shyam Jeedigunta 6577ece5bb Change e2e-framework behavior to retry retriable API errors 2017-07-22 03:13:33 +02:00
ymqytw 3dfc8bf7f3 update import 2017-07-20 11:03:49 -07:00
Kubernetes Submit Queue f14472ffdd Merge pull request #49144 from mikedanese/sig-lifecycle-tests
Automatic merge from submit-queue (batch tested with PRs 48377, 48940, 49144, 49062, 49148)

fixit: break sig-cluster-lifecycle tests into subpackage

this is part of fixit week. ref #49161

@kubernetes/sig-cluster-lifecycle-misc
2017-07-19 19:10:14 -07:00
ravisantoshgudimetla 9dbf1a5644 Refactoring taints to reduce sprawl 2017-07-19 18:36:07 -04:00
Mike Danese 3c39173ee4 fixit: break sig-cluster-lifecycle tests into subpackage 2017-07-19 10:14:51 -07:00
Kubernetes Submit Queue 6af05149aa Merge pull request #49058 from shyamjvs/logexporter-support
Automatic merge from submit-queue

Pass logexporter config through e2e framework

Ref https://github.com/kubernetes/kubernetes/issues/48513

/cc @wojtek-t @fejta
2017-07-19 09:57:47 -07:00
Shyam Jeedigunta 5cdedd22cf Pass logexporter config through e2e framework 2017-07-18 23:28:06 +02:00
Harry Zhang 0e8517875e Update factory.go informers to update equivalence cache
Fix tombstone

Add e2e to verify equivalence cache

Addressing nits in factory,go and e2e

Update build files
2017-07-18 23:55:01 +08:00
Jacob Simpson 8bcbbd4d08 Migrate api.Registry to testapi.Groups in tests. 2017-07-17 15:05:38 -07:00
Jacob Simpson 29c1b81d4c Scripted migration from clientset_generated to client-go. 2017-07-17 15:05:37 -07:00
Shyam Jeedigunta 5f8cb3d9ff Enable logexporter mechanism to dump logs from k8s nodes to GCS directly 2017-07-12 14:39:49 +02:00
Shyam Jeedigunta b5b4ba8fec Fix secret/configmap/projected update tests to work for large clusters 2017-07-04 14:14:15 +02:00
Kubernetes Submit Queue a7f16b553b Merge pull request #48003 from MrHohn/gce-xlb-cleanup
Automatic merge from submit-queue (batch tested with PRs 48139, 48042, 47645, 48054, 48003)

Pipe clusterID into gce_loadbalancer_external.go

**What this PR does / why we need it**: Small cleanup for GCE ELB codes.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-06-27 14:08:21 -07:00
Haoran Wang 76251ea782 Move the workload e2e tests to it's own package 2017-06-26 09:56:20 +08:00
Zihong Zheng be6bb318aa Update e2e tests to pipe in clusterID for gce resource cleanup 2017-06-23 15:56:12 -07:00
Kubernetes Submit Queue 4d748f5e03 Merge pull request #47475 from crimsonfaith91/e2e
Automatic merge from submit-queue (batch tested with PRs 47915, 47856, 44086, 47575, 47475)

deprecate created-by annotation for e2e test framework

**What this PR does / why we need it**: This PR deprecates created-by annotation for e2e test framework. This is needed as we now have ControllerRef.

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

**Special notes for your reviewer**: This is the third PR for deprecating created-by annotation. Other PRs can be found here: #47469, #47471 

**Release note**:

```release-note
```
2017-06-23 04:06:28 -07:00
Chao Xu 60604f8818 run hack/update-all 2017-06-22 11:31:03 -07:00
Chao Xu cde4772928 run ./root-rewrite-all-other-apis.sh, then run make all, pkg/... compiles 2017-06-22 11:30:52 -07:00
Chao Xu f4989a45a5 run root-rewrite-v1-..., compile 2017-06-22 10:25:57 -07:00
Janet Kuo ca877c5d33 Poll instead of watch for ready ReplicaSets in e2e test 2017-06-19 16:24:35 -07:00
Jun Xiang Tee 6b9a2f4a89 deprecate created-by annotation for e2e test framework 2017-06-15 10:12:42 -07:00
Kubernetes Submit Queue 16640d892f Merge pull request #46135 from krousey/upgrades
Automatic merge from submit-queue (batch tested with PRs 47470, 47260, 47411, 46852, 46135)

Write reports for each upgrade test

Due to the way Ginkgo runs individual test cases and the level of coordination required for the upgrade tests, they were all run under a single Ginkgo test case. This PR generates and auxiliary report that break out the results of each upgrade test. This is accomplished by:

  1) Wrapping `ginkgo.Fail` and `ginkgo.Skip` to get the actual failure or skip messages.
  2) Recovering that info in the upgrade test to generate an auxiliary report.

I suggest reviewing commit by commit. 

Sample report: https://storage.googleapis.com/krouseytestreports/logs/results/1/artifacts/junit_upgrades.xml

Fixes: #47371
2017-06-14 12:52:27 -07:00
Janet Kuo 29620479d5 Add e2e test for rollback a DaemonSet should not cause pod restart 2017-06-13 16:55:14 -07:00
Kris 2ab0320745 Switch all e2es to the ginkgo wrapper 2017-06-12 14:40:11 -07:00
Kubernetes Submit Queue ac5edc3583 Merge pull request #36376 from kargakis/add-failure-trap
Automatic merge from submit-queue

test: set failure traps for all deployment e2e tests

@kubernetes/sig-apps-pr-reviews
2017-06-09 11:18:45 -07:00
Kubernetes Submit Queue 248c5eb9c8 Merge pull request #46835 from wasylkowski/eventually-consistently
Automatic merge from submit-queue (batch tested with PRs 46835, 46856)

Made WaitForReplicas and EnsureDesiredReplicas use PollImmediate and improved logging.

**What this PR does / why we need it**: Most importantly, this results in better logging: timeout is logged at the level of the caller, not the helper function, helping debugging.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-06-09 08:25:41 -07:00
Derek Carr 152def1cc3 Fix e2e ns deletion message 2017-06-08 16:49:57 -04:00
shashidharatd 605b106d2d Made CleanupGCEResources explicitly take zone parameter 2017-06-08 00:02:22 +05:30
Andrzej Wasylkowski c12f4978c2 Made WaitForReplicas and EnsureDesiredReplicas use PollImmediate and improved logging. 2017-06-06 19:52:34 +02:00
Nick Sardo 7248c61ea5 Update test utilities & build file 2017-06-04 10:25:05 -07:00
Andrzej Wasylkowski 30b3472f89 Added new helper methods FailfWithOffset and ExpectNoErrorWithOffset. 2017-06-02 12:01:52 +02:00
Kubernetes Submit Queue daee6d4826 Merge pull request #45524 from MrHohn/l4-lb-healthcheck
Automatic merge from submit-queue (batch tested with PRs 46252, 45524, 46236, 46277, 46522)

Make GCE load-balancers create health checks for nodes

From #14661. Proposal on kubernetes/community#552. Fixes #46313.

Bullet points:
- Create nodes health check and firewall (for health checking) for non-OnlyLocal service.
- Create local traffic health check and firewall (for health checking) for OnlyLocal service.
- Version skew: 
   - Don't create nodes health check if any nodes has version < 1.7.0.
   - Don't backfill nodes health check on existing LBs unless users explicitly trigger it.

**Release note**:

```release-note
GCE Cloud Provider: New created LoadBalancer type Service now have health checks for nodes by default.
An existing LoadBalancer will have health check attached to it when:
- Change Service.Spec.Type from LoadBalancer to others and flip it back.
- Any effective change on Service.Spec.ExternalTrafficPolicy.
```
2017-05-26 19:47:57 -07:00
Zihong Zheng a61cc7f477 Update firewall e2e test for LB healthcheck firewall 2017-05-26 13:18:50 -07:00
guoyunxian 0bf96a3ca4 Remove the same case judement
This patch remove the same case judement
2017-05-26 17:28:53 +08:00
Michail Kargakis e18f6cb591
test: set failure traps for all deployment e2e tests 2017-05-25 19:01:50 +02:00
Michail Kargakis 4a2c5eae92
Implement hash collision avoidance mechanism
Signed-off-by: Michail Kargakis <mkargaki@redhat.com>
2017-05-25 11:17:45 +02:00
Zihong Zheng 03d08623e8 Fix CheckPodsCondition to print out the correct podName 2017-05-24 10:20:57 -07:00
Kubernetes Submit Queue 7df0178076 Merge pull request #42975 from smarterclayton/time_namespace
Automatic merge from submit-queue (batch tested with PRs 40234, 45885, 42975)

Log how much time it takes e2e tests to clean up the namespace
2017-05-17 20:27:52 -07:00
Clayton Coleman fcab3a442d
Log how much time it takes e2e tests to clean up the namespace
Will get a better handle on deletion test wasted time
2017-05-17 17:45:04 -04:00
Janet Kuo 3f2d8ae682 Extract common code in deployment e2e and integration test 2017-05-17 14:41:59 -07:00
Dan Winship 35bb7825fe Remove one slightly-broken wait-for-endpoints test util and fix another 2017-05-12 12:31:42 -04:00
Kubernetes Submit Queue 5c23dc7897 Merge pull request #45423 from jeffvance/e2e-nodeExec
Automatic merge from submit-queue

move  from daemon_restart.go to framework/util.go

**What this PR does / why we need it**:
Moves the func `nodeExec` from daemon_restart.go to framework/util.go. This is the correct file for this func and is a more intuitive pkg for other callers to use. This is a small step of the larger effort of restructuring e2e tests to be more logically structured and easier for newcomers to understand.

```release-note
NONE
```
cc @timothysc @copejon
2017-05-12 05:26:12 -07:00
jeff vance 6276a86577 move nodeExec() from daemon_restart to framework/util.go 2017-05-11 23:58:12 -07:00
Kubernetes Submit Queue 6328ca6fc1 Merge pull request #45530 from zhangxiaoyu-zidif/e2e-delete-redundant-para
Automatic merge from submit-queue

util.go: format for

**What this PR does / why we need it**:
format for.
delete redundant para.
make code clean.

**Release note**:

```release-note
NONE
```
2017-05-10 19:54:47 -07:00
gmarek f68b884a9d Move rest of performance data gathered by tests to Summaries 2017-05-10 14:50:38 +02:00
zhangxiaoyu-zidif 3f9a31ef99 util.go: format for 2017-05-09 14:49:10 +08:00
Davanum Srinivas 5cd700ab2c Run SSH e2e test only if SSH keys are present
Not all CI systems support ssh keys to be present on the node. This
supports the case where "local" provider is being used when running
e2e test, but the environment does not have a SSH key.
2017-05-01 11:04:54 -04:00
Huamin Chen 165d46a0a8 e2e test: test azure disk volume
Signed-off-by: Huamin Chen <hchen@redhat.com>
2017-04-28 18:51:34 +00:00
NickrenREN d4376599ba Cleanup: replace some hardcoded codes and remove unused functions 2017-04-25 09:38:25 +08:00
Wojciech Tyczynski 4160d70ecf Remove spammy logs in tests 2017-04-21 12:14:55 +02:00
Jeff Grafton df4e205460 Update gcr.io/google_containers/porter image to 4524579c0e 2017-04-19 11:50:41 -07:00
divyenpatel 2d137856a9 namespace deletion and kubelet restart tests for vSphere cloud provider 2017-04-18 11:34:07 -07:00
Chao Xu 4f9591b1de move pkg/api/v1/ref.go and pkg/api/v1/resource.go to subpackages. move some functions in resource.go to pkg/api/v1/node and pkg/api/v1/pod 2017-04-17 11:38:11 -07:00
Chao Xu d4850b6c2b move pkg/api/v1/helpers.go to subpackage 2017-04-14 14:25:11 -07:00
Kubernetes Submit Queue 09fec90fdc Merge pull request #44424 from timothysc/in-cluster-config-e2e
Automatic merge from submit-queue (batch tested with PRs 44424, 44026, 43939, 44386, 42914)

Try in cluster config when input KubeConfig is empty

**What this PR does / why we need it**:
Allows for downstream providers to run e2es "incluster" sans kubeconfig

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

**Special notes for your reviewer**:

**Release note**:

```
NONE
```

/cc @kubernetes/sig-testing-pr-reviews @marun
2017-04-13 22:07:03 -07:00
Kubernetes Submit Queue 9f92832fad Merge pull request #43942 from wanghaoran1988/fix_43323
Automatic merge from submit-queue (batch tested with PRs 44447, 44456, 43277, 41779, 43942)

Clean up pre-ControllerRef compatibility logic

**What this PR does / why we need it**:

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

**Special notes for your reviewer**:
No
**Release note**:

```
NONE
```
2017-04-13 15:02:03 -07:00
Timothy St. Clair d401627a10 Try in cluster config when input KubeConfig is empty 2017-04-12 20:33:10 -05:00
Zihong Zheng 07213b6dff [e2e] Bump up pod deletion time for source pod IP test 2017-04-12 09:16:47 -07:00
Kubernetes Submit Queue ad3e0903f3 Merge pull request #43804 from Crazykev/wrong-err
Automatic merge from submit-queue

fix wrong error return

Signed-off-by: Crazykev <crazykev@zju.edu.cn>



**What this PR does / why we need it**: The err return here is wrong, correct it.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
```
2017-04-07 05:06:39 -07:00
Haoran Wang 866c599198 Clean up pre-ControllerRef compatibility logic 2017-04-07 14:09:23 +08:00
Michail Kargakis 5f6a8c8d23
Reduce deployment replicas in e2e tests
Signed-off-by: Michail Kargakis <mkargaki@redhat.com>
2017-04-06 12:54:43 +02:00
Wojciech Tyczynski dea98cbdd0 Don't run preserve pod IP test in userspace mode 2017-04-03 08:15:22 +02:00
Michail Kargakis e1e2d702c4 Log replica sets/pods for recreate test 2017-03-31 10:25:48 +02:00
Haoran Wang 0b3a6c80ca Initial the scheduler priority test 2017-03-30 10:54:27 +08:00
Crazykev 6f86cd1a32 fix wrong error return
Signed-off-by: Crazykev <crazykev@zju.edu.cn>
2017-03-29 20:44:10 +08:00
Wojciech Tyczynski 2e3cd93fc8 Fix problems of not-starting image pullers 2017-03-28 11:05:57 +02:00
Bowei Du d3e4959104 Use ping to ip instead of wget google.com in net connectivity check
This is a flakey test and this commit reduces the number of dependent
systems involved with the flake.
2017-03-27 17:18:55 -07:00
Kubernetes Submit Queue c81e99d98d Merge pull request #41728 from vmware/e2eTestsUpdate-v3
Automatic merge from submit-queue (batch tested with PRs 41728, 42231)

Adding new tests to e2e/vsphere_volume_placement.go

**What this PR does / why we need it**:
Adding new tests to e2e/vsphere_volume_placement.go

Below is the tests description and test steps.

**Test Back-to-back pod creation/deletion with different volume sources on the same worker node**

1. Create volumes - vmdk2, vmdk1 is created in the test setup.
2. Create pod Spec - pod-SpecA with volume path of vmdk1 and NodeSelector set to label assigned to node1.
3. Create pod Spec - pod-SpecB with volume path of vmdk2 and NodeSelector set to label assigned to node1.
4. Create pod-A using pod-SpecA and wait for pod to become ready.
5. Create pod-B using pod-SpecB and wait for POD to become ready.
6. Verify volumes are attached to the node.
7. Create empty file on the volume to make sure volume is accessible. (Perform this step on pod-A and pod-B)
8. Verify file created in step 5 is present on the volume. (perform this step on pod-A and pod-B)
9. Delete pod-A and pod-B
10. Repeatedly (5 times) perform step 4 to 9 and verify associated volume's content is matching.
11. Wait for vmdk1 and vmdk2 to be detached from node.
12. Delete vmdk1 and vmdk2

**Test multiple volumes from different datastore within the same pod**

1. Create volumes - vmdk2 on non default shared datastore.
2. Create pod Spec with volume path of vmdk1 (vmdk1 is created in test setup on default datastore) and vmdk2.
3. Create pod using spec created in step-2 and wait for pod to become ready.
4. Verify both volumes are attached to the node on which pod are created. Write some data to make sure volume are accessible.
5. Delete pod.
6. Wait for vmdk1 and vmdk2 to be detached from node.
7. Create pod using spec created in step-2 and wait for pod to become ready.
8. Verify both volumes are attached to the node on which PODs are created. Verify volume contents are matching with the content written in step 4.
9. Delete POD.
10. Wait for vmdk1 and vmdk2 to be detached from node.
11. Delete vmdk1 and vmdk2

**Test multiple volumes from same datastore within the same pod**

1. Create volumes - vmdk2, vmdk1 is created in testsetup
2. Create pod Spec with volume path of vmdk1 (vmdk1 is created in test setup) and vmdk2.
3. Create pod using spec created in step-2 and wait for pod to become ready.
4. Verify both volumes are attached to the node on which pod are created. Write some data to make sure volume are accessible.
5. Delete pod.
6. Wait for vmdk1 and vmdk2 to be detached from node.
7. Create pod using spec created in step-2 and wait for pod to become ready.
8. Verify both volumes are attached to the node on which PODs are created. Verify volume contents are matching with the content written in step 4.
9. Delete POD.
10. Wait for vmdk1 and vmdk2 to be detached from node.
11. Delete vmdk1 and vmdk2


**Which issue this PR fixes** 
fixes #

**Special notes for your reviewer**:
Executed tests against K8S v1.5.3 release 

**Release note**:

```release-note
NONE
```

cc: @kerneltime @abrarshivani @BaluDontu @tusharnt @pdhamdhere
2017-03-27 11:54:25 -07:00
Kubernetes Submit Queue 5c2a8c252c Merge pull request #43641 from krousey/upgrades
Automatic merge from submit-queue

Better logging for PVC flakes

Addresses some logging ambiguities in https://github.com/kubernetes/kubernetes/issues/43610, but does not fix it.
2017-03-27 10:43:42 -07:00
Kubernetes Submit Queue d7332315b0 Merge pull request #42959 from smarterclayton/test_clean
Automatic merge from submit-queue (batch tested with PRs 42998, 42902, 42959, 43020, 42948)

Delete host exec pods rapidly
2017-03-25 17:17:25 -07:00
Kris d9a84e624c Better logging for PVC flakes 2017-03-24 14:25:25 -07:00
Kubernetes Submit Queue 694088b3ad Merge pull request #42279 from copejon/fix-pvc-poll-error-message
Automatic merge from submit-queue (batch tested with PRs 42237, 42297, 42279, 42436, 42551)

Reword PVC polling message to log a more readable message.

**What this PR does / why we need it**:
Previous message used to report an error is misleading and poorly written.  This PR changes the log to be more readable.

```release-note
NONE
```
2017-03-24 14:16:25 -07:00
divyenpatel 608638cb52 fixed common funcs to add support for new tests
added new tests to vsphere_volume_placement.go

addressed jeffvance's review comments
2017-03-19 11:53:30 -07:00
Anthony Yeh fa23729a6d kubectl: Use v1.5-compatible ownership logic when listing dependents.
In particular, we should not assume ControllerRefs are necessarily set.
However, we can still use ControllerRefs that do exist to avoid
interfering with controllers that do use it.
2017-03-16 12:28:38 -07:00
Kubernetes Submit Queue 0afdcfcaf6 Merge pull request #43114 from enisoc/deployment-upgrade-test
Automatic merge from submit-queue

Fix Deployment upgrade test.

**What this PR does / why we need it**:

When the upgrade test operates on Deployments in a pre-1.6 cluster (i.e. during the Setup phase), it needs to use the v1.5 deployment/util logic. In particular, the v1.5 logic does not filter children to only those with a matching ControllerRef.

**Which issue this PR fixes**:

Fixes #42738

**Special notes for your reviewer**:

**Release note**:
```release-note
```
cc @kubernetes/sig-apps-pr-reviews
2017-03-15 07:03:19 -07:00
Anthony Yeh 0c015927c4 Fix Deployment upgrade test.
When the upgrade test operates on Deployments in a pre-1.6 cluster
(i.e. during the Setup phase), it needs to use the v1.5 deployment/util
logic. In particular, the v1.5 logic does not filter children to only
those with a matching ControllerRef.
2017-03-14 17:39:29 -07:00
Anirudh 7698196fa5 Add a timeout to allow replacement pod to become ready 2017-03-14 17:09:39 -07:00
Timothy St. Clair 6cc40678b6 Initial breakout of scheduling e2es to help assist in both assignment
and refactoring.
2017-03-13 22:34:57 -05:00
Clayton Coleman e3ca9570a5
Delete host exec pods rapidly
For some tests this makes namespace deletion faster (we poll for
resources at 1/2 their innate termination grace period), thus speeding
up the test.
2017-03-12 00:43:23 -05:00
Kubernetes Submit Queue 4ff0af821a Merge pull request #42879 from jsafrane/test-pod-logs
Automatic merge from submit-queue

e2e test: Log container output on TestContainerOutput error

When a pod started with TestContainerOutput or TestContainerOutputRegexp
fails from unknown reason, we should log all output of all its containers
so we can analyze what went wrong.

This would help us to see what wrong in https://github.com/kubernetes/kubernetes/issues/40811 - a container is running there for 3 minutes and dies and we want to see what it did for these 3 minutes.

```release-note
NONE
```
2017-03-10 06:13:44 -08:00
Jan Safranek bc06c636d1 e2e test: Log container output on TestContainerOutput error
When a pod started with TestContainerOutput or TestContainerOutputRegexp
fails from unknown reason, we should log all output of all its containers
so we can analyze what went wrong.
2017-03-10 10:08:57 +01:00
David Ashpole 3806d386df use default timeout for deletion 2017-03-08 14:40:19 -08:00
Kubernetes Submit Queue 1402cc588f Merge pull request #42681 from yujuhong/fix_restart
Automatic merge from submit-queue (batch tested with PRs 42652, 42681, 42708, 42730)

e2e: fix restarting the apiserver

The string used to match the image name of the apiserver (e.g., `gcr.io/google_containers/kube-apiserver:3be...`),
but this no longer works. Change the test to locate the kube-apiserver container by name.
2017-03-08 11:38:07 -08:00
Kubernetes Submit Queue d306acca86 Merge pull request #42175 from enisoc/controller-ref-dep
Automatic merge from submit-queue

Deployment: Fully Respect ControllerRef

**What this PR does / why we need it**:

This is part of the completion of the [ControllerRef](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/controller-ref.md) proposal. It brings Deployment into full compliance with ControllerRef. See the individual commit messages for details.

**Which issue this PR fixes**:

This ensures that Deployment does not fight with other controllers over control of Pods and ReplicaSets.

Ref: https://github.com/kubernetes/kubernetes/issues/24433

**Special notes for your reviewer**:

**Release note**:

```release-note
Deployment now fully respects ControllerRef to avoid fighting over Pods and ReplicaSets. At the time of upgrade, **you must not have Deployments with selectors that overlap**, or else [ownership of ReplicaSets may change](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/controller-ref.md#upgrading).
```
cc @erictune @kubernetes/sig-apps-pr-reviews
2017-03-07 20:44:36 -08:00
Yu-Ju Hong 9401c39a4e e2e: fix restarting the apiserver 2017-03-07 14:54:59 -08:00
Kubernetes Submit Queue feb81270d1 Merge pull request #42346 from kargakis/e2e-deployment-fix
Automatic merge from submit-queue

e2e: require minimum completeness in deployment tests

@janetkuo should reduce deployment-related flakes

For example:
https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/logs/ci-kubernetes-e2e-gci-gke/5334#k8sio-deployment-scaled-rollout-deployment-should-not-block-on-annotation-check
Deployment with 5 pods, all of them updated to the latest replica set. For some reason one of them is never scheduled and even though the strategy parameters in the Deployment allow 2 maxUnavailable the test is stuck for 5mins waiting for the last pod.
```
I0228 12:33:31.406] Feb 28 12:33:20.255: INFO: Pod nginx-2629236890-r7z5n is not available:
I0228 12:33:31.406] {TypeMeta:{Kind: APIVersion:} ObjectMeta:{Name:nginx-2629236890-r7z5n GenerateName:nginx-2629236890- Namespace:e2e-tests-deployment-gctjw SelfLink:/api/v1/namespaces/e2e-tests-deployment-gctjw/pods/nginx-2629236890-r7z5n UID:7095ad3e-fdf4-11e6-af4a-42010af00010 ResourceVersion:7804 Generation:0 CreationTimestamp:2017-02-28 12:28:18.408376434 -0800 PST DeletionTimestamp:<nil> DeletionGracePeriodSeconds:<nil> Labels:map[pod-template-hash:2629236890 name:nginx] Annotations:map[kubernetes.io/created-by:{"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"ReplicaSet","namespace":"e2e-tests-deployment-gctjw","name":"nginx-2629236890","uid":"7085ba3f-fdf4-11e6-af4a-42010af00010","apiVersion":"extensions","resourceVersion":"7743"}}
I0228 12:33:31.407] ] OwnerReferences:[{APIVersion:extensions/v1beta1 Kind:ReplicaSet Name:nginx-2629236890 UID:7085ba3f-fdf4-11e6-af4a-42010af00010 Controller:0xc420beccf0}] Finalizers:[] ClusterName:} Spec:{Volumes:[{Name:default-token-58h80 VolumeSource:{HostPath:nil EmptyDir:nil GCEPersistentDisk:nil AWSElasticBlockStore:nil GitRepo:nil Secret:&SecretVolumeSource{SecretName:default-token-58h80,Items:[],DefaultMode:*420,Optional:nil,} NFS:nil ISCSI:nil Glusterfs:nil PersistentVolumeClaim:nil RBD:nil FlexVolume:nil Cinder:nil CephFS:nil Flocker:nil DownwardAPI:nil FC:nil AzureFile:nil ConfigMap:nil VsphereVolume:nil Quobyte:nil AzureDisk:nil PhotonPersistentDisk:nil Projected:nil}}] InitContainers:[] Containers:[{Name:nginx Image:gcr.io/google_containers/update-demo:kitten Command:[] Args:[] WorkingDir: Ports:[] EnvFrom:[] Env:[] Resources:{Limits:map[] Requests:map[]} VolumeMounts:[{Name:default-token-58h80 ReadOnly:true MountPath:/var/run/secrets/kubernetes.io/serviceaccount SubPath:}] LivenessProbe:nil ReadinessProbe:nil Lifecycle:nil TerminationMessagePath:/dev/termination-log TerminationMessagePolicy:File ImagePullPolicy:IfNotPresent SecurityContext:nil Stdin:false StdinOnce:false TTY:false}] RestartPolicy:Always TerminationGracePeriodSeconds:0xc420becd28 ActiveDeadlineSeconds:<nil> DNSPolicy:ClusterFirst NodeSelector:map[] ServiceAccountName:default DeprecatedServiceAccount:default AutomountServiceAccountToken:<nil> NodeName:gke-bootstrap-e2e-default-pool-800b6140-fsl5 HostNetwork:false HostPID:false HostIPC:false SecurityContext:&PodSecurityContext{SELinuxOptions:nil,RunAsUser:nil,RunAsNonRoot:nil,SupplementalGroups:[],FSGroup:nil,} ImagePullSecrets:[] Hostname: Subdomain: Affinity:nil SchedulerName:default-scheduler Tolerations:[]} Status:{Phase:Pending Conditions:[{Type:Initialized Status:True LastProbeTime:0001-01-01 00:00:00 +0000 UTC LastTransitionTime:2017-02-28 12:28:18 -0800 PST Reason: Message:} {Type:Ready Status:False LastProbeTime:0001-01-01 00:00:00 +0000 UTC LastTransitionTime:2017-02-28 12:28:18 -0800 PST Reason:ContainersNotReady Message:containers with unready status: [nginx]} {Type:PodScheduled Status:True LastProbeTime:0001-01-01 00:00:00 +0000 UTC LastTransitionTime:2017-02-28 12:28:18 -0800 PST Reason: Message:}] Message: Reason: HostIP:10.240.0.2 PodIP: StartTime:2017-02-28 12:28:18 -0800 PST InitContainerStatuses:[] ContainerStatuses:[{Name:nginx State:{Waiting:&ContainerStateWaiting{Reason:ContainerCreating,Message:,} Running:nil Terminated:nil} LastTerminationState:{Waiting:nil Running:nil Terminated:nil} Ready:false RestartCount:0 Image:gcr.io/google_containers/update-demo:kitten ImageID: ContainerID:}] QOSClass:BestEffort}}
```

@kubernetes/sig-apps-misc
2017-03-07 09:11:25 -08:00
Anthony Yeh f020c9ae6c Deployment: Update overlapping e2e test for ControllerRef. 2017-03-06 15:12:07 -08:00
Anthony Yeh 887acb07ea Deployment/util: Filter by ControllerRef.
The list functions in deployment/util are used outside the Deployment
controller itself. Therefore, they don't do actual adoption/orphaning.
However, they still need to avoid listing things that don't belong.
2017-03-06 15:12:06 -08:00
Michail Kargakis 3921a2a2f6 e2e: require minimum completeness in deployment tests 2017-03-01 19:25:12 +01:00
Wojciech Tyczynski 9db6aa50f0 Make secret tests work in large clusters 2017-03-01 17:58:30 +01:00
Jon Cope 6e317762fd Reword poll message to log a more readable message. 2017-02-28 15:54:43 -06:00
Zihong Zheng 7eb9b81d67 Updates test/e2e/addon_update.go to match addon-manager's new behavior 2017-02-24 16:44:21 -08:00
gmarek d88af7806c NodeController sets NodeTaints instead of deleting Pods 2017-02-24 09:24:33 +01:00
Kubernetes Submit Queue e5c2d716d9 Merge pull request #41887 from liggitt/watch-verb
Automatic merge from submit-queue (batch tested with PRs 39855, 41433, 41567, 41887, 41652)

Use watch param instead of deprecated /watch/ prefix

Reopen of https://github.com/kubernetes/kubernetes/pull/41722 after reverted in https://github.com/kubernetes/kubernetes/pull/41774

Required https://github.com/kubernetes/kubernetes/pull/41797 to merge first

cc @deads2k @wojtek-t
2017-02-23 09:36:35 -08:00
Wojciech Tyczynski 59cec9c1a6 Merge pull request #41886 from wojtek-t/allow_for_disabling_log_dump
Add ability to disable dumping logs
2017-02-23 08:08:25 +01:00
Kubernetes Submit Queue ffda545ce9 Merge pull request #41793 from wojtek-t/speedup_density_2
Automatic merge from submit-queue (batch tested with PRs 41797, 41793, 41795, 41807, 41781)

Slightly speedup density test
2017-02-22 22:06:32 -08:00
Kubernetes Submit Queue 9cbaff9e0f Merge pull request #41373 from msau42/e2e-pvutil
Automatic merge from submit-queue (batch tested with PRs 38957, 41819, 41851, 40667, 41373)

Move pvutil.go from e2e package to framework package

**What this PR does / why we need it**:  

This PR moves pvutil.go to the e2e/framework package.

I am working on a PV upgrade test, and would like to use some of the wrapper functions in pvutil.go.  However, the upgrade test is in the upgrade package, and not the e2e package, and it cannot import the e2e package because it would create a circular dependency.  So pvutil.go needs to be moved out of e2e in order to break the circular dependency.  This is a refactoring name change, no logic has been modified.

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

**Special notes for your reviewer**:

**Release note**:

NONE
2017-02-22 19:59:37 -08:00
Avesh Agarwal b4d3d24eaf Update tests. 2017-02-22 09:27:42 -05:00
Wojciech Tyczynski 0d8a492fbf Add ability to disable dumping logs 2017-02-22 15:26:29 +01:00
Jordan Liggitt e6dbe5f57e
Pass typed options to dynamic client 2017-02-22 08:53:57 -05:00
Wojciech Tyczynski 3c6a37193a Allow for not-ready pods in large clusters 2017-02-21 15:01:08 +01:00
Wojciech Tyczynski 70e8c9cb89 Slightly speedup density test 2017-02-21 13:26:03 +01:00
Wojciech Tyczynski a21b08d00f Revert "Use watch param instead of deprecated /watch/ prefix" 2017-02-21 08:37:51 +01:00
Kubernetes Submit Queue dfacc61c5f Merge pull request #41722 from liggitt/watch-prefix
Automatic merge from submit-queue (batch tested with PRs 41421, 41440, 36765, 41722)

Use watch param instead of deprecated /watch/ prefix

Switches clients to use watch param instead of /watch/ prefix

```release-note
Clients now use the `?watch=true` parameter to make watch API calls, instead of the `/watch/` path prefix
```
2017-02-20 10:37:44 -08:00
Wojciech Tyczynski f17765ab72 Speedup density test 2017-02-20 16:06:05 +01:00
Jordan Liggitt 308fdcd13f
Pass typed options to dynamic client 2017-02-19 22:12:55 -05:00
Michelle Au f2887af4f5 Move pv_util.go into framework package so that it can be used in tests
not in the e2e package.
2017-02-16 20:48:06 -08:00
gmarek 6b20bb790f generated 2017-02-16 09:25:27 +01:00
gmarek e1e4370ecd Promote taint addition/removal to api/v1/helpers.go 2017-02-16 09:25:27 +01:00
Kubernetes Submit Queue beed2ea460 Merge pull request #41252 from kargakis/drop-unnecessary-helper
Automatic merge from submit-queue (batch tested with PRs 41196, 41252, 41300, 39179, 41449)

Remove redundant pod helper
2017-02-15 04:14:12 -08:00
Jordan Liggitt 88a876b1d0
Update to use proxy subresource consistently 2017-02-13 22:05:00 -05:00
Michail Kargakis fe137a8123 Remove redundant pod helper 2017-02-10 17:58:59 +01:00
Kubernetes Submit Queue 558c37aee3 Merge pull request #41112 from janetkuo/no-watch-until
Automatic merge from submit-queue (batch tested with PRs 41112, 41201, 41058, 40650, 40926)

e2e test flakes: remove some uses of watch.Until in e2e tests

`watch.Until` is somewhat broken and is causing quite a lot of test flakes. See https://github.com/kubernetes/kubernetes/issues/39879#issuecomment-277966375 and https://github.com/kubernetes/kubernetes/issues/31345 for more context.

@wojtek-t @yujuhong @kargakis
2017-02-10 01:40:41 -08:00
Michail Kargakis ff83eb58eb Add more logs during the cleanup phase of a deployment 2017-02-09 10:31:15 +01:00
Janet Kuo 7c89359cc8 Address comments: remove unused resourceVersion in e2e util wait loop; poll pods every 2 seconds 2017-02-08 13:05:11 -08:00
Kubernetes Submit Queue b57dc268d6 Merge pull request #41097 from kargakis/test-update
Automatic merge from submit-queue (batch tested with PRs 41103, 41042, 41097, 40946, 40770)

test: enhance still failing test

https://github.com/kubernetes/kubernetes/issues/39785 has stopped on gce-etcd3, gci-gce but not on gci-gke and kops
https://k8s-testgrid.appspot.com/sq-blocking#gce-etcd3&include-filter-by-regex=%5EOverall%24%7C%5C%5Bk8s%5C.io%5C%5D%5C%20Deployment%5C%20lack%5C%20of%5C%20progress%5C%20should%5C%20be%5C%20reported%5C%20in%5C%20the%5C%20deployment%5C%20status
2017-02-07 22:12:36 -08:00
Janet Kuo 4cef1008f4 Remove some uses of watch.Until in e2e tests 2017-02-07 16:50:49 -08:00
Michail Kargakis 6f44fbde52 test: enhance still failing test 2017-02-07 22:25:01 +01:00
Kubernetes Submit Queue d82e51edc5 Merge pull request #40900 from janetkuo/deployment-e2e-pod-running
Automatic merge from submit-queue (batch tested with PRs 40345, 38183, 40236, 40861, 40900)

Remove checks for pods responding in deployment e2e tests

Fixes #39879

Remove it because it caused deployment e2e tests sometimes timed out waiting for pods responding, and pods responding isn't related to deployment controller and is not a prerequisite of deployment e2e tests.

@kargakis
2017-02-07 11:33:46 -08:00
Kubernetes Submit Queue 4db40cbd94 Merge pull request #40971 from kargakis/lack-of-progress-fix
Automatic merge from submit-queue (batch tested with PRs 40971, 41027, 40709, 40903, 39369)

test: bump deployment condition timeout

@fejta @spxtr ptal

Fixes https://github.com/kubernetes/kubernetes/issues/39785
2017-02-06 20:57:12 -08:00
Janet Kuo ae5a901a8f Remove checks for pods responding in deployment e2e tests
Remove it because it caused deployment e2e tests sometimes timed out
waiting for pods responding, and pods responding isn't related to
deployment controller and is not a prerequisite of deployment e2e tests.
2017-02-06 10:07:19 -08:00
Michail Kargakis e8f1d9bac6 test: bump deployment condition timeout 2017-02-05 01:02:04 +01:00
Kubernetes Submit Queue d6a4394b53 Merge pull request #40747 from krousey/upgrades
Automatic merge from submit-queue

Add an upgrade test for secrets.

**What this PR does / why we need it**: This PR adds an upgrade test for secrets. It creates a secret and makes sure that pods can consume it before an after an upgrade.
2017-02-03 23:10:21 -08:00
Kubernetes Submit Queue 9642104e82 Merge pull request #39914 from kevin-wangzefeng/forgiveness-library-changes
Automatic merge from submit-queue (batch tested with PRs 40696, 39914, 40374)

Forgiveness library changes

**What this PR does / why we need it**:
Splited from #34825, contains library changes that are needed to implement forgiveness:

1. ~~make taints-tolerations matching respect timestamps, so that one toleration can just tolerate a taint for only a period of time.~~ As TaintManager is caching taints and observing taint changes, time-based checking is now outside the library (in TaintManager). see #40355.
2. make tolerations respect wildcard key.
3. add/refresh some related functions to wrap taints-tolerations operation.

**Which issue this PR fixes**: 
Related issue: #1574
Related PR: #34825, #39469 
~~Please note that the first 2 commits in this PR come from #39469 .~~

**Special notes for your reviewer**:

~~Since currently we have `pkg/api/helpers.go` and `pkg/api/v1/helpers.go`, there are some duplicated periods of code laying in these two files.~~

~~Ideally we should move taints-tolerations related functions into a separate package (pkg/util/taints), and make it a unified set of implementations. But I'd just suggest to do it in a follow-up PR after Forgiveness ones done, in case of feature Forgiveness getting blocked to long.~~

**Release note**:

```release-note
make tolerations respect wildcard key
```
2017-02-03 15:05:55 -08:00
Michail Kargakis 83c1ef489e test: move deployment helper in testing framework 2017-02-01 19:47:02 +01:00
deads2k 8a12000402 move client/record 2017-01-31 19:14:13 -05:00
Kris 8652a4f471 Add an upgrade test for secrets. 2017-01-31 13:05:36 -08:00
Kevin 36dcb57407 forgiveness library changes 2017-01-31 21:39:17 +08:00