Commit Graph

1149 Commits (7b6aa0904695f31900a751b10d2c7678a377fc07)

Author SHA1 Message Date
Yu-Ju Hong f33c37e102 e2e: Add tests for network tiers in GCE 2017-08-28 18:40:20 -07:00
Serguei Bezverkhi d904e52570 Adding e2e SELinux test for local storage
Also changing provisioner bootstrapper frpm Pod to Job
2017-08-28 19:12:17 -04:00
Kubernetes Submit Queue b65d665b99 Merge pull request #51264 from m1093782566/e2e-maxTries
Automatic merge from submit-queue (batch tested with PRs 50889, 51347, 50582, 51297, 51264)

Fix e2e network util wrong output message

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

See https://github.com/kubernetes/kubernetes/blob/master/test/e2e/framework/networking_utils.go#L217

and 

https://github.com/kubernetes/kubernetes/blob/master/test/e2e/framework/networking_utils.go#L273

I assume it should be `minTries` -> `MaxTries`

This PR fixes the wrong output message.

**Which issue this PR fixes**: fixes #51265

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-08-25 22:43:37 -07: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
Kubernetes Submit Queue 81363abc20 Merge pull request #51230 from enisoc/sts-deflake-exec
Automatic merge from submit-queue (batch tested with PRs 50213, 50707, 49502, 51230, 50848)

StatefulSet: Deflake e2e `kubectl exec` commands.

This may help with another source of flakiness found while investigating #48031.

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-25 01:10:35 -07:00
Kubernetes Submit Queue ce3e2d9b10 Merge pull request #51224 from enisoc/sts-deflake-restart
Automatic merge from submit-queue (batch tested with PRs 51224, 51191, 51158, 50669, 51222)

StatefulSet: Deflake e2e "restart" phase.

This addresses another source of flakiness found while investigating #48031.

The test used to scale the StatefulSet down to 0, wait for ListPods to return 0 matching Pods, and then scale the StatefulSet back up.

This was prone to a race in which StatefulSet was told to scale back up before it had observed its own deletion of the last Pod, as evidenced by logs showing the creation of Pod ss-1 prior to the creation of the replacement Pod ss-0.

Instead, we now wait for the controller to observe all deletions before scaling it back up. This should fix flakes of the form:

```
Too many pods scheduled, expected 1 got 2
```
2017-08-24 22:59:28 -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
m1093782566 b8edd9b885 fix e2e network wrong output message 2017-08-24 19:39:42 +08:00
m1093782566 4356b49415 e2e test session affinity 2017-08-24 19:36:49 +08:00
Kubernetes Submit Queue db928095a0 Merge pull request #50947 from shyamjvs/clusterIpRange-ginkgo
Automatic merge from submit-queue (batch tested with PRs 51108, 51035, 50539, 51160, 50947)

Auto-calculate CLUSTER_IP_RANGE based on cluster size

In preparation for eliminating CLUSTER_IP_RANGE env var from job configs, making it less error prone while folks try to start their own large cluster tests (https://github.com/kubernetes/kubernetes/issues/50907).

/cc @kubernetes/sig-scalability-misc @wojtek-t @gmarek
2017-08-24 02:32:14 -07:00
Anthony Yeh ce3fad326f
StatefulSet: Deflake e2e "restart" phase.
The test used to scale the StatefulSet down to 0, wait for ListPods to
return 0 matching Pods, and then scale the StatefulSet back up.

This was prone to a race in which StatefulSet was told to scale back up
before it had observed its own deletion of the last Pod, as evidenced by
logs showing the creation of Pod ss-1 prior to the creation of the
replacement Pod ss-0.

We now wait for the controller to observe all deletions before
scaling it back up. This should fix flakes of the form:

```
Too many pods scheduled, expected 1 got 2
```
2017-08-23 15:08:58 -07:00
Kubernetes Submit Queue a44e538dbc Merge pull request #51039 from enisoc/deflake-sts-saturate
Automatic merge from submit-queue

StatefulSet: Deflake e2e "Saturate" phase.

This should reduce one source of flakiness found while investigating #48031.

The "Saturate" phase of StatefulSet e2e tests verifies orderly startup by controlling when each Pod is allowed to report Ready. If a Pod unexepectedly goes down during the test, the replacement Pod
created by the controller will forget if it was already allowed to report Ready.

After this change, the signal that allows each Pod to report Ready is persisted in the Pod's PVC. Thus, the replacement Pod will remember that it was already told to proceed to a Ready state.
2017-08-22 21:13:13 -07:00
Kubernetes Submit Queue fdf14b8218 Merge pull request #50913 from shyamjvs/list-call-slo
Automatic merge from submit-queue (batch tested with PRs 50893, 50913, 50963, 50629, 50640)

Increase latency threshold for list api calls

This is only a short-term solution to make our density test green. In the long-term, we should measure as per our new SLIs.
From @wojtek-t's [doc](https://docs.google.com/document/d/1Q5qxdeBPgTTIXZxdsFILg7kgqWhvOwY8uROEf0j5YBw) on the new SLIs/SLOs, we have the following SLO for list calls:

```
SLO1: In default Kubernetes installation, 99th percentile of SLI2 per cluster-day:
<= 1s if total number of objects of the same type as resource in the system <= X
<= 5s if total number of objects of the same type as resource in the system <= Y
<= 30s if total number of objects of the same types as resource in the system <= Z
```

I would guess that 170,000 pods would fall into the 2nd bracket (at least) and hence the new value of 5s. WDYT?

cc @kubernetes/sig-scalability-misc @wojtek-t @gmarek
2017-08-22 05:31:07 -07:00
Anthony Yeh 3bc7676024
StatefulSet: Deflake e2e "Saturate" phase.
The "Saturate" phase of StatefulSet e2e tests verifies orderly startup
by controlling when each Pod is allowed to report Ready.
If a Pod unexepectedly goes down during the test, the replacement Pod
created by the controller will forget if it was already allowed to
report Ready.

After this change, the signal that allows each Pod to report Ready is
persisted in the Pod's PVC. Thus, the replacement Pod will remember that
it was already told to proceed to a Ready state.
2017-08-21 13:52:15 -07:00
Shyam Jeedigunta bacc01f729 Auto-calculate CLUSTER_IP_RANGE based on no. of nodes 2017-08-21 14:21:43 +02:00
Kubernetes Submit Queue b59ad9cbff Merge pull request #50146 from gmarek/deepcopyinto
Automatic merge from submit-queue (batch tested with PRs 46512, 50146)

Make metav1.(Micro)?Time functions take pointers

Is there any reason for those functions not to be on pointers?
2017-08-19 11:28:15 -07:00
Shyam Jeedigunta 70123e71bb Increase latency threshold for list api calls 2017-08-19 00:55:35 +02:00
Walter Fender cb28f0f34f Add e2e aggregator test.
What this PR does / why we need it:
This adds an e2e test for aggregation based on the sample-apiserver.
Currently is uses a sample-apiserver built as of 1.7.
This should ensure that the aggregation system works end-to-end.
It will also help detect if we break "old" extension api servers.

Which issue this PR fixes (optional, in fixes #<issue number>(, fixes
fixes #43714
Fixed bazel for the change.
Fixed # of args issue from govet.
Added code to test dynamic.Client.
2017-08-17 10:56:43 -07:00
Kubernetes Submit Queue b67b0ad7eb Merge pull request #50768 from shyamjvs/fix-scheduler-metric-in-gke
Automatic merge from submit-queue (batch tested with PRs 50550, 50768)

Don't SSH to master for metrics in case of GKE

cc @kubernetes/sig-scalability-misc @crassirostris
2017-08-17 03:13:59 -07:00
gmarek 0504cfbc25 Make metav1.(Micro)?Time functions take pointers 2017-08-17 11:24:28 +02:00
Shyam Jeedigunta a938c000e3 Don't SSH to master for metrics in case of GKE 2017-08-16 15:24:50 +02:00
Michael Taufen 24bab4c20f move KubeletConfiguration out of componentconfig API group 2017-08-15 08:12:42 -07:00
ymqytw 7500b55ce4 move retry to client-go 2017-08-14 14:16:26 -07:00
Kubernetes Submit Queue f8aee18527 Merge pull request #50484 from sbezverk/ssh_local_ips
Automatic merge from submit-queue (batch tested with PRs 49904, 50484, 50214)

Adding support for internal IP for e2e tests

Currently IssueSSHComand in util.go only checks for External IP address
to ssh, this PR adds check for internal IP too.
Closes #50630
2017-08-14 13:09:56 -07:00
Kevin f76ca1fb16 update clientset.Core() to clientset.CoreV1() in test 2017-08-14 16:53:55 +08: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 b91f19180d Merge pull request #49025 from danwinship/non-cloud-node-ip
Automatic merge from submit-queue (batch tested with PRs 50537, 49699, 50160, 49025, 50205)

When not using a CloudProvider, set both InternalIP and ExternalIP on Nodes

#36095 changed all of the cloudproviders to set both InternalIP and ExternalIP on Nodes, but the non-cloudprovider fallback code now only sets InternalIP.

This causes the test "should be able to create a functioning NodePort service" in test/e2e/service.go to fail on cloud-provider-less clusters, because (with LegacyHostIP gone), it now will only try to work with ExternalIPs, and will fail if the node has only an InternalIP.

There isn't much other code that assumes that ExternalIP will always be set (there's something in pkg/master/master.go, but I don't know what it's doing, so maybe it's only useful in the case where InternalIP != ExternalIP anyway). But given that several of the cloudproviders (mesos, ovirt, rackspace) now explicitly set both InternalIP and ExternalIP to the same value always, it seemed right to do that in the fallback case too.

@deads2k FYI

**Release note**:
```release-note
NONE
```
2017-08-11 19:44:02 -07:00
Jeff Grafton a7f49c906d Use buildozer to delete licenses() rules except under third_party/ 2017-08-11 09:32:39 -07:00
Jeff Grafton 33276f06be Use buildozer to remove deprecated automanaged tags 2017-08-11 09:31:50 -07:00
Kubernetes Submit Queue 524a0e04c4 Merge pull request #50224 from xiangpengzhao/remove-beta-annotations
Automatic merge from submit-queue

Remove deprecated ESIPP beta annotations

**What this PR does / why we need it**:
Remove deprecated ESIPP beta annotations.

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

**Special notes for your reviewer**:
/assign @MrHohn
/sig network

**Release note**:

```release-note
Beta annotations `service.beta.kubernetes.io/external-traffic` and `service.beta.kubernetes.io/healthcheck-nodeport` have been removed. Please use fields `service.spec.externalTrafficPolicy` and `service.spec.healthCheckNodePort` instead.
```
2017-08-10 22:55:54 -07: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
Kubernetes Submit Queue eb700d86c5 Merge pull request #50440 from bskiba/kubemark_e2e_open
Automatic merge from submit-queue (batch tested with PRs 45186, 50440)

Add functionality needed by Cluster Autoscaler to Kubemark Provider.

Make adding nodes asynchronous. Add method for getting target
size of node group. Add method for getting node group for node.
Factor out some common code.

**Release note**:
```
NONE
```
2017-08-10 07:31:01 -07:00
Beata Skiba 20a3756024 Add functionality needed by Cluster Autoscaler to Kubemark Provider.
Make adding nodes asynchronous. Add method for getting target
size of node group. Add method for getting node group for node.
Factor out some common code.
2017-08-10 14:37:56 +02:00
Aleksandra Malinowska 55682f2a55 add grabbing CA metrics in e2e tests 2017-08-10 11:22:45 +02:00
Kubernetes Submit Queue 7ef5cc23d1 Merge pull request #46582 from m1093782566/fix-ipt-hard-code
Automatic merge from submit-queue (batch tested with PRs 49642, 50335, 50390, 49283, 46582)

fix iptables mode hard code in e2e test

Fixes #46078
2017-08-10 00:53:28 -07:00
xiangpengzhao ea1a577358 Remove some helpers associated with ESIPP. 2017-08-09 14:25:08 +08:00
Kubernetes Submit Queue 8c4a269b83 Merge pull request #49771 from feiskyer/wait-for-failure
Automatic merge from submit-queue

Add waitForFailure for e2e test framework

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

Add waitForFailure for e2e test framework, this could reduce the reliance on logs.

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

Part of #44118. Refer https://github.com/kubernetes/kubernetes/pull/48858#discussion_r128331726

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-08-08 20:56:51 -07:00
Kubernetes Submit Queue c9d142d73d Merge pull request #49382 from bskiba/kubemark_e2e_nm
Automatic merge from submit-queue

Add a simple cloud provider for e2e tests on kubemark

**What this PR does / why we need it**:
Adds a simplified cloud provider for kubemark. This enables us to add and
remove nodes and operate on nodegroups while running tests on kubemark.

This is needed to run scalability tests for cluster autoscaler on kubemark.
See https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/proposals/kubemark_integration.md

**Release note**:
```
NONE
```
2017-08-08 08:50:07 -07:00
Kubernetes Submit Queue 0967f9560a Merge pull request #49168 from crimsonfaith91/apps-v1beta2
Automatic merge from submit-queue

StatefulSet scale subresource

**What this PR does / why we need it**: This PR implements scale subresource for StatefulSet.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
StatefulSet uses scale subresource when scaling in accord with ReplicationController, ReplicaSet, and Deployment implementations.
```
**Feature Checklist**:
- [x] Introduce Registry interface for storage purpose
- [x] Introduce `ScaleREST New(), Get() and Update()` utility functions
- [x] Create a `ScaleREST` object at `NewREST()` and return it
- [x] Enable scale subresource by adding `/scale` field to the storage map

**Testing Checklist**:
- Unit testing
  - [x] Modify `newStorage()` to call `NewStorage()`, and change all unit tests accordingly
  - [x] Add unit tests for `ScaleREST Get() and Update()` utility functions
  - [x] Add missing unit test for `ShortNames`

- Manual testing
  - [x] Verify existence of the subresource using `kubectl proxy` command
  - [x] Modify the subresource using `curl` via `POST`

- e2e testing
  - [x] Add e2e tests using `RESTClient`
2017-08-07 17:05:24 -07:00
Kubernetes Submit Queue 35eb03e3b4 Merge pull request #49524 from k82cn/k8s_49522
Automatic merge from submit-queue (batch tested with PRs 49524, 46760, 50206, 50166, 49603)

Handled taints on node in batch.

**What this PR does / why we need it**:
Enhanced helpers to handled taints on node in batch.

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

**Release note**:

```release-note
None
```
2017-08-07 13:51:54 -07:00
Jun Xiang Tee 91f100b501 implement statefulset scale subresource 2017-08-07 12:17:46 -07:00
Beata Skiba 2f747f3d3c Add a simple cloud provider for e2e tests on kubemark
This is needed for cluster autoscaler e2e test to
run on kubemark. We need the ability to add and
remove nodes and operate on nodegroups. Kubemark
does not provide this at the moment.
2017-08-07 16:31:02 +02:00
Kubernetes Submit Queue fddc7f3e50 Merge pull request #50243 from mborsz/node
Automatic merge from submit-queue (batch tested with PRs 50091, 50231, 50238, 50236, 50243)

Fix storage tests for multizone test configuration.

**What this PR does / why we need it**:
This PR modifies "[sig-storage] Volumes PD should be mountable with (ext3|ext4)" tests to schedule pods in zone, where PD is created.
This is to make the test work in multizone environment.

**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-08-07 07:15:00 -07:00
Kubernetes Submit Queue 2d5729e227 Merge pull request #50236 from crassirostris/sig-instrumentation-e2e-last-move
Automatic merge from submit-queue (batch tested with PRs 50091, 50231, 50238, 50236, 50243)

Move the sig-instrumentation test to a dedicated folder

Move the last remaining test to sig-instrumentation folder, also move "metrics" package to the "framework" folder

Related issue: https://github.com/kubernetes/kubernetes/issues/49161

/cc @xiangpengzhao @piosz
2017-08-07 07:14:58 -07:00
Kubernetes Submit Queue 969ae1ebee Merge pull request #50238 from mborsz/managed
Automatic merge from submit-queue (batch tested with PRs 50091, 50231, 50238, 50236, 50243)

Modify e2e.go to arbitrarily pick one of zones we have nodes in for multizone tests.

**What this PR does / why we need it**:
When e2e runs in multizone configuration, zone config property can be empty.
This PR, in that case, overrides an empty value with arbitrarily chosen zone that we have nodes in.

**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-08-07 07:14:56 -07:00
Klaus Ma 18ae1ba813 Handled taints on node in batch. 2017-08-07 19:29:39 +08:00
Maciej Borsz 6d789ee640 Fix storage tests for multizone test configuration. 2017-08-07 12:15:14 +02:00
Mik Vyatskov e79a228a78 Move the sig-instrumentation test to a dedicated folder 2017-08-07 10:33:03 +02:00
Maciej Borsz 7c506c6a14 Modify e2e.go to arbitrarily pick one of zones we have nodes in for
multizone tests.
2017-08-07 10:25:42 +02:00
Dr. Stefan Schimanski 83895daed1 Fix printer hack to get a versioned client 2017-08-06 15:30:13 +02:00
Mikhail Mazurskiy b28a83a4cf
Migrate to GetControllerOf from meta/v1 package 2017-08-06 22:41:58 +10:00
m1093782566 4a236f6145 use status code instead of response body for checking kube-proxy URLs 2017-08-05 11:35:32 +08:00
Kubernetes Submit Queue b070227e89 Merge pull request #48366 from wongma7/flex-e2e
Automatic merge from submit-queue (batch tested with PRs 50119, 48366, 47181, 41611, 49547)

Add basic install and mount flexvolumes e2e tests

fixes https://github.com/kubernetes/kubernetes/issues/47010

These two tests install a skeleton "dummy" flex driver, attachable and non-attachable respectively, then test that a pod can successfully use the flex driver. They are labeled disruptive because kubelet and controller-manager get restarted as part of the flex install. IMO it's important to keep this install procedure as part of the test to isolate any bugs with the startup plugin probe code.

There is a bit of an ugly dependency on cluster/gce/config-test.sh because --flex-volume-plugin-dir must be set to a dir that's readable from controller-manager container and writable by the flex e2e test. The default path is not writable on GCE masters with read-only root so I picked a location that looks okay.

In the "dummy" drivers I trick kubelet into thinking there is a mount point by doing "mount -t tmpfs none ${MNTPATH} >/dev/null 2>&1", hope that is okay.

I have only tested on GCE and theoretically they may work on AWS but I don't think there is a need to test on multiple cloudproviders.

-->
```release-note
NONE
```
2017-08-04 14:29:34 -07:00
Matthew Wong 55a417e84f Add basic install and mount flexvolumes e2e tests 2017-08-04 10:39:24 -04:00
Kubernetes Submit Queue 5465e6d99d Merge pull request #49954 from wanghaoran1988/fix47832
Automatic merge from submit-queue (batch tested with PRs 50000, 49954, 49943, 50018, 49607)

Update the DeleteReplicaSet in rs_util.go to use server side reaper

**What this PR does / why we need it**:
fix #47832
**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #47832

**Special notes for your reviewer**:

**Release note**:

```
None
```
2017-08-02 20:07:49 -07:00
Kubernetes Submit Queue b74758e0ff Merge pull request #49936 from shyamjvs/capture-only-master-metrics
Automatic merge from submit-queue (batch tested with PRs 49990, 49997, 44278, 49936, 49891)

Allow mode in e2e-framework to gather metrics only from master

This should enable getting metrics for our 5k-node clusters.

cc @kubernetes/sig-scalability-misc @gmarek
2017-08-02 10:21:48 -07:00
Kubernetes Submit Queue 23bb765498 Merge pull request #49491 from eparis/make-plus-append-is-bad
Automatic merge from submit-queue (batch tested with PRs 49898, 49897, 49919, 48860, 49491)

Fix usage a make(struct, len()) followed by append()

A couple of places in the code we allocate with make() but then use
append(), instead of copy() or direct assignment. This results in a
slice with len() zero elements at the front followed by the expected
data. The correct form for such usage is `make(struct, 0, len())`.

I found these by running:
```
$ git grep -EI -A7 'make\([^,]*, len\(' | grep 'append(' -B7 | grep -v vendor
```
And then manually looking through the results. I'm sure something better
could exist.

**Release note**:
```release-note
NONE
```
2017-08-01 17:57:20 -07:00
Haoran Wang 95ae7396df Update the DeleteReplicaSet in rs_util.go to use server side reaper 2017-08-01 22:52:30 +08:00
Shyam Jeedigunta 82f1012e74 Allow mode in e2e-framework to gather metrics only from master 2017-08-01 12:00:52 +02: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
Eric Paris 5e22e149c5 Fix usage a make(struct, len()) followed by append()
A couple of places in the code we allocate with make() but then use
append(), instead of copy() or direct assignment. This results in a
slice with len() zero elements at the front followed by the expected
data. The correct form for such usage is `make(struct, 0, len())`.

I found these by running:
```
$ git grep -EI -A7 'make\([^,]*, len\(' | grep 'append(' -B7 | grep -v vendor
```
And then manually looking through the results. I'm sure something better
could exist.
2017-07-31 14:43:29 -04:00
Kubernetes Submit Queue ba8b26d47a Merge pull request #49708 from mborsz/regional
Automatic merge from submit-queue (batch tested with PRs 49538, 49708, 47665, 49750, 49528)

Add a support for GKE regional clusters in e2e tests.

**What this PR does / why we need it**:
Add a support for GKE regional clusters in e2e tests.
**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-07-29 05:28:51 -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
Maciej Borsz 7822b5d9fd Add a support for GKE regional clusters in e2e tests. 2017-07-28 11:42:54 +02:00
Pengfei Ni 983ecaa73d Add waitForFailure for e2e test framework 2017-07-28 17:15:43 +08: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
Kubernetes Submit Queue c25a7e6a75 Merge pull request #49341 from nicksardo/ilb-e2e
Automatic merge from submit-queue (batch tested with PRs 48846, 49483, 49341)

GCE: ILB E2E test

/assign @bowei 

**Release note**:
```release-note
NONE
```
2017-07-24 23:55:13 -07:00
Nick Sardo e6bad4406f Test GCE ILB functionality 2017-07-24 14:13:41 -07:00
Anthony Yeh 48e8370674
StatefulSet: Stop using `initialized` annotation in e2e tests.
Instead, use Readiness to pause and resume individual Pods to verify
that the StatefulSet controller performs the right actions one at a
time.
2017-07-24 10:18:47 -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
Kubernetes Submit Queue ae1ff1a2d4 Merge pull request #48746 from janetkuo/apps-v1beta2
Automatic merge from submit-queue

Add a new API version apps/v1beta2

xref: #49135
This PR adds a new API version `apps/v1beta2` which contains a copy (of types, conversions, and defaults) of `apps/v1beta1` StatefulSet, Deployment, and their subresources. Note that `apps/v1beta2` is still WIP and we will make breaking changes to it before releasing 1.8.

Moving core controllers (StatefulSet, Deployment, ReplicaSet, DaemonSet) to `apps/v1beta2` is the first step of moving them to `apps/v1` (GA). 

This PR is a starting point for DaemonSet and ReplicaSet to move from `/extensions` to `/apps` and for Deployment and StatefulSet to make some breaking changes (e.g. new defaults and/or remove deprecated fields).

```release-note
Add a new API version apps/v1beta2
```
2017-07-21 11:47:21 -07:00
Janet Kuo ae20c7e743 Use AppsV1beta1 instead of Apps clienset
Apps clientset refers to AppsV1beta2 after apps/v1beta2 is created. Use
AppsV1beta1 for now before switching everything to AppsV1beta2.
2017-07-20 14:16:42 -07:00
ymqytw 9b393a83d4 update godep 2017-07-20 11:03:49 -07: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
Kubernetes Submit Queue c9f8c26209 Merge pull request #49125 from abgworrall/handle-gke-clusters
Automatic merge from submit-queue (batch tested with PRs 47509, 46821, 45319, 49121, 49125)

Tolerate a missing MasterName (for GKE)

When testing, GKE created clusters don't provide a `MasterName`, so don't throw a warning and give up when that happens.

```release-note
NONE
```
2017-07-19 16:16:32 -07:00
Kubernetes Submit Queue 76c474eb99 Merge pull request #46821 from jeffvance/e2e-io
Automatic merge from submit-queue (batch tested with PRs 47509, 46821, 45319, 49121, 49125)

volume i/o tests for storage plugins

**What this PR does / why we need it**:
Addresses issues [25268](https://github.com/kubernetes/kubernetes/issues/25268) and [28367](https://github.com/kubernetes/kubernetes/issues/28367), though it may be weak re. the streaming i/o issue. @matchstick 

**Special notes for your reviewer**:
This is a new file. Plugins other than NFS, GlusterFS, iSCSI, and Ceph-RBD code will need to be supported in a separate PR.

```release-note
NONE
```
2017-07-19 16:16:26 -07:00
ravisantoshgudimetla b01a1c3881 Build files generated 2017-07-19 18:36:12 -04: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
Kubernetes Submit Queue 2faf7ff2bc Merge pull request #36238 from resouer/eclass-2-dev
Automatic merge from submit-queue (batch tested with PRs 48043, 48200, 49139, 36238, 49130)

Implement equivalence cache by caching and re-using predicate result

The last part of #30844, I opened a new PR instead of overwrite the old one because we changed some basic assumption by allowing invalidating equivalence cache item by individual predicate.

The idea of this PR is based on discussion in https://github.com/kubernetes/kubernetes/issues/32024

- [x]  Pods belong to same controllerRef considered to be equivalent
- [x] ` podFitsOnNode` will use cached predicate result if it's available
- [x] Equivalence cache will be updated when if a fresh new predicate is done
- [x] `factory.go` will invalid specific predicate cache(s) based on the object change
- [x] Since `schedule` and `bind` are async, we need to optimistically invalid affected cache(s) before `bind`
- [x] Fully unit test of affected files
- [x] e2e test to verify cache update/invalid workflow
- [x] performance test results

- [x] Some nits fixes related but expected to result in `needs-rebase` so they are split to: #36060 #35968 #37512

cc @wojtek-t @davidopp
2017-07-19 01:57:32 -07:00
jeff vance a113d8ac41 volume i/o tests for storage plugins 2017-07-18 17:59:15 -07:00
Shyam Jeedigunta 5cdedd22cf Pass logexporter config through e2e framework 2017-07-18 23:28:06 +02:00
Adam Worrall 14091e4043 Tolerate a missing MasterName (for GKE)
GKE created clusters don't provide a MasterName, so don't
throw a warning and give up when that happens.
2017-07-18 09:55:15 -07: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
xiangpengzhao 01daf707c5 Refactor: pkg/util into sub-pkgs 2017-07-18 14:34:08 +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
Dan Winship 9377a4bf32 Update some tests to fall back to InternalIP if ExternalIP isn't set 2017-07-17 16:37:16 -04:00
Kubernetes Submit Queue 9e97b5249b Merge pull request #46360 from khenidak/azure-pd-final
Automatic merge from submit-queue

Azure PD (Managed/Blob)

This is exactly the same code as this [PR](https://github.com/kubernetes/kubernetes/pull/41950). It has a clean set of generated items. We created a separate PR to accelerate the accept/merge the PR

CC @colemickens 
CC @brendandburns 

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

1. Adds K8S support for Azure Managed Disks. 
2. Adds support for dedicated blob disks (1:1 to storage account) in addition to shared blob disks (n:1 to storage account). 
3. Automatically manages the underlying storage accounts. New storage accounts are created at 50% utilization. Max is 100 disks, 60 disks per storage account.    
2. Addresses the current issues with Blob Disks:
..* Significantly faster attach process. Disks are now usually available for pods on nodes under 30 sec if formatted, under a min if not formatted. 
..* Adds support to move disks between nodes.
..* Adds consistent attach/detach behavior, checks if the disk is leased/attached on a different node before attempting to attach to target nodes.
..* Fixes a random hang behavior on Azure VMs during mount/format (for both blob + managed disks).
..* Fixes a potential conflict by avoiding the use of disk names for mount paths. The new plugin uses hashed disk uri for mount path.  

The existing AzureDisk is used as is. Additional "kind" property was added  allowing the user to decide if the pd will be shared, dedicated or managed (Azure Managed Disks are used).

Due to the change in mounting paths, existing PDs need to be recreated as PV or PVCs on the new plugin.
2017-07-14 09:57:51 -07:00
Kubernetes Submit Queue ca0a868823 Merge pull request #48651 from shyamjvs/logexporter-supporter
Automatic merge from submit-queue (batch tested with PRs 48864, 48651, 47703)

Enable logexporter mechanism to dump logs from k8s nodes to GCS directly

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

This adds support for logexporter from k8s side. Next I'll send a PR adding support from test-infra side.

/cc @kubernetes/sig-scalability-misc @kubernetes/test-infra-maintainers @fejta @wojtek-t @gmarek
2017-07-14 03:10:45 -07:00
Khaled Henidak & Andy Zhang 677e593d86 Add Azure managed disk support 2017-07-14 14:09:44 +08:00
Kubernetes Submit Queue a14abaabab Merge pull request #48824 from yguo0905/docker-validation
Automatic merge from submit-queue (batch tested with PRs 48082, 48815, 48901, 48824)

Add test image name to the OS image field of the perf metrics

I'd like to add the resource usage benchmarks for COS m60 (docker 1.13.1) but don't want to remove the existing m59 (docker 1.11.2) [ones](https://github.com/kubernetes/kubernetes/blob/master/test/e2e_node/jenkins/benchmark/benchmark-config.yaml#L51-L71), in order to compare the results between the two docker versions.

The `image` reported in the metrics is from `Node.Status.NodeInfo.OSImage`, which is always "Container-Optimized OS from Google" (from `/etc/os-releases`) for COS. So there's no way to differentiate two milestones in the metrics.

This PR attaches the [image name](https://github.com/kubernetes/kubernetes/blob/master/test/e2e_node/jenkins/benchmark/benchmark-config.yaml#L52) to the `image` field of the metrics. So it will become "Container-Optimized OS from Google (cos-stable-59-9460-64-0)".

See the results of the test run:

[performance-memory-containervm-resource1-resource_0.json](https://storage.googleapis.com/ygg-gke-dev-bucket/e2e-node-test/ci-kubernetes-node-kubelet-benchmark/13/artifacts/performance-memory-containervm-resource1-resource_0.json)
[performance-memory-coreos-resource1-resource_0.json](https://storage.googleapis.com/ygg-gke-dev-bucket/e2e-node-test/ci-kubernetes-node-kubelet-benchmark/13/artifacts/performance-memory-coreos-resource1-resource_0.json)
[performance-memory-gci-resource1-resource_0.json](https://storage.googleapis.com/ygg-gke-dev-bucket/e2e-node-test/ci-kubernetes-node-kubelet-benchmark/13/artifacts/performance-memory-gci-resource1-resource_0.json)

**Release note**:
```
None
```

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

/sig node
/area node-e2e
/assign @dchen1107
2017-07-13 22:44:00 -07:00
Kubernetes Submit Queue 8ad1be7833 Merge pull request #44475 from freehan/checkpoint-test
Automatic merge from submit-queue

add dockershim checkpoint node e2e test

Add a bunch of disruptive cases to test kubelet/dockershim's checkpoint work flow.

Some steps are quite hacky. Not sure if there is better ways to do things.
2017-07-13 18:50:10 -07:00
Kubernetes Submit Queue 74f1943774 Merge pull request #48849 from nicksardo/gce-panic-fix
Automatic merge from submit-queue (batch tested with PRs 48555, 48849)

GCE: Fix panic when service loadbalancer has static IP address

Fixes #48848 

```release-note
Fix service controller crash loop when Service with GCP LoadBalancer uses static IP (#48848, @nicksardo)
```
2017-07-12 23:59:03 -07:00
Nick Sardo 98368d974e Remove address getter from CreateAddress(Region and Global) 2017-07-12 20:06:18 -07:00
Yang Guo b17c6a1769 Add test image name to the OS image field of the perf metrics 2017-07-12 14:51:45 -07:00
Kubernetes Submit Queue 77b6b126cb Merge pull request #48641 from smarterclayton/refactor_exec
Automatic merge from submit-queue (batch tested with PRs 48594, 47042, 48801, 48641, 48243)

Prepare to introduce websockets for exec and portforward

Refactor the code in remotecommand to better represent the structure of
what is common between portforward and exec.

Ref #48633
2017-07-12 14:08:10 -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
Clayton Coleman 12c7874c0d
Prepare to introduce websockets for exec and portforward
Refactor the code in remotecommand to better represent the structure of
what is common between portforward and exec.
2017-07-07 18:22:51 -04:00
gmarek 55880e6b4b Move metrics_grabbert to test/e2e 2017-07-07 13:13:44 +02:00
Kubernetes Submit Queue afc67bdb6c Merge pull request #48309 from MrHohn/e2e-fix-ingress-tag
Automatic merge from submit-queue

[e2e-ingress] Get node tag from instance under GKE

**What this PR does / why we need it**: Making ingress CI green again.

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

**Special notes for your reviewer**:
/assign @nicksardo 

**Release note**:

```release-note
NONE
```
2017-07-05 15:10:16 -07:00
Zihong Zheng 532a9d78ad [e2e-ingress] Get node tags from instance under GKE 2017-07-05 13:07:38 -07: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 c0337c92cc Merge pull request #47881 from cadmuxe/endpoint
Automatic merge from submit-queue (batch tested with PRs 47918, 47964, 48151, 47881, 48299)

Add ApiEndpoint support to GCE config.

**What this PR does / why we need it**:
Add the ability to change ApiEndpoint  for GCE.

**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-30 18:42:40 -07:00
Kubernetes Submit Queue 17e19dfce6 Merge pull request #48271 from shyamjvs/cluster-ip-e2e-flag
Automatic merge from submit-queue

Make cluster IP range an argument to ginkgo to fix firewall test

This should fix the failing "Firewall rule should have correct firewall rules for e2e cluster" test when using a non-default cluster IP range.
(Ref: https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/logs/ci-kubernetes-e2e-gce-enormous-cluster/13#k8sio-firewall-rule-should-have-correct-firewall-rules-for-e2e-cluster)

/cc @kubernetes/sig-network-pr-reviews @gmarek
2017-06-30 09:26:32 -07:00
Shyam Jeedigunta c1a76fbb57 Make cluster IP range an argument to ginkgo to fix firewall test 2017-06-30 16:18:18 +02:00
Kubernetes Submit Queue dc2b4e790d Merge pull request #48284 from nicksardo/ingress-ignore-delete-err
Automatic merge from submit-queue (batch tested with PRs 47850, 47835, 46197, 47250, 48284)

Do not fail on error when deleting ingress

Fixes #48239

If the api server or master is unavailable, the test should manually teardown load balancer resources. 

**Release note**:
```release-note
NONE
```
2017-06-29 15:16:47 -07:00
Kubernetes Submit Queue cc4b3cc7f5 Merge pull request #46197 from xiangpengzhao/fix-allocate-clusterip
Automatic merge from submit-queue (batch tested with PRs 47850, 47835, 46197, 47250, 48284)

Allocate clusterIP when change service type from ExternalName to ClusterIP

**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 #35354 #46190

**Special notes for your reviewer**:
/cc @smarterclayton @thockin 

**Release note**:

```release-note
NONE
```
2017-06-29 15:16:42 -07:00
Minhan Xia 6da0c11063 add dockershim checkpoint node e2e test 2017-06-29 13:26:09 -07:00
Nick Sardo 642154a7a3 Do not fail on error when deleting ingress 2017-06-29 12:05:32 -07:00
Adam Worrall f375dcf4df Write output into the correct dir 2017-06-28 18:06:55 -07:00
Kubernetes Submit Queue b353792f9c Merge pull request #48154 from krousey/upgrades
Automatic merge from submit-queue (batch tested with PRs 48214, 48154)

Adding a retry and traceroute to the master version checking

This is hitting a lot of connection refused errors in the e2e upgrade tests. We should make this more robust in case this is intermittent network errors. In the event of an error, attempt to log a traceroute to the master.

cc @kubernetes/sig-cluster-lifecycle-bugs @dchen1107 

#47379
2017-06-28 17:11:37 -07:00
Kris faf7dff763 Add traceroute logging on connection failure 2017-06-28 12:25:20 -07:00
Adam Worrall 439cb3e74f Log the OS images used during cluster creation 2017-06-28 09:44:20 -07: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
Kris 1e7384c997 Adding a retry to the master version checking 2017-06-27 12:32:43 -07:00
xiangpengzhao 415f13ea4e Modify e2e tests for service type update. 2017-06-27 12:30:40 +08:00
xiangpengzhao 4e9abca6d0 Allocate clusterIP when change service type from ExternalName to ClusterIP 2017-06-27 12:30:22 +08: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
Matthew Wong 76a72f6248 Move e2e fromManifest funcs to manifest package 2017-06-23 18:47:42 -04: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
Kubernetes Submit Queue 7ecb6cc238 Merge pull request #47095 from MrHohn/fix-e2e-firewall-multizone
Automatic merge from submit-queue (batch tested with PRs 47922, 47195, 47241, 47095, 47401)

Fix firewall e2e test for multizone CIs

Fixes #46894.

- Getting node/master tags from config instead of instance.
- Don't assume instance always run in default zone.

/assign @freehan 

**Release note**:

```release-note
NONE
```
2017-06-22 21:33:31 -07:00
Koonwah Chen 890d356d5c update e2e for GCE ApiEndpoint support 2017-06-22 14:57:21 -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
mbohlool c91a12d205 Remove all references to types.UnixUserID and types.UnixGroupID 2017-06-21 04:09:07 -07:00
Kubernetes Submit Queue fc582d4b21 Merge pull request #47756 from janetkuo/e2e-wait-rs-ready
Automatic merge from submit-queue

Poll instead of watch for ready ReplicaSets in e2e test

xref #47697
2017-06-19 20:07:56 -07:00
Janet Kuo ca877c5d33 Poll instead of watch for ready ReplicaSets in e2e test 2017-06-19 16:24:35 -07:00
Kenneth Owens b898cf81a5 Adds e2e testing RollingUpdateStatefulSetStrategy with a partition, Pod creation and deletion during update, and OnDeleteStatefulSetStrategy. 2017-06-19 06:53:46 -07:00
Ryan Hitchman 783e400d99 Use echoserver:1.6 for better debugging and XSS prevention. 2017-06-16 15:47:15 -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
Kubernetes Submit Queue d797c219b3 Merge pull request #47260 from yguo0905/perf-dash
Automatic merge from submit-queue (batch tested with PRs 47470, 47260, 47411, 46852, 46135)

Logs node e2e perf data to standalone json files

Fixes the node-dash-perf issue in https://github.com/kubernetes/kubernetes/issues/44003.

- Move perf data types to `test/e2e/perftype/perftype.go` so that the node-perf-dash can depend on.
- Logs the perf data to standalone json files so that node-perf-dash can consume it easily. A sample run of `ci-kubernetes-node-kubelet-benchmark` is at https://console.cloud.google.com/storage/browser/ygg-gke-dev-bucket/e2e-node-test/ci-kubernetes-node-kubelet-benchmark/1.

The corresponding changes in node-perf-dash is at https://github.com/kubernetes/contrib/pull/2628.

**Release note**:
`None`

/sig node
/area node-e2e
/assign @Random-Liu
2017-06-14 12:52:18 -07:00
Kubernetes Submit Queue ae8258d355 Merge pull request #47479 from mikedanese/double-timeout
Automatic merge from submit-queue (batch tested with PRs 47073, 47457, 47479)

double ns deletion timeout

Overnight for monitoring.

Ref https://github.com/kubernetes/kubernetes/issues/47135
2017-06-14 01:52:17 -07:00
Mike Danese eb32d6b5d3 double ns deletion timeout until we figure out what is causing slowness 2017-06-13 19:05:04 -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
Shyam Jeedigunta 04822a9672 Increase threshold for LIST apicall latencies to 2s 2017-06-13 15:49:01 +02:00
Kris 2ab0320745 Switch all e2es to the ginkgo wrapper 2017-06-12 14:40:11 -07:00
Kris e1877e36f7 Add a ginkgo wrapper so we can annotate panics
This allows us to include information on the panics from failures and
skips that we can use in reporting
2017-06-12 14:35:37 -07:00
Yang Guo 29b2db5af3 Logs node e2e perf data to standalone json files 2017-06-12 14:27:56 -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
Kubernetes Submit Queue 0088210363 Merge pull request #47197 from derekwaynecarr/fix-message
Automatic merge from submit-queue (batch tested with PRs 46885, 47197)

Fix e2e ns deletion message for flake analysis

**What this PR does / why we need it**:
Let's us know when pods have a missing deletion timestamp.

**Special notes for your reviewer**:
helps https://github.com/kubernetes/kubernetes/issues/47135
2017-06-08 15:46:43 -07:00
Derek Carr 152def1cc3 Fix e2e ns deletion message 2017-06-08 16:49:57 -04:00
Kubernetes Submit Queue f21cbfa309 Merge pull request #47143 from ethernetdan/net_pod_use_nodename
Automatic merge from submit-queue (batch tested with PRs 47065, 47157, 47143)

Use actual hostname when creating network e2e test pod

**What this PR does / why we need it**:
This changes a e2e framework network test Pod use the actual hostname value to match the `kubernetes.io/hostname` label in it's `NodeSelector`. Currently it assumes the Node name will match that hostname label which is not true in all environments.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: 
Fixes coreos/tectonic-installer#1018

**Release note**:

```release-note
NONE
```
2017-06-08 13:43:16 -07:00
Dan Gillespie fa67fdea1e use actual hostname in NodeSelector for network test Pod 2017-06-07 13:51:24 -07:00
shashidharatd 605b106d2d Made CleanupGCEResources explicitly take zone parameter 2017-06-08 00:02:22 +05:30
Kubernetes Submit Queue 0613ae5077 Merge pull request #46669 from kow3ns/statefulset-update
Automatic merge from submit-queue (batch tested with PRs 46235, 44786, 46833, 46756, 46669)

implements StatefulSet update

**What this PR does / why we need it**:
1. Implements rolling update for StatefulSets
2. Implements controller history for StatefulSets.
3. Makes StatefulSet status reporting consistent with DaemonSet and ReplicaSet.

https://github.com/kubernetes/features/issues/188

**Special notes for your reviewer**:

**Release note**:
```release-note
Implements rolling update for StatefulSets. Updates can be performed using the RollingUpdate, Paritioned, or OnDelete strategies. OnDelete implements the manual behavior from 1.6. status now tracks 
replicas, readyReplicas, currentReplicas, and updatedReplicas. The semantics of replicas is now consistent with DaemonSet and ReplicaSet, and readyReplicas has the semantics that replicas did prior to this release.
```
2017-06-07 00:27:53 -07:00
Kubernetes Submit Queue 25352a7fb5 Merge pull request #46997 from jlowdermilk/no-hr-gcloud
Automatic merge from submit-queue (batch tested with PRs 46997, 47021)

Don't parse human-readable output from gcloud in tests

This is the reason  `[k8s.io] Services should be able to change the type and ports of a service [Slow]` is currently failing on GKE e2e tests. For GKE jobs we run a prerelease version of gcloud, in which the default command output was changed.

gcloud's default output for commands is human readable, and is subject to change. Anything scripting against gcloud should always pass `--format=json|yaml|value(...)`  so you get standardized output.

fixes: #46918
2017-06-06 20:12:16 -07:00
Zihong Zheng 23dfe56b53 Make firewall test get tag from config instead of instance and fix multi-zone issue 2017-06-06 17:29:36 -07:00
Zihong Zheng 0acdc89d96 Pipe in GCE master/node tags through flags for e2e test 2017-06-06 17:27:07 -07:00
Kenneth Owens 1b55f57391 Implements StatefulSet update
Implements history utilities for ControllerRevision in the controller/history package
StatefulSetStatus now has additional fields for consistency with DaemonSet and Deployment
StatefulSetStatus.Replicas now represents the current number of createdPods and StatefulSetStatus.ReadyReplicas is the current number of ready Pods
2017-06-06 12:00:28 -07:00
Andrzej Wasylkowski c12f4978c2 Made WaitForReplicas and EnsureDesiredReplicas use PollImmediate and improved logging. 2017-06-06 19:52:34 +02:00
Kubernetes Submit Queue 1c64f31fdb Merge pull request #42829 from msau42/multizone_pv_tests
Automatic merge from submit-queue (batch tested with PRs 46972, 42829, 46799, 46802, 46844)

Multizone static pv test

**What this PR does / why we need it**:
Adds an e2e test for checking that pods get scheduled to the same zone as statically created PVs.  This tests the PersistentVolumeLabel admission controller, which adds zone and region labels when PVs are created.  As part of this, I also had to make changes to volume test utility code to pass in a zone parameter for creating PDs, and also had to add an argument to the e2e test program to accept a list of zones.

Fixes #46995

**Special notes for your reviewer**:
It's probably easier to review each commit separately.

**Release note**:

NONE
2017-06-05 17:46:49 -07:00
Jeff Lowdermilk ac1ce7f1cd Don't parse human-readable output from gcloud in tests 2017-06-05 16:15:57 -07:00
Nick Sardo 7248c61ea5 Update test utilities & build file 2017-06-04 10:25:05 -07:00
Kubernetes Submit Queue 3837d95191 Merge pull request #45748 from mml/reliable-node-upgrade
Automatic merge from submit-queue

Respect PDBs during node upgrades and add test coverage to the ServiceTest upgrade test.

This is still a WIP... needs to be squashed at least, and I don't think it's currently passing until I increase the scale of the RC, but please have a look at the general outline.  Thanks!

Fixes #38336 

@kow3ns @bdbauer @krousey @erictune @maisem @davidopp 

```
On GCE, node upgrades will now respect PodDisruptionBudgets, if present.
```
2017-06-04 06:11:59 -07:00
Andrzej Wasylkowski 30b3472f89 Added new helper methods FailfWithOffset and ExpectNoErrorWithOffset. 2017-06-02 12:01:52 +02:00
Matt Liggett 43e2bec49d update-bazel.sh 2017-06-01 17:58:45 -07:00
Matt Liggett 775f2ef9a0 Respect PDBs during GCE node upgrades.
Respect PDBs during node upgrades and add test coverage to the
ServiceTest upgrade test.  Modified that test so that we include pod
anti-affinity constraints and a PDB.
2017-06-01 17:58:45 -07:00
Andrzej Wasylkowski 4280b95915 Added missing documentation to NodeInstanceGroup. 2017-06-01 13:19:41 +02:00
Kubernetes Submit Queue 0aad9d30e3 Merge pull request #44897 from msau42/local-storage-plugin
Automatic merge from submit-queue (batch tested with PRs 46076, 43879, 44897, 46556, 46654)

Local storage plugin

**What this PR does / why we need it**:
Volume plugin implementation for local persistent volumes.  Scheduler predicate will direct already-bound PVCs to the node that the local PV is at.  PVC binding still happens independently.

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

**Release note**:

```
Alpha feature: Local volume plugin allows local directories to be created and consumed as a Persistent Volume.  These volumes have node affinity and pods will only be scheduled to the node that the volume is at.
```
2017-05-30 23:20:02 -07:00
Kubernetes Submit Queue 40dcbc4eb3 Merge pull request #46461 from ncdc/e2e-suite-metrics
Automatic merge from submit-queue

Support grabbing test suite metrics

**What this PR does / why we need it**:
Add support for grabbing metrics that cover the entire test suite's execution.

Update the "interesting" controller-manager metrics to match the
current names for the garbage collector, and add namespace controller
metrics to the list.

If you enable `--gather-suite-metrics-at-teardown`, the metrics file is written to a file with a name such as `MetricsForE2ESuite_2017-05-25T20:25:57Z.json` in the `--report-dir`. If you don't specify `--report-dir`, the metrics are written to the test log output.

I'd like to enable this for some of the `pull-*` CI jobs, which will require a separate PR to test-infra.

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

@kubernetes/sig-testing-pr-reviews @smarterclayton @wojtek-t @gmarek @derekwaynecarr @timothysc
2017-05-30 16:41:49 -07:00
Kubernetes Submit Queue 38b26db33a Merge pull request #46613 from FengyunPan/fix-e2e-service
Automatic merge from submit-queue (batch tested with PRs 45534, 37212, 46613, 46350)

[e2e]Fix define redundant parameter

When timeout to reach HTTP service, redundant parameter make the
error is nil.
2017-05-30 04:46:04 -07:00
gmarek 0cc1999e16 Make log-monitor give up on trying to ssh to a dead node after some time 2017-05-30 10:27:10 +02:00
FengyunPan 38e8c32a26 [e2e]Fix define redundant parameter
When timeout to reach HTTP service, redundant parameter make the
error is nil.
2017-05-30 16:09:33 +08:00
Kubernetes Submit Queue d9f3ea5191 Merge pull request #46593 from shyamjvs/fix-perfdata-subresource
Automatic merge from submit-queue

Fix minor bugs in setting API call metrics with subresource

Based on changes from https://github.com/kubernetes/kubernetes/pull/46354

/cc @wojtek-t @smarterclayton
2017-05-29 08:45:02 -07:00
Shyam Jeedigunta e897b21506 Fix minor bugs in setting API call metrics with subresource 2017-05-29 15:04:52 +02:00
Kubernetes Submit Queue 1444d252e1 Merge pull request #46457 from nicksardo/gce-api-refactor
Automatic merge from submit-queue (batch tested with PRs 46407, 46457)

GCE - Refactor API for firewall and backend service creation

**What this PR does / why we need it**:
 - Currently, firewall creation function actually instantiates the firewall object; this is inconsistent with the rest of GCE api calls. The API normally gets passed in an existing object.
 - Necessary information for firewall creation, (`computeHostTags`,`nodeTags`,`networkURL`,`subnetworkURL`,`region`) were private to within the package. These now have public getters.
 - Consumers might need to know whether the cluster is running on a cross-project network. A new `OnXPN` func will make that information available.
 - Backend services for regions have been added. Global ones have been renamed to specify global. 
 - NamedPort management of instance groups has been changed from an `AddPortsToInstanceGroup` func (and missing complementary `Remove...`) to a single, simple `SetNamedPortsOfInstanceGroup`
 - Addressed nitpick review comments of #45524 

ILB needs the regional backend services and firewall refactor.  The ingress controller needs the new `OnXPN` func to decide whether to create a firewall.

**Release note**:
```release-note
NONE
```
2017-05-28 13:16:58 -07:00
Kubernetes Submit Queue f219f3c153 Merge pull request #46558 from MrHohn/esipp-endpoint-waittime
Automatic merge from submit-queue

Apply KubeProxyEndpointLagTimeout to ESIPP tests

Fixes #46533.

The previous construction of ESIPP tests is weird, so I redo it a bit.

A 30 seconds `KubeProxyEndpointLagTimeout` is introduced, as these tests ain't verifying performance, may be better to not make it too tight.

/assign @thockin 

**Release note**:

```release-note
NONE
```
2017-05-27 11:17:51 -07:00
Nick Sardo 9063526dfb GCE: Refactor firewalls/backendservices api; other small changes 2017-05-27 10:25:03 -07: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 e332828690 Apply KubeProxyEndpointLagTimeout to ESIPP tests 2017-05-26 18:14:20 -07:00
Zihong Zheng 897da549bc Autogenerated files 2017-05-26 13:19:14 -07:00
Zihong Zheng a61cc7f477 Update firewall e2e test for LB healthcheck firewall 2017-05-26 13:18:50 -07:00
Michelle Au f385dfcb3b Address review comments 2017-05-26 11:48:31 -07:00
Andy Goldstein 41345418cb Support grabbing test suite metrics
Update the "interesting" controller-manager metrics to match the
current names for the garbage collector, and add namespace controller
metrics to the list.
2017-05-26 11:21:27 -04:00
guoyunxian 0bf96a3ca4 Remove the same case judement
This patch remove the same case judement
2017-05-26 17:28:53 +08:00
Kubernetes Submit Queue b8dc4915f7 Merge pull request #46423 from gmarek/fix_perf
Automatic merge from submit-queue (batch tested with PRs 45949, 46009, 46320, 46423, 46437)

Fix performance test issues

Fix #46198
2017-05-25 19:41:04 -07:00
Kubernetes Submit Queue 470a6a45d5 Merge pull request #45949 from NickrenREN/kubelet-metric
Automatic merge from submit-queue (batch tested with PRs 45949, 46009, 46320, 46423, 46437)

Unregister some metrics

delete some registered metrics since they are not observed


**Release note**:
```release-note
NONE
```
2017-05-25 19:40:58 -07:00
Michail Kargakis e18f6cb591
test: set failure traps for all deployment e2e tests 2017-05-25 19:01:50 +02:00
Kubernetes Submit Queue 26d7ee0447 Merge pull request #44774 from kargakis/uniquifier
Automatic merge from submit-queue

Switch Deployments to new hashing algo w/ collision avoidance mechanism

Implements https://github.com/kubernetes/community/pull/477

@kubernetes/sig-apps-api-reviews @kubernetes/sig-apps-pr-reviews 

Fixes https://github.com/kubernetes/kubernetes/issues/29735
Fixes https://github.com/kubernetes/kubernetes/issues/43948

```release-note
Deployments are updated to use (1) a more stable hashing algorithm (fnv) than the previous one (adler) and (2) a hashing collision avoidance mechanism that will ensure new rollouts will not block on hashing collisions anymore.
```
2017-05-25 06:09:58 -07:00
Kubernetes Submit Queue 23348ceedc Merge pull request #46354 from smarterclayton/metrics_subresource
Automatic merge from submit-queue (batch tested with PRs 45573, 46354, 46376, 46162, 46366)

Subresources are not included in apiserver prometheus metrics

Subresources are very often completely different code paths and errors
generated on those code paths are important to distinguish.

@kubernetes/sig-api-machinery-pr-reviews

```release-note
The Prometheus metrics for the kube-apiserver for tracking incoming API requests and latencies now return the `subresource` label for correctly attributing the type of API call.
```
2017-05-25 03:13:59 -07:00
gmarek 02951f182e Correctly handle nil resource usage in performance e2e tests 2017-05-25 11:44:03 +02:00
gmarek ded8e03fc3 Reduce service creation/deletion parallelism in the load test 2017-05-25 11:44:03 +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
Clayton Coleman ad431c454c
Subresources are not included in apiserver prometheus metrics
Subresources are very often completely different code paths and errors
generated on those code paths are important to distinguish.
2017-05-24 16:23:50 -04:00
Zihong Zheng 03d08623e8 Fix CheckPodsCondition to print out the correct podName 2017-05-24 10:20:57 -07:00
Kubernetes Submit Queue c2c5051adf Merge pull request #44899 from smarterclayton/burst
Automatic merge from submit-queue (batch tested with PRs 38990, 45781, 46225, 44899, 43663)

Support parallel scaling on StatefulSets

Fixes #41255

```release-note
StatefulSets now include an alpha scaling feature accessible by setting the `spec.podManagementPolicy` field to `Parallel`.  The controller will not wait for pods to be ready before adding the other pods, and will replace deleted pods as needed.  Since parallel scaling creates pods out of order, you cannot depend on predictable membership changes within your set.
```
2017-05-22 19:07:09 -07:00