Commit Graph

7172 Commits

Author SHA1 Message Date
Maru Newby
ea825085b3 fed: Manage e2e clusters with a slice instead of a map
There was no code relying on a map, and using a slice eliminates the
need to select the primary cluster when retrieving registered
clusters.
2017-04-06 18:02:08 -07:00
Maru Newby
b2bdc9235e fed: Refactor e2e backend pod management for maintainability
This change separates backend pod management from cluster management
2017-04-06 18:02:08 -07:00
Maru Newby
25da547399 fed: remove unused e2e framework 2017-04-06 18:02:08 -07:00
Maru Newby
d4552c52bf fed: Refactor e2e cluster functions into framework for reuse 2017-04-06 18:02:08 -07:00
Kubernetes Submit Queue
d7f5929603 Merge pull request #42025 from marun/fed-crud-interation-test
Automatic merge from submit-queue

[Federation] Add integration test for secrets

This PR adds an integration test for secrets that:

 - performs create/read/update/delete on federation resources and validates that the changes are propagated to member clusters.  
 - uses an abstraction layer (fixture and adapter) to minimize the code required to support each federated type
   - It should be possible to replace a test-specific adapter with a runtime adapter in the future (as per #41050)
 - reuses fixture (federation api and clusters) across different resource types to minimize setup overhead
   - on a fast machine, setup takes ~4s, and validating each type takes ~2s  
 - uses the [Subtest feature added in Go 1.7](https://blog.golang.org/subtests) to allow the test for a specific controller to be run in isolation
   - ``make test-integration WHAT="federation  -test.run=TestFederationCRUD/secret"``

Once this PR merges the test can be extended to target other federated types.

This PR targets #40705

cc: @kubernetes/sig-federation-pr-reviews @derekwaynecarr
2017-04-06 16:54:44 -07:00
Kubernetes Submit Queue
aa1bd2b3e0 Merge pull request #43818 from kargakis/reduce-deployment-replicas
Automatic merge from submit-queue (batch tested with PRs 41189, 43818)

Reduce deployment replicas in e2e tests

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

There are still two tests that run multiple replicas (testScaledRolloutDeployment, testIterativeDeployments), we may want to revisit them at some point.
2017-04-06 15:12:21 -07:00
Jon Cope
497a5bbbe2 move PD delete to AfterEach 2017-04-06 16:35:35 -05:00
Kubernetes Submit Queue
64973188dd Merge pull request #43871 from liggitt/patch-mutation
Automatic merge from submit-queue (batch tested with PRs 43871, 44053)

Fix original object mutation on patch retry

When applying a patch, the original state of the object and patch are captured so that retries can determine if an overlapping update was made to the object, and the patch API call should abort with a conflict.

However, the `strategicPatchObject -> applyPatchToObject -> StrategicMergeMapPatch -> mergeMap` call mutates both the original object map and the patch map, making them unsuitable for reusing for subsequent calls.

We saw this in a [downstream test](https://github.com/openshift/origin/blob/master/test/integration/patch_test.go) that exercises patch conflict retries, where the data being submitted in a patch was showing up in the original object data map.

Since mergeMap *also* mutates the patch map passed in (deletes patch directives as it encounters them), we *also* cannot reuse the patch map in `applyPatchToObject` once it has been used.

This PR:
* Builds `originalObjMap` separate from the initial patch application for later use in conflict detection
* Changes the `originalPatchMap` to a helper that returns a fresh map from original sources
* Adds an integration test that exercises retry of non-overlapping patches with patches containing `$patch` directives
2017-04-06 12:36:23 -07:00
Kubernetes Submit Queue
3e57317677 Merge pull request #44133 from spxtr/pdflake
Automatic merge from submit-queue (batch tested with PRs 44143, 44133)

Mark PD test as flaky.

**What this PR does / why we need it**: Marks "PD should be mountable" as flaky. See #43977, which shows that it has flaked at least 7 times in the last 3 days. @kubernetes/sig-storage-test-failures

**Release note**:
```release-note
NONE
```
2017-04-06 11:19:24 -07:00
Kubernetes Submit Queue
c2f3c483a1 Merge pull request #42363 from copejon/extract-volume-utils
Automatic merge from submit-queue

Extract e2e utility code into framework

**What this PR does / why we need it**:
There's a growing dependency on Volume e2e utilities related to creating / test against NFS volumes.  For this reason, it's useful to relocate the relevant functions to the `framework` pkg.   Doing so makes these utility functions available to e2e tests outside the `e2e` package.


This PR only moves code from the `e2e` package to `framework` and handle the relevant changes in calls.  It does not change any logic.  


```release-note
NONE
```

@jingxu97 I think there's value here in reducing duplicate code in the `common` package, given that these functions have been copied down to it.  However, there's been some divergence.  Can you PTAL and let me know if there's any reason we can't remove the duplicate `common` code?

cc @jeffvance
2017-04-06 09:55:50 -07:00
Jordan Liggitt
c415e4aeab Fix original object mutation on patch retry 2017-04-06 12:30:43 -04:00
Jerzy Szczepkowski
9a1dd78b3e Re-enabled HPA upgrade e2e test
Re-enabled HPA upgrade e2e test.
2017-04-06 18:26:35 +02:00
Jan Safranek
a327302200 e2e tests should be multizone aware
Pass MULTIZONE=true env. variable to e2e test framework.
2017-04-06 13:28:29 +02: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
Kubernetes Submit Queue
f0e40e7ca4 Merge pull request #44142 from MaciekPytel/ca_fix_e2e
Automatic merge from submit-queue

Fix Cluster-Autoscaler e2e on testgrid

Fix an e2e test failing in CI. The failures were caused by maximum nodes in test env being lower than the number of nodes required by the test.
2017-04-06 03:54:05 -07:00
Kubernetes Submit Queue
b4ff65ddf2 Merge pull request #43963 from kargakis/fix-recreate-syncs
Automatic merge from submit-queue (batch tested with PRs 43963, 43965)

Wait for clean old RSs statuses in the middle of Recreate rollouts

After https://github.com/kubernetes/kubernetes/pull/43508 got merged, we started returning ReplicaSets with no pods but with stale statuses back to the rollout functions. As a consequence, one of our e2e tests that checks if a Recreate Deployment runs pods from different versions, started flakying because the Deployment status may be incorrect. This change simply waits for the statuses to get cleaned up before proceeding with scaling up the new RS.

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

@kubernetes/sig-apps-bugs
2017-04-06 02:52:18 -07:00
Maciej Pytel
18ab7314bc Fix Cluster-Autoscaler e2e on testgrid 2017-04-06 11:20:23 +02:00
spxtr
8117f515ab Mark PD test as flaky. 2017-04-05 23:31:28 -07:00
Kubernetes Submit Queue
774264968d Merge pull request #44104 from krousey/upgrades
Automatic merge from submit-queue (batch tested with PRs 44104, 43903, 44109)

Make sure Teardown is called.

This will ensure that tests get a chance to clean up resources even if
setup failed part way through.
2017-04-05 17:43:24 -07:00
Kubernetes Submit Queue
2d023d967d Merge pull request #44066 from marun/fed-improve-e2e-setup
Automatic merge from submit-queue (batch tested with PRs 44097, 42772, 43880, 44031, 44066)

[Federation] Improve e2e test setup

This PR improves federation e2e test setup:

 - reuses e2e framework setup (``NewDefaultFramework``) instead of duplicating it
 - ensures ``FederationAfterEach`` is called if an error occurs in ``FederationBeforeEach`` (as per the [example](https://github.com/kubernetes/kubernetes/blob/master/test/e2e/framework/framework.go#L161) of the e2e framework)
 - skips creation of a test namespace in the hosting cluster (not used for a federation e2e test)

cc: @kubernetes/sig-federation-pr-reviews @kubernetes/sig-testing-pr-reviews
2017-04-05 16:41:25 -07:00
Jon Cope
db259b413a Remove [Flaky] from presistent volume NFS tests. 2017-04-05 16:37:55 -05:00
Kubernetes Submit Queue
08fefc9d9a Merge pull request #42769 from timchenxiaoyu/acrosstypo
Automatic merge from submit-queue

fix across typo

fix across typo


NONE
2017-04-05 14:28:26 -07:00
Kris
90f8d62233 Make sure Teardown is called.
This will ensure that tests get a chance to clean up resources even if
setup failed part way through.
2017-04-05 11:09:24 -07:00
Maciej Pytel
67f5ba0004 Cluster-Autoscaler e2e to catch unnecessary scale-ups
This fails (with large probability, as issue is not 100% deterministic)
on 0.5.0, catching the bug in this version.
2017-04-05 15:23:29 +02:00
Jan Safranek
873d0a73cf Add region to AWS calls from storage class test 2017-04-05 15:17:50 +02:00
Jan Safranek
67e1f2c08e Add e2e tests for storageclass
This reverts commit 22352d2844 and makes
gce.GetDiskByNameUnknownZone a public GCE cloud provider method.
2017-04-05 11:49:49 +02:00
Jordan Liggitt
0d2e5a0dd8 Enable service account token lookup by default
```release-note
kube-apiserver: --service-account-lookup now defaults to true. This enables service account tokens to be revoked by deleting the Secret object containing the token.
```
2017-04-04 22:00:11 -04:00
Maru Newby
e769c33de4 fed: Improve e2e framework setup/teardown
- reuse default framework setup rather than duplicating
 - skip namespace creation for each test in hosting cluster
 - ensure FederationAfterEach is called if BeforeEach fails
2017-04-04 17:42:56 -07:00
Maru Newby
6170378764 Configurably skip creation of namespace on e2e setup 2017-04-04 17:42:49 -07:00
Jon Cope
9f6d7da0da Re-add skip unless OS is gci to GCP Volume suite 2017-04-04 16:30:35 -05:00
Jon Cope
ecca32641f Add skipUnlessNodeOS is GCI 2017-04-04 15:38:29 -05:00
Jon Cope
cef9edcdee Extract volume test utils into framework.
Moved remaining util functions

moved cinder specific function back to volumes.go, will have to be extracted later when a cinder e2e package is created.

remove dupe code from common/volume.go

Moved [Volume] tags to KubeDescribe
2017-04-04 14:50:37 -05:00
Maciej Pytel
1c9f64c760 e2e for cluster-autoscaler unhealthy cluster handling
Moved testUnderNetworkFailure function to framework,
so it can be reused.
2017-04-04 14:36:44 +02:00
Maciej Pytel
2630cefcce Add retries in cluster-autoscaler e2e 2017-04-04 10:28:24 +02:00
Maciej Pytel
0d666e1fcd Cluster-autoscaler multistep node drain e2e 2017-04-04 10:28:24 +02:00
Kubernetes Submit Queue
0a1385178d Merge pull request #43248 from yujuhong/pause_proc
Automatic merge from submit-queue

node e2e: improve the validate OOM score test for infra containers

The test blindly checked all "pause" processes on the node, assuming
they were all infra containers. This change takes a snapshot of all
existing "pause" processes on the node, and exclude them in the
validation. The test still relies on the fact that it runs exclusively
on the node. If that assumption changes, we will need other methods to
locate the PIDs of the infra containers.

This fixes #37580
2017-04-03 20:20:53 -07:00
Kubernetes Submit Queue
ff40d8b408 Merge pull request #43983 from mwielgus/autoscaling_e2e_dir
Automatic merge from submit-queue

Move autoscaling e2e tests to a separate directory

For fine-grain access control. Autoscaling team is expanding the e2e test coverage and the need for getting an approval for every PR is annoying. 

cc: @MaciekPytel @jszczepkowski @fgrzadkowski @wojtek-t
2017-04-03 18:12:51 -07:00
Kubernetes Submit Queue
e28cb42706 Merge pull request #42717 from andrewsykim/support-host-ip-downward-api
Automatic merge from submit-queue

Support status.hostIP in downward API

**What this PR does / why we need it**:
Exposes pod's hostIP (node IP) via downward API. 

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: 
fixes https://github.com/kubernetes/kubernetes/issues/24657

**Special notes for your reviewer**:
Not sure if there's more documentation that's needed, please point me in the right direction and I will add some :)
2017-04-03 15:48:12 -07:00
Marcin Wielgus
3f7bf0206f Extract commonly used functions from e2e/resize_nodes.go to e2e/framework 2017-04-04 00:01:20 +02:00
Slava Semushin
be78d03afb test/e2e*: add/update README.md files. 2017-04-03 19:05:50 +02:00
Marcin Wielgus
dac7b3e268 Move autoscaling e2e tests to a separate directory 2017-04-03 16:40:34 +02:00
Kubernetes Submit Queue
4a8c73a15f Merge pull request #42953 from kargakis/rm-myself
Automatic merge from submit-queue

Add/remove kargakis from a couple of places

I've replaced myself in some tests in test_owners with the actual owners of those tests and I've also picked up a bunch of deployment tests. Also due to lack of review bandwidth I am removing myself from sig_cli reviewers.

@janetkuo
2017-04-03 01:50:58 -07:00
Wojciech Tyczynski
dea98cbdd0 Don't run preserve pod IP test in userspace mode 2017-04-03 08:15:22 +02:00
Michail Kargakis
a65c66ac1f Remove recreate test out of the flaky suite 2017-04-02 20:06:26 +02:00
Kubernetes Submit Queue
25a87fa19c Merge pull request #40804 from runcom/prepull-cri
Automatic merge from submit-queue

test/e2e_node: prepull images with CRI

Part of https://github.com/kubernetes/kubernetes/issues/40739

- This PR builds on top of #40525 (and contains one commit from #40525)
- The second commit contains a tiny change in the `Makefile`.
- Third commit is a patch to be able to prepull images using the CRI (as opposed to run `docker` to pull images which doesn't make sense if you're using CRI most of the times)

Marked WIP till #40525 makes its way into master

@Random-Liu @lucab @yujuhong @mrunalp @rhatdan
2017-04-01 03:08:35 -07:00
Antonio Murdaca
2634f57f7f test/e2e_node: prepull images with CRI
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2017-04-01 10:18:56 +02:00
Kubernetes Submit Queue
659ea8708f Merge pull request #43407 from sjenning/selinux-npd-refactor
Automatic merge from submit-queue

tests: e2e-node: refactor node-problem-detector test to avoid selinux…

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

This test creates a file in /tmp on the host and creates a HostPath volume in the container to so that the host can inject messages into the logfile being read by the node problem detector in the container.  However, selinux prohibits the container from reading files out of /tmp on the host.

This PR modifies the test to create the log file in an EmptyDir volume instead, which will be properly labeled for container access.

@derekwaynecarr
2017-03-31 18:30:46 -07:00
Kubernetes Submit Queue
682f68df70 Merge pull request #43926 from derekwaynecarr/update-approvers
Automatic merge from submit-queue

Add derekwaynecarr to approvers list for test/e2e_node

I am a maintainer and have approve rights in `pkg/kubelet`.

/cc @vishh
2017-03-31 15:53:19 -07:00
Kubernetes Submit Queue
7a03a095d2 Merge pull request #42667 from vmware/e2eTestUpdate-v5
Automatic merge from submit-queue (batch tested with PRs 42667, 43923)

Adding test to perform volume operations storm

**What this PR does / why we need it**:
Adding new test to perform volume operations storm
Test Steps
1. Create storage class for thin Provisioning.
2. Create 30 PVCs using above storage class in annotation, requesting 2 GB files.
3. Wait until all disks are ready and all PVs and PVCs get bind. (**CreateVolume** storm)
4. Create pod to mount volumes using PVCs created in step 2. (**AttachDisk** storm)
5. Wait for pod status to be running.
6. Verify all volumes accessible and available in the pod.
7. Delete pod.
8. wait until volumes gets detached. (**DetachDisk** storm)
9. Delete all PVCs. This should delete all Disks. (**DeleteVolume** storm)
10. Delete storage class.

This test will help validate issue reported at https://github.com/vmware/kubernetes/issues/71

**Which issue this PR fixes**
fixes #

**Special notes for your reviewer**:
executed test on 1.5.3 release with `VOLUME_OPS_SCALE` set to `5`
Will execute test with the changes made on PR - https://github.com/kubernetes/kubernetes/pull/42422, with the  `VOLUME_OPS_SCALE` set to `30`

**Release note**:

```release-note
None
```

cc: @abrarshivani @BaluDontu @tusharnt @pdhamdhere @luomiao @kerneltime
2017-03-31 15:11:17 -07:00
Derek Carr
7ded90eafb Add derekwaynecarr to approvers list for test/e2e_node 2017-03-31 18:00:15 -04:00