Commit Graph

265 Commits

Author SHA1 Message Date
Dr. Stefan Schimanski
458d2b2fe4 Add verb support for discovery client 2016-12-05 12:36:05 +01:00
Clayton Coleman
3454a8d52c
refactor: update bazel, codec, and gofmt 2016-12-03 19:10:53 -05:00
Clayton Coleman
5df8cc39c9
refactor: generated 2016-12-03 19:10:46 -05:00
Clayton Coleman
7aacb61fe1
Revert "test: update rollover test to wait for available rs before adopting"
This reverts commit 5b7bf78f3f.
2016-12-03 14:42:50 -05:00
Kubernetes Submit Queue
8bf1ae8313 Merge pull request #37094 from sjug/reshuffle_gobindata_dep
Automatic merge from submit-queue (batch tested with PRs 37094, 37663, 37442, 37808, 37826)

Moved gobindata, refactored ReadOrDie refs

**What this PR does / why we need it**: Having gobindata inside of test/e2e/framework prevents external projects from importing the framework. Moving it out and managing refs fixes this problem.

**Which issue this PR fixes**: fixes #37007
2016-12-03 04:27:46 -08:00
Kubernetes Submit Queue
0ca2b4cbf1 Merge pull request #37258 from timstclair/apparmor-test
Automatic merge from submit-queue (batch tested with PRs 37997, 37939, 37990, 36700, 37258)

Add cluster-level AppArmor E2E test

My goal is to reuse this test for an automated cluster upgrade test.
2016-12-02 19:26:52 -08:00
Kubernetes Submit Queue
d71154b910 Merge pull request #36439 from kargakis/update-rollover-test
Automatic merge from submit-queue

test: update rollover test to wait for available rs before adopting

Scenario that happened in https://github.com/kubernetes/kubernetes/issues/35355#issuecomment-257808460

-- Replica set that is about to be adopted has 2 out of 4 ready replicas
-- Deployment is created with 4 replicas, adopts pre-existing replica set, creates a new one, and starts rolling replicas over to the new replica set.
```
Nov  2 01:38:17.088: INFO: At 2016-11-02 01:38:04 -0700 PDT - event for test-rollover-deployment: {deployment-controller } ScalingReplicaSet: Scaled down replica set test-rollover-controller to 3
Nov  2 01:38:17.088: INFO: At 2016-11-02 01:38:04 -0700 PDT - event for test-rollover-deployment: {deployment-controller } ScalingReplicaSet: Scaled up replica set test-rollover-deployment-2505289747 to 1
Nov  2 01:38:17.088: INFO: At 2016-11-02 01:38:04 -0700 PDT - event for test-rollover-deployment-2505289747: {replicaset-controller } SuccessfulCreate: Created pod: test-rollover-deployment-2505289747-iuiei
Nov  2 01:38:17.088: INFO: At 2016-11-02 01:38:04 -0700 PDT - event for test-rollover-deployment-2505289747-iuiei: {default-scheduler } Scheduled: Successfully assigned test-rollover-deployment-2505289747-iuiei to gke-jenkins-e2e-default-pool-33c0400e-6q5m
Nov  2 01:38:17.088: INFO: At 2016-11-02 01:38:05 -0700 PDT - event for test-rollover-deployment: {deployment-controller } ScalingReplicaSet: Scaled up replica set test-rollover-deployment-2505289747 to 2
```
At this point there is no minimum availability for the Deployment (maxUnavailable is 1 meaning desired minimum available is 3 but we only have 2), and the new replica set uses a non-existent image. New replica set is scaled up to 1 (maxSurge is 1), then old replica set is scaled down by one, because cleanupUnhealthyReplicas observes that it has 2 unhealthy replicas - it can only scale down one though because the [maximum replicas it can cleanup is one](d87dfa2723/pkg/controller/deployment/rolling.go (L125)) (4+1-3-1). New replica set is scaled to 2. Available replicas are still 2 (third replica from the old replica set has yet to come up).
-- Deployment is rolled over with a new update. Test reaches for the WaitForDeploymentStatus check but there are only 2 availableReplicas (maxUnavailable is still violated).

This change makes the test wait for a healthy replica set before proceeding thus it should never hit the scenario described above.

@kubernetes/deployment
2016-12-02 12:48:44 -08:00
Tim St. Clair
9ea7e0af26
Add cluster-level AppArmor E2E test 2016-12-02 10:37:28 -08:00
Sebastian Jug
79202656bc - Moved gobindata, refactored ReadOrDie refs
- Remaining spaghetti untangled
- Missed bazel update and a few hardcoded refs
- New instance of framework.ReadOrDie reference removed post rebase
- Resolve new clientset rebase
- Fixed e2e/generated BUILD dep
- A space
- Missed gobindata ref in golang.sh
2016-12-02 12:57:03 -05:00
Marcin Wielgus
cf92f1cdba Skip some disruption e2e test in big clusters 2016-12-01 14:26:38 +01:00
Kubernetes Submit Queue
737edd02a4 Merge pull request #35258 from feiskyer/package-aliase
Automatic merge from submit-queue

Fix package aliases to follow golang convention

Some package aliases are not not align with golang convention https://blog.golang.org/package-names. This PR fixes them. Also adds a verify script and presubmit checks.

Fixes #35070.

cc/ @timstclair @Random-Liu
2016-11-30 16:39:46 -08:00
Pengfei Ni
f584ed4398 Fix package aliases to follow golang convention 2016-11-30 15:40:50 +08:00
Michael Taufen
f789ecdcaf Fix nil pointer dereference in test framework
Checking the result.Code prior to err in the if statement causes a panic
if result is nil. It turns out the formatting of the error is already in
IssueSSHCommandWithResult, so removing redundant code is enough to fix
the issue. Logging the SSH result was also redundant, so I removed that
as well.
2016-11-28 14:44:51 -08:00
Michail Kargakis
5b7bf78f3f test: update rollover test to wait for available rs before adopting 2016-11-28 14:00:59 +01:00
Clayton Coleman
35a6bfbcee
generated: refactor 2016-11-23 22:30:47 -06:00
Chao Xu
a55c71db4d test/e2e 2016-11-23 15:53:09 -08:00
Kris
1614b97725 Guard the ready replica checking by server version
This disables ready replica checking for 1.3 masters, but only from 1.4
or 1.5 clients. The old logic was broken anyway due to overlapping
labels with replica sets.
2016-11-22 11:16:15 -08:00
Jerzy Szczepkowski
69dc4b0fc5 E2E tests cleanup: moved generation of regexp for master replica to a separate function.
E2E tests cleanup: moved generation of regexp for master replica to a separate function.
2016-11-22 14:52:33 +01:00
Jerzy Szczepkowski
d01998f5fa Fixed e2e tests for HA master.
Set of fixes that allows HA master e2e tests to pass for removal/addition of master replicas.
2016-11-22 12:03:28 +01:00
Kubernetes Submit Queue
2b86ed3f90 Merge pull request #37077 from soltysh/issue34585
Automatic merge from submit-queue

Retry job update after failure to prevent modification conflict

This fixes #34585 flake.

@janetkuo || @kubernetes/sig-apps  ptal

I've been getting too many emails recently wrt to that issue, so I wanted to "clean" my inbox a bit 😉
2016-11-19 12:43:14 -08:00
Maciej Szulik
b253c20d80 Retry job update after failure to prevent modification conflict 2016-11-19 19:40:08 +01:00
Wojciech Tyczynski
d549ece3b2 Extend logging for unschedulable nodes 2016-11-18 14:49:32 +01:00
Kubernetes Submit Queue
08204bea62 Merge pull request #36849 from janetkuo/e2e-statefulset-update
Automatic merge from submit-queue

Add e2e test for statefulset updates

Verify that one can (manually) update statefulset template 

cc @erictune @foxish @kow3ns @kubernetes/sig-apps
2016-11-17 10:12:21 -08:00
gmarek
eecc840074 Delete taint annotation when removing last taint 2016-11-17 16:02:34 +01:00
Kris
5a87385342 Replace controller presence checking logic 2016-11-16 16:12:26 -08:00
Janet Kuo
45de9fbe34 Add e2e test for statefulset updates 2016-11-15 14:55:08 -08:00
Davanum Srinivas
d4a912208d Cleanup pod in MatchContainerOutput
MatchContainerOutput always creates a pod and does not cleanup. We need
to fix this to be better at re-trying the scenarios.

When there is an error say in the first attempt of ExpectNoErrorWithRetries
(for example in "Pods should contain environment variables for services" test)
the retries logic calls MatchContainerOutput another time and the
podClient.create fails correctly since the pod was not cleaned up the
first time MatchContainerOutput was called.

Fixes #35089
2016-11-14 20:36:13 -05:00
Kubernetes Submit Queue
1bc5b822cd Merge pull request #36479 from Random-Liu/node-e2e-node-name
Automatic merge from submit-queue

Node Conformance & E2E: Get node name from node object.

This PR changes the node e2e test framework to get node name from apiserver instead of test flags.

When a user tried out the node conformance test, he found that node conformance test will not work properly if kubelet is started with `hostname-override`.

The reason is that node conformance test is using [the default node name - `os.Hostname`](https://github.com/kubernetes/kubernetes/blob/master/test/e2e_node/e2e_node_suite_test.go#L124), which may be different from `hostname-override`. This will cause test pods not scheduled, and eventually test timeout.

We can expose a flag from node conformance test, and let user set node name themselves if they are using `hostname-override` on kubelet. However, let the framework automatically detect it from apiserver is more user friendly.

/cc @kubernetes/sig-node 
This PR 1) only changes node e2e test framework; 2) fixes a problem in node conformance test which is a 1.5 feature. @saad-ali Can we have this in 1.5?
2016-11-10 18:56:53 -08:00
Random-Liu
1c70c899f7 Get node name from node object. 2016-11-10 14:25:50 -08:00
Zihong Zheng
68f7a739c0 Modifies Rescheduler e2e test for the new dashboard addon 2016-11-09 09:17:05 -08:00
Wojciech Tyczynski
3ed6ea96c0 Increase initialization timeout for podStore 2016-11-09 16:32:58 +01:00
Kubernetes Submit Queue
a2bf827e18 Merge pull request #36154 from m1093782566/m109-fix-del-ns
Automatic merge from submit-queue

fix e2e delete namespace bug

<!--  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:**

Fix `CreateNamespace()` bug in `test/e2e/framework/framework.go`.

**Why:**

If we successfully create a namespace but fail to create a ServiceAccount in it, we should delete the namespace after test.

The current implement of `CreateNamespace()` int e2e test will forget to delete the namespace which we fail to create serviceAccount in it(but the namespace has been successfully created!).
2016-11-08 07:18:24 -08:00
Kubernetes Submit Queue
a811515d34 Merge pull request #35691 from kargakis/controller-changes-for-perma-failed
Automatic merge from submit-queue

Controller changes for perma failed deployments

This PR adds support for reporting failed deployments based on a timeout
parameter defined in the spec. If there is no progress for the amount
of time defined as progressDeadlineSeconds then the deployment will be
marked as failed by a Progressing condition with a ProgressDeadlineExceeded
reason.

Follow-up to https://github.com/kubernetes/kubernetes/pull/19343

Docs at kubernetes/kubernetes.github.io#1337

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

@kubernetes/deployment @smarterclayton
2016-11-04 14:49:43 -07:00
Kubernetes Submit Queue
3adc580278 Merge pull request #36208 from bprashanth/curl_timeout
Automatic merge from submit-queue

Stricter timeouts for nodePort curling

If the timeouts are indeed because of  https://github.com/kubernetes/kubernetes/issues/34665#issuecomment-258021964, stricter timeouts will probably surface as a more isolated failure
2016-11-04 10:29:21 -07:00
Michail Kargakis
de8214ad4d test: e2e tests for perma-failed deployments 2016-11-04 13:36:46 +01:00
Kubernetes Submit Queue
929d3f74e8 Merge pull request #34645 from kargakis/rs-conditions-controller-changes
Automatic merge from submit-queue

Replica set conditions controller changes

Follow-up to https://github.com/kubernetes/kubernetes/pull/33905, partially addresses https://github.com/kubernetes/kubernetes/issues/32863.

@smarterclayton @soltysh @bgrant0607 @mfojtik I just need to add e2e tests
2016-11-04 04:21:10 -07:00
bprashanth
024299780e Stricter timeouts for nodePort curling 2016-11-03 22:31:39 -07:00
Bowei Du
a06fc6ab7a Adds TCPCloseWaitTimeout option to kube-proxy for sysctl nf_conntrack_tcp_timeout_time_wait
Fixes issue-32551
2016-11-03 22:07:02 -07:00
Anirudh
9d0f1c2448 Added a sleep for the podGC to catch up.
The functionality used to exist entirely in the NC which would
previously clean up pods and nodes together. Now, we simply
wait for the PodGC to see that the node is now deleted and clean up the
pods. This may take a while and hence we set a 1 minute timeout.
2016-11-03 16:55:38 -07:00
m1093782566
0b62cc7f54 fix e2e delete namespace bug 2016-11-03 21:19:08 +08:00
Michail Kargakis
2491216222 Replica set/rc controller changes for Conditions 2016-11-02 10:30:09 +01:00
Kubernetes Submit Queue
49e7d640d9 Merge pull request #35235 from foxish/node-controller-no-force-deletion
Automatic merge from submit-queue

Node controller to not force delete pods

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

- [x] e2e tests to test Petset, RC, Job.
- [x] Remove and cover other locations where we force-delete pods within the NodeController.

**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
Node controller no longer force-deletes pods from the api-server.

* For StatefulSet (previously PetSet), this change means creation of replacement pods is blocked until old pods are definitely not running (indicated either by the kubelet returning from partitioned state, or deletion of the Node object, or deletion of the instance in the cloud provider, or force deletion of the pod from the api-server). This has the desirable outcome of "fencing" to prevent "split brain" scenarios.
* For all other existing controllers except StatefulSet , this has no effect on the ability of the controller to replace pods because the controllers do not reuse pod names (they use generate-name).
* User-written controllers that reuse names of pod objects should evaluate this change.
```
2016-11-01 20:08:57 -07:00
Anirudh
71941016c1 Fix old e2e tests, refactor and add new e2e tests. 2016-11-01 11:46:13 -07:00
Zach Loafman
155a601425 e2e: Fix GetReadySchedulableNodesOrDie for taints
This changes framework.GetReadySchedulableNodesOrDie and
framework.GetMasterAndWorkerNodesOrDie so that nodes that can't take a
generic fake pod due to a taint/toleration mismatch aren't returned.

This is a rehash of #35210, but pulls in the scheduler code.
2016-11-01 09:40:02 -07:00
Kubernetes Submit Queue
5423eaf431 Merge pull request #35431 from deads2k/client-16-remove-old
Automatic merge from submit-queue

remove the non-generated client

Removes the non-generated client from kube.  The package has a few methods left, but nothing that needs updating when adding new groups.

@ingvagabund
2016-10-27 05:12:33 -07:00
gmarek
b8a83b983f Remove outdated parts of density test 2016-10-27 11:37:26 +02:00
Kubernetes Submit Queue
e190fec59e Merge pull request #35128 from wongma7/wait-restartpolicy
Automatic merge from submit-queue

Set done to true & return error if RestartPolicy not Always in test framework

Found a small issue with https://github.com/kubernetes/kubernetes/pull/34632, it returns an error if the RestartPolicy is not Always, but the user will never see it because done isn't set to true & they will timeout instead.

@Random-Liu because you wrote that PR
2016-10-27 01:27:56 -07:00
Kubernetes Submit Queue
dcdbf27d4f Merge pull request #34648 from nikhiljindal/NSCasDel
Automatic merge from submit-queue

Adding cascading deletion support to federated namespaces

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

With this change, whenever a federated namespace is deleted with `DeleteOptions.OrphanDependents = false`, then federation namespace controller first deletes the corresponding namespaces from all underlying clusters before deleting the federated namespace.

cc @kubernetes/sig-cluster-federation @caesarxuchao


```release-note
Adding support for DeleteOptions.OrphanDependents for federated namespaces. Setting it to false while deleting a federated namespace also deletes the corresponding namespace from all registered clusters.
```
2016-10-26 21:04:03 -07:00
nikhiljindal
f955d556f8 Adding cascading deletion support to federated namespaces 2016-10-26 16:54:12 -07:00
deads2k
81ae13084d handle non-generated client removal 2016-10-26 16:10:41 -04:00