Commit Graph

5382 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
3973605189 Merge pull request #49422 from crassirostris/logging-e2e-refactoring
Automatic merge from submit-queue (batch tested with PRs 49871, 49422, 49092, 49858, 48999)

Refactor logging e2e tests, add new checks

I split existing code into smaller files to simplify the review and future changes

Also, there are new tests for stackdriver logging:
- ingesting system logs from all nodes
- ingesting logs in json format
- ingesting logs in glog format
2017-08-01 23:35:51 -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
Kubernetes Submit Queue
bcb78ad1ce Merge pull request #48860 from ddysher/local-volume-e2e
Automatic merge from submit-queue (batch tested with PRs 49898, 49897, 49919, 48860, 49491)

Add basic local volume provisioner e2e tests

**What this PR does / why we need it**:
Adds e2e tests to test local volume provisioner.

**Which issue this PR fixes**: fixes https://github.com/kubernetes/kubernetes/issues/48832

**Special notes for your reviewer**:
- bring up local volume provisioner using bootstrapper
- have provisioner create a volume by creating a directory under discovery path.  
- check persistent volume is created
- make a claim on the PV, write some data then delete the claim. Verify volume is cleaned up.

**Release note**:

```release-note
```

@ianchakeres @msau42
2017-08-01 17:57:18 -07:00
Deyuan Deng
59c54805ae Add basic local volume provisioner e2e tests 2017-08-01 09:41:12 +08: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
Mik Vyatskov
86a2ac9433 Refactor logging e2e tests, add new checks 2017-07-31 19:21:48 +02:00
Kubernetes Submit Queue
02b520f0a4 Merge pull request #49528 from msau42/e2e-xfs
Automatic merge from submit-queue (batch tested with PRs 49538, 49708, 47665, 49750, 49528)

Add ext4 and xfs tests to GCE PD basic mount tests

**What this PR does / why we need it**:
Add ext4 and xfs to basic GCE PD mount tests.

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

**Special notes for your reviewer**:

**Release note**:
/release-note-none

/sig storage
2017-07-29 05:28:58 -07:00
Kubernetes Submit Queue
7be28a15cc Merge pull request #47665 from ironcladlou/gc-poll-types
Automatic merge from submit-queue (batch tested with PRs 49538, 49708, 47665, 49750, 49528)

Enable garbage collection of custom resources

Enhance the garbage collector to periodically refresh the resources it monitors (via discovery) to enable custom resource definition GC (addressing #44507 and reverting #47432).

This is a replacement for #46000.

/cc @lavalamp @deads2k @sttts @caesarxuchao 

/ref https://github.com/kubernetes/kubernetes/pull/48065

```release-note
The garbage collector now supports custom APIs added via CustomeResourceDefinition or aggregated apiservers. Note that the garbage collector controller refreshes periodically, so there is a latency between when the API is added and when the garbage collector starts to manage it.
```
2017-07-29 05:28:53 -07: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
740ca9a052 Merge pull request #49538 from supereagle/versioned-coreclient
Automatic merge from submit-queue (batch tested with PRs 49538, 49708, 47665, 49750, 49528)

Use the core client with version

**What this PR does / why we need it**:
Replace the **deprecated** `clientSet.Core()` with `clientSet.CoreV1()`.

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

**Special notes for your reviewer**:

**Release note**:
```release-note
NONE
```
2017-07-29 05:28:49 -07:00
Kubernetes Submit Queue
b1b107c728 Merge pull request #49652 from tallclair/audit-e2e
Automatic merge from submit-queue (batch tested with PRs 49581, 49652, 49681, 49688, 44655)

Move the audit e2e test out of the node SIG

It was mistakenly moved to sig-node in https://github.com/kubernetes/kubernetes/pull/48910, but this is an apiserver feature, not a node feature.

/cc @crassirostris
2017-07-28 13:45:46 -07:00
Kubernetes Submit Queue
46e159219e Merge pull request #49712 from ironcladlou/gc-e2e-timeout-fix
Automatic merge from submit-queue (batch tested with PRs 49712, 49694, 49714, 49670, 49717)

Reduce GC e2e test flakiness

Increase GC wait timeout in a flaky e2e test. The test expects a GC
operation to be performed within 30s, while in practice the operation
often takes longer due to a delay between the enqueueing of the owner's
delete operation and the GC's actual processing of that event. Doubling
the time seems to stabilize the test. The test's assumptions can be
revisited, and the processing delay under load can be investigated in
the future.

Extracted from https://github.com/kubernetes/kubernetes/pull/47665 per https://github.com/kubernetes/kubernetes/pull/47665#issuecomment-318219099.

/cc @sttts @caesarxuchao @deads2k @kubernetes/sig-api-machinery-bugs


```release-note
NONE
```
2017-07-28 08:14:58 -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
Dan Mace
d08dfb92c7 Enable garbage collection of custom resources
Enhance the garbage collector to periodically refresh the resources it
monitors (via discovery) to enable custom resource definition GC.

This implementation caches Unstructured structs for any kinds not
covered by a shared informer. The existing meta-only codec only supports
compiled types; an improved codec which supports arbitrary types could
be introduced to optimize caching to store only metadata for all
non-informer types.
2017-07-28 10:00:10 -04: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
Kubernetes Submit Queue
34a8ace539 Merge pull request #48934 from vikaschoudhary16/test-inter-pod-affinity
Automatic merge from submit-queue (batch tested with PRs 49665, 49689, 49495, 49146, 48934)

Add Integration tests for Inter-Pod Affinity(AntiAffinity)

Signed-off-by: vikaschoudhary16 <choudharyvikas16@gmail.com>

**What this PR does / why we need it**:
Adds integration tests for inter-pod affinity(anti-affinity)

**Special notes for your reviewer**:
Once after @bsalamat 's #48847 gets merged, changes in this PR will be restructured according to the merged changes. 


ref/ #48176 #48847 
@kubernetes/sig-scheduling-pr-reviews
@davidopp @k82cn
2017-07-27 21:45:39 -07:00
jeff vance
dbb24264aa revert most of the changes, add comments 2017-07-27 19:50:51 -07:00
Kubernetes Submit Queue
83ca86cddc Merge pull request #49332 from shyamjvs/framework-fix
Automatic merge from submit-queue

Change e2e-framework behavior to retry retriable API errors

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

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

/cc @wojtek-t
2017-07-27 16:01:00 -07:00
Dan Mace
cc6ae8a8b2 Reduce GC e2e test flakiness
Increase GC wait timeout in a flaky e2e test. The test expects a GC
operation to be performed within 30s, while in practice the operation
often takes longer due to a delay between the enqueueing of the owner's
delete operation and the GC's actual processing of that event. Doubling
the time seems to stabilize the test. The test's assumptions can be
revisited, and the processing delay under load can be investigated in
the future.
2017-07-27 08:12:20 -04:00
vikaschoudhary16
189129c71d Add inter-pod-affinity integration tests and remove corresponding e2e tests
Signed-off-by: vikaschoudhary16 <choudharyvikas16@gmail.com>
2017-07-26 23:24:28 -04:00
jeff vance
1f186fc662 improve detectability of deleted pods 2017-07-26 15:24:09 -07:00
Tim Allclair
9aa0bfe8b0 Move the audit e2e test out of the node SIG 2017-07-26 11:22:01 -07:00
supereagle
edce96c5b6 use the core client with version 2017-07-26 19:16:02 +08:00
jeff vance
ccde67b17e improve log for pod deletion poll loop 2017-07-25 18:07:45 -07:00
Michael Taufen
3c5b050da6 move sig-node related e2e tests to node subdir 2017-07-25 15:22:43 -07:00
Michelle Au
20c7040c21 Add ext4 and xfs tests to GCE PD basic mount tests 2017-07-25 14:06:28 -07:00
Kubernetes Submit Queue
9350afd772 Merge pull request #48976 from supereagle/cleanup-api-package
Automatic merge from submit-queue (batch tested with PRs 48976, 49474, 40050, 49426, 49430)

Remove duplicated import and wrong alias name of api package

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

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

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

**Release note**:
```release-note
NONE
```
2017-07-25 12:14:38 -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
Kubernetes Submit Queue
05b8372e60 Merge pull request #49483 from xiangpengzhao/e2e-sig-network
Automatic merge from submit-queue (batch tested with PRs 48846, 49483, 49341)

Add [sig-network] prefix to network e2e tests

**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 #
Associated PR #48784
Umbrella issue #49161

**Special notes for your reviewer**:
/assign @@wojtek-t @freehan 
/cc @bowei 

**Release note**:

```release-note
NONE
```
2017-07-24 23:55:11 -07:00
Kubernetes Submit Queue
7f1d9382ec Merge pull request #48846 from dashpole/remove_ood
Automatic merge from submit-queue

Remove flags low-diskspace-threshold-mb and outofdisk-transition-frequency

issue: #48843

This removes two flags replaced by the eviction manager.  These have been depreciated for two releases, which I believe correctly follows the kubernetes depreciation guidelines.

```release-note
Remove depreciated flags: --low-diskspace-threshold-mb and --outofdisk-transition-frequency, which are replaced by --eviction-hard
```

cc @mtaufen since I am changing kubelet flags
cc @vishh @derekwaynecarr 
/sig node
2017-07-24 23:05:50 -07:00
Kubernetes Submit Queue
3f887171dd Merge pull request #49253 from Quentin-M/no_host_pred_test
Automatic merge from submit-queue (batch tested with PRs 49358, 49253)

Remove hostname label condition in SchedulerPredicates

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

```
validates that NodeSelector is respected if matching [Conformance]
validates that required NodeAffinity setting is respected if matching
```

The two tests above make the assumption that the node names are equal to the `kubernetes.io/hostname` labels. Unfortunately, this is not necessarily true all the time. For instance, when using the AWS Cloud Provider + Container Linux:
- The node name is set using the AWS SDK's `ec2.Instance.PrivateDnsName` and has the form `ip-10-0-35-57.ca-central-1.compute.internal` [[1](https://github.com/kubernetes/kubernetes/blob/v1.7.1/pkg/cloudprovider/providers/aws/aws.go#L3343-L3346)] [[2](https://raw.githubusercontent.com/aws/aws-sdk-go/master/service/ec2/api.go)]
- The node's hostname, however, is a simple call to `os.Hostname()`, itself reading `/proc/sys/kernel/hostname`, which contains what the AWS DHCP assigned to the instance, typically the hostname short-form: `ip-10-0-16-137`.  [[1](https://github.com/kubernetes/kubernetes/blob/v1.7.1/pkg/util/node/node.go#L43-L54)]

Consequently, we are trying to assign a pod to a node having the following label: `kubernetes.io/hostname=ip-10-0-35-57.ca-central-1.compute.internal` (in addition to the randomly generated label), whereas the actual label on the node is `kubernetes.io/hostname=ip-10-0-35-57`.

Furthermore, this inaccurate `kubernetes.io/hostname=<nodename>` condition is actually useless given we already match over a random label, that was assigned to that node. Later, the test ensures that the scheduled pod was scheduled to the right node by comparing the pod's node name and the node name we expected the pod to be on:

```
framework.ExpectNoError(framework.WaitForPodNotPending(cs, ns, labelPodName))
labelPod, err := cs.Core().Pods(ns).Get(labelPodName, metav1.GetOptions{})
framework.ExpectNoError(err)
Expect(labelPod.Spec.NodeName).To(Equal(nodeName))
```

The `k8s.io/apimachinery/pkg/types/nodename` data structure actually [warns](55bee3ad21/staging/src/k8s.io/apimachinery/pkg/types/nodename.go (L40-L43)) about the fact that the node name might be different than the hostname on AWS.

**Release note**:
```release-note
NONE
```
2017-07-24 21:31:08 -07:00
Kubernetes Submit Queue
97eed3f71a Merge pull request #48911 from verult/StorageTests
Automatic merge from submit-queue

Added sig-storage labels to upgrade tests and moved them to appropriate directory

**What this PR does / why we need it**: Adding necessary sig identifier for storage upgrade tests.

/release-note-none
2017-07-24 20:26:59 -07:00
Kubernetes Submit Queue
7e5fd72aa6 Merge pull request #49251 from enisoc/initialized-annotation
Automatic merge from submit-queue (batch tested with PRs 48636, 49088, 49251, 49417, 49494)

StatefulSet: Remove `pod.alpha.kubernetes.io/initialized` annotation.

The `pod.alpha.kubernetes.io/initialized` annotation was originally a tool for validating StatefulSet's ordered Pod creation guarantees during the feature's alpha phase.

If set to "false" on a given Pod, it would interrupt StatefulSet's normal behavior. In v1.5.0, the annotation was deprecated and the default became "true" as part of StatefulSet's graduation to beta.

The annotation is now ignored, meaning it cannot be used to interrupt StatefulSet Pod management.

```release-note
StatefulSet: The deprecated `pod.alpha.kubernetes.io/initialized` annotation for interrupting StatefulSet Pod management is now ignored. If you were setting it to `true` or leaving it unset, no action is required. However, if you were setting it to `false`, be aware that previously-dormant StatefulSets may become active after upgrading.
```

ref #41605
2017-07-24 19:30:37 -07:00
supereagle
adc0eef43e remove duplicated import and wrong alias name of api package 2017-07-25 10:04:25 +08:00
xiangpengzhao
f2875794ec Add [sig-network] prefix to network e2e tests 2017-07-25 08:56:35 +08:00
Kubernetes Submit Queue
8079b4ab9e Merge pull request #49510 from caesarxuchao/increase-orphan-timeout
Automatic merge from submit-queue

increase the timeout in GC orphan test

Fixes #42086

See the [justification](https://github.com/kubernetes/kubernetes/issues/42086#issuecomment-317521413).
2017-07-24 15:02:57 -07:00
Nick Sardo
e6bad4406f Test GCE ILB functionality 2017-07-24 14:13:41 -07:00
Cheng Xing
ffd48f6311 Added sig-storage labels to upgrade tests and moved them to appropriate directory 2017-07-24 13:23:43 -07:00
Kubernetes Submit Queue
84db0a9487 Merge pull request #49428 from caesarxuchao/fix-gc-1
Automatic merge from submit-queue

Garbage collector e2e tests create deployments with unique labels, and

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

The bug was because two tests point to the same `podTemplate`. One [test](https://github.com/kubernetes/kubernetes/blob/master/test/e2e/apimachinery/garbage_collector.go#L583) changing the "labels" caused the deployment creation in the other test failing, because the selector doesn't match the labels anymore.
2017-07-24 12:31:24 -07:00
Chao Xu
b730c0b46d increate GC orphan test timeout 2017-07-24 11:45:52 -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
Kubernetes Submit Queue
b4941d018d Merge pull request #49486 from wojtek-t/fix_ha_master
Automatic merge from submit-queue (batch tested with PRs 45345, 49470, 49407, 49448, 49486)

Fix ha-master tests
2017-07-24 07:40:59 -07:00
Wojciech Tyczynski
5740c7afbf Fix ha_master tests 2017-07-24 12:10:22 +02:00
Yang Guo
78f04e2abf Add node e2e tests for GKE environment 2017-07-23 20:59:11 -07:00
Bowei Du
92a8c1fcb0 Moves networking e2e tests to test/e2e/network
This also adds sig-network-{approvers,reviewers} alias
2017-07-22 09:43:42 -07:00
Michail Kargakis
5e93ed27bd Rename test dir to allude sig-apps ownership
Signed-off-by: Michail Kargakis <mkargaki@redhat.com>
2017-07-22 12:43:36 +02:00
Kubernetes Submit Queue
dab16cd1d5 Merge pull request #49266 from MrHohn/e2e-proxy-healthz
Automatic merge from submit-queue (batch tested with PRs 49409, 49352, 49266, 48418)

[e2e] Also verify content returned by kube-proxy healthz url

**What this PR does / why we need it**: Enhance kube-proxy url test. This helps to detect the port collision case --- node-problem-detector also serves /healthz to return 200 ok. Verify the content to confirm /healthz is served by kube-proxy.

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

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

**Release note**:

```release-note
NONE
```
2017-07-22 02:05:18 -07:00
Kubernetes Submit Queue
32952d9c29 Merge pull request #49399 from timothysc/CRD_version_gate
Automatic merge from submit-queue (batch tested with PRs 49326, 49394, 49346, 49379, 49399)

Update to version gate CRDs to 1.7 and greater

**What this PR does / why we need it**:
Allows e2e's to be tested on earlier version do to version check.  

xref: #49313

**Release note**:
```
NONE
```

/cc @kubernetes/sig-api-machinery-bugs @kubernetes/sig-testing-bugs
2017-07-21 23:23:39 -07:00