Commit Graph

10031 Commits

Author SHA1 Message Date
hangaoshuai
ae61cfe895 fix todo: migrate to use framework.AddOrUpdateLabelOnNode/framework.RemoveLabelOffNode replace of updateNodeLabels 2018-02-03 15:52:37 +08:00
Kubernetes Submit Queue
3cf94ef125 Merge pull request #59211 from vmware/fix-node-lables-for-e2e-tests
Automatic merge from submit-queue (batch tested with PRs 58645, 59211). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fixing node labels assignment for random order tests execution

**What this PR does / why we need it**:
For some vsphere cloud provider e2e test cases, we are setting node labels to control pod scheduling on specific node.

When these e2e tests are executed in random order from testsuite, they are overwriting node labels, so some tests were failing to schedule pod on desired node. Tests are failing with following error.

```
“FailedScheduling: No nodes are available that match all of the predicates: MatchNodeSelector (5), NodeUnschedulable (1).
```

This PR is fixing the above issue with setting distinct node label key for each test group within test suite.



**Which issue(s) this PR fixes**
Fixes #

**Special notes for your reviewer**:
Executed testsuites containing tests from both files using following script.

```
GINKGO_FOCUS[0]="Volume\sPlacement"
GINKGO_FOCUS[1]="Volume\sDisk\sFormat"
REGEX="--ginkgo.focus="$(IFS='|' ; echo "${GINKGO_FOCUS[*]}")
go run hack/e2e.go --check-version-skew=false --v --test --test_args="${REGEX}"
```

All test passed.


**Release note**:

```release-note
NONE
```
2018-02-02 20:47:29 -08:00
Kubernetes Submit Queue
0f6354e81b Merge pull request #58645 from jpbetz/etcd-server-3.2-upgrade
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Update etcd server version to 3.2.14

This upgrades the default etcd version used by kubernetes to 3.2.14

We previously [bumped the etcd client to 3.2.14](https://github.com/kubernetes/kubernetes/pull/57480).

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

```release-note
Upgrade default etcd server version to 3.2.14
```

cc @gyuho
2018-02-02 20:27:29 -08:00
Divyen Patel
948d381418 fixing node labels for random tests invocation
addressed Michelle Au's review comments
2018-02-02 18:50:08 -08:00
Kubernetes Submit Queue
ec39ffe232 Merge pull request #58763 from shyamjvs/add-profiling-to-e2e-framework
Automatic merge from submit-queue (batch tested with PRs 55606, 59185, 58763, 59072, 59251). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Introduce apiserver profile-gathering in our testing framework

This enables automatic collection of CPU/Memory profiles for apiserver - saving us some effort while doing scalability experiments.

/cc @wojtek-t @porridge @kubernetes/sig-scalability-misc 

```release-note
NONE
```
2018-02-02 18:26:38 -08:00
Joe Betz
f0d04b7131 Update etcd server version to 3.2.13 2018-02-02 17:25:13 -08:00
Kubernetes Submit Queue
61f58ebfb2 Merge pull request #55439 from crimsonfaith91/revamp
Automatic merge from submit-queue (batch tested with PRs 55439, 58564, 59028, 59169, 59259). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

add basic functionality deployment integration tests

**What this PR does / why we need it**:
This PR adds basic deployment integration tests.

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

**Release note**:

```release-note
NONE
```
2018-02-02 17:17:33 -08:00
Kubernetes Submit Queue
bdde196191 Merge pull request #58999 from tanshanshan/scheduler-msg
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Make predicate errors more human readable

**What this PR does / why we need it**:
Make predicate errors more human readable

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

**Special notes for your reviewer**:

**Release note**:

```release-note

```
2018-02-02 13:36:23 -08:00
Bobby (Babak) Salamat
ec69dd139b autogenerated files 2018-02-02 13:06:33 -08:00
Bobby (Babak) Salamat
bfd950e471 Replace nominateNodeName annotation with PodStatus.NominatedNodeName in scheudler logic 2018-02-02 13:06:33 -08:00
Kubernetes Submit Queue
c0a7919ac1 Merge pull request #58794 from gnufied/perform-online-resize-if-mounted
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Perform resize of mounted volume if necessary

Under certain conditions - we must perform resize of volume even when it is mounted. This enables us to get around problem of resizing volumes used by deployments etc.

```release-note
Allow expanding mounted volumes
```
2018-02-02 12:48:53 -08:00
Kubernetes Submit Queue
9bdc86ff8a Merge pull request #59222 from MrHohn/e2e-ingress-healthcheck-fix
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

[e2e ingress-gce] Retrieve the correct health check resource

**What this PR does / why we need it**:
Previously the test retrieves a random health check resource and assumes it belongs to the test ingress, which is wrong when multiple ingress tests are running simultaneously.

Example failure: https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/logs/ci-ingress-gce-e2e/533

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

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

**Release note**:

```release-note
NONE
```
2018-02-02 12:09:36 -08:00
Clayton Coleman
d07a608607 Promote v1alpha1 meta to v1beta1
No code changes, just renames
2018-02-02 14:00:45 -05:00
NickrenREN
3f6d2c8199 Add e2e test for PV protection 2018-02-02 22:55:34 +08:00
Kubernetes Submit Queue
8c6be65f4c Merge pull request #58720 from joelsmith/ro-vol
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Ensure that the runtime mounts RO volumes read-only

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

This change makes it so that containers cannot write to secret, configMap, downwardAPI and projected volumes since the runtime will now mount them read-only. This change makes things less confusing for a user since any attempt to update a secret volume will result in an error rather than a successful change followed by a revert by the kubelet when the volume next syncs.

It also adds a feature gate `ReadOnlyAPIDataVolumes` to a provide a way to disable the new behavior in 1.10, but for 1.11, the new behavior will become non-optional.

Also, E2E tests for downwardAPI and projected volumes are updated to mount the volumes somewhere other than /etc.

**Which issue(s) this PR fixes**
Fixes #58719 

**Release note**:
```release-note
Containers now mount secret, configMap, downwardAPI and projected volumes read-only. Previously,
container modifications to files in these types of volumes were temporary and reverted by the kubelet
during volume sync. Until version 1.11, setting the feature gate ReadOnlyAPIDataVolumes=false will
preserve the old behavior.
```
2018-02-02 06:42:12 -08:00
Shyam Jeedigunta
f8cee91372 Introduce apiserver profile-gathering library in testing framework 2018-02-02 13:27:29 +01:00
Kubernetes Submit Queue
b1e0f2c035 Merge pull request #59193 from shyamjvs/expose-etcd-compaction-for-kubemark
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Expose etcd compaction interval param for kubemark apiserver

/cc @wojtek-t @porridge 

```release-note
NONE
```
2018-02-02 03:13:36 -08:00
Kubernetes Submit Queue
c1066af54a Merge pull request #58896 from MrHohn/ingress-e2e-pre-shared-cert
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

[GCE Ingress e2e] Add test for pre-shared certificate

**What this PR does / why we need it**:
Add an e2e test for the pre-shared certificate feature (`ingress.gcp.kubernetes.io/pre-shared-cert`). Also made some changes to ingress_util.go mostly for certificate generation and polling on ingress.

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

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

**Release note**:

```release-note
NONE
```
2018-02-02 00:34:53 -08:00
Kubernetes Submit Queue
d3b783d5ec Merge pull request #58743 from NickrenREN/pv-protection
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Postpone PV deletion with finalizer when it is being used

Postpone PV deletion if it is bound to a PVC

xref: https://github.com/kubernetes/community/pull/1608


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

**Special notes for your reviewer**:

**Release note**:
```release-note
Postpone PV deletion when it is being bound to a PVC
```

WIP, assign to myself first

/assign @NickrenREN
2018-02-01 19:39:52 -08:00
Kubernetes Submit Queue
8363129ee6 Merge pull request #58462 from NickrenREN/va-to-beta
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add V1beta1 VolumeAttachment API

**What this PR does / why we need it**:
Add V1beta1 VolumeAttachment API, co-existing with Alpha API object

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

**Special notes for your reviewer**:

**Release note**:
```release-note
Add V1beta1 VolumeAttachment API, co-existing with Alpha API object
```
2018-02-01 18:50:25 -08:00
Jun Xiang Tee
1334b61029 add basic functionality deployment integration tests 2018-02-01 16:21:07 -08:00
Kubernetes Submit Queue
a5c57521df Merge pull request #58992 from cheftako/webhook
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix flaky AdmissionWebhook e2e tests.

**What this PR does / why we need it**: Several of the tests("It") in the e2e suite reuse the config name.
Since these tests can be running in parallel, causing intermittant
failures.
Changes the test so each test uses a different name.
Restructured the tests to make it easier to make sure the name in a
test is being used consistently.

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

**Special notes for your reviewer**:

**Release note**:
```release-note
NONE
```
2018-02-01 16:08:08 -08:00
Zihong Zheng
f5bb5234c1 [e2e ingress-gce] Retrieve the correct health check resource 2018-02-01 14:18:43 -08:00
Filipe Brandenburger
17d5525356 Increase RSS limit for runtime from 300MB to 350MB on test creating 100 pods per node.
In recent COS image, the typical RSS increased a bit. It seems it was
already close to the limit and now surpassed it.
2018-02-01 12:06:54 -08:00
Zihong Zheng
38290535d6 [GCE Ingress e2e] Add test for pre-shared certificate 2018-02-01 10:34:36 -08:00
Juan Vallejo
4026356b1c Revert "fail earlier on discovery failures" 2018-02-01 13:02:10 -05:00
Joel Smith
66b061dad2 Ensure that the runtime mounts RO volumes read-only
Add a feature gate ReadOnlyAPIDataVolumes to a provide a way to
disable the new behavior in 1.10, but for 1.11, the new
behavior will become non-optional.

Also, update E2E tests for downwardAPI and projected volumes
to mount the volumes somewhere other than /etc.
2018-02-01 10:02:29 -07:00
Kubernetes Submit Queue
7e33ffba10 Merge pull request #58728 from dashpole/cadvisor_testing
Automatic merge from submit-queue (batch tested with PRs 57683, 59116, 58728, 59140, 58976). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Use node-e2e framework for testing cadvisor

**What this PR does / why we need it**:
With cadvisor checked out in your gopath, we can now run cadvisor integration tests: `make test-e2e-node TEST_SUITE=cadvisor`.  
This has a number of advantages:
 * we can use the same images to test both, configured the same way.
 * we will now get cadvisor logs from the integration test.
 * we can now use the familiar node-e2e arguments to specify images to test with cadvisor
 * no more managing snowflake VMs for cadvisor.

**Special notes for your reviewer**:
cadvisor doesnt currently produce junit* files, so I removed that as a requirement.
This wont actually work until https://github.com/google/cadvisor/pull/1868 is merged as well.

Related issue:
https://github.com/kubernetes/test-infra/issues/190

**Release note**:
```release-note
NONE
```

/assign @Random-Liu 
/sig node
/priority important-soon
/kind cleanup
2018-02-01 07:04:40 -08:00
Kubernetes Submit Queue
4c49106a4c Merge pull request #58985 from immutableT/secrets_encryption_e2e
Automatic merge from submit-queue (batch tested with PRs 59106, 58985, 59068, 59120, 59126). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Integration tests for envelop encryption/decryption of secrets.

**What this PR does / why we need it**:
Provides integration tests between KubeAPI Server and etcd (in the context of encrypting secrets at rest). Concretely, tests assert that:
1. Secrets are stored encrypted in ectcd
2. Secrets are decrypted on reads
when --experimental-encryption-provider-config flag is passed to KubeAPI server.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #
This PR does not address any specific issues, but rather provides integration testing coverage for the [encrypt/encryption](https://github.com/kubernetes/kubernetes/blob/release-1.9/staging/src/k8s.io/apiserver/pkg/storage/value/encrypt/envelope/envelope.go) feature.
**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-02-01 05:53:37 -08:00
Kubernetes Submit Queue
5440b87778 Merge pull request #58683 from pospispa/566-postpone-pvc-deletion-if-used-in-a-pod-e2e-tests-for-scheduler-changes
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

PVC Protection E2E Tests for Failed Scheduling

**What this PR does / why we need it**:
Change in scheduler that causes that scheduling of a pod that uses PVC that is being deleted fails was introduced in:
- https://github.com/kubernetes/kubernetes/pull/55957

This PR adds an E2E test for the above merged PR.

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

**Special notes for your reviewer**:
N/A

**Release note**:

```release-note
NONE
```
2018-02-01 03:50:48 -08:00
Shyam Jeedigunta
87af748493 Expose etcd compaction interval param for kubemark apiserver 2018-02-01 11:10:02 +01:00
Kubernetes Submit Queue
f96ac05774 Merge pull request #59062 from mtaufen/fix-pod-pids-limit
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix PodPidsLimit and ConfigTrialDuration on internal KubeletConfig type

They should both follow the convention of not being a pointer on the internal type. 

This required adding a conversion function between `int64` and `*int64`. A side effect is this removes a warning in the generated code for the apps API group.

@dims

```release-note
NONE
```
2018-02-01 01:45:55 -08:00
xiangpengzhao
e4fe746491 Auto generated BUILD files. 2018-02-01 17:15:22 +08:00
xiangpengzhao
abdfa7f35f Update test framework featuregates type. 2018-02-01 17:15:12 +08:00
tanshanshan
c389e3cec7 Make predicate errors more human readable 2018-02-01 10:22:53 +08:00
Zihong Zheng
34f8e4e97b Add GCE ingress test case for modified health check 2018-01-31 17:46:14 -08:00
Kubernetes Submit Queue
b260494621 Merge pull request #58643 from MrHohn/e2e-ingress-sync-failure
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add gce-ingress e2e test for sync failure case

**What this PR does / why we need it**:
Add a test that verifies sync failures on some inrgesses would not stop gce ingress controller from syncing others.

Basically:
- Create two ingresses each has something wrong (TLS missing, backend missing etc.).
- Create a normal ingress and test it works.
- Update this ingress and test it takes effect.

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

**Special notes for your reviewer**:
Ref https://docs.google.com/document/d/1E2ufxZGujFCYKYOsvBjb4VMNjBy8CM-MMycoT_UVwIs/edit#heading=h.wxzdzliw64t8.
/assign @rramkumar1 @nicksardo 

**Release note**:

```release-note
NONE
```
2018-01-31 16:05:45 -08:00
Kubernetes Submit Queue
d560f55370 Merge pull request #58623 from MrHohn/use-gce-library-e2e
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

[e2e util] Remove static IP functions based on gcloud

**What this PR does / why we need it**:
Use GCE library for static IP instead of calling gcloud in e2e test.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-01-31 14:48:35 -08:00
Kubernetes Submit Queue
00a0c14c82 Merge pull request #58396 from chrisglass/do_not_use_ifupdown
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Do not use ifupdown commands

**What this PR does / why we need it**:
The ifupdown commands (ifup and ifdown) are not useful on many modern
distributions. Instead, the "ip link set" set of commands are standard
linux utilities and should be available everywhere (see
http://baturin.org/docs/iproute2/).

ipupdown utilities have the added quirk that they return 0 on failure,
which makes the changed line fail silently in case ifdown didn't bring
the network down.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-01-31 11:48:03 -08:00
alex
9b86d848ed aesgcm - passing 2018-01-31 10:50:11 -08:00
David Ashpole
17e8d8c040 use node-e2e framework for testing cadvisor 2018-01-31 10:14:54 -08:00
NickrenREN
2a2f88b939 Rename PVCProtection feature gate so that PV protection can share the feature gate with PVC protection 2018-01-31 20:02:01 +08:00
NickrenREN
7b9d2c046f Use v1beta1 VolumeAttachment 2018-01-31 18:46:11 +08:00
pospispa
52a43b19d8 PVC Protection E2E Tests for Failed Scheduling
The PR [2] introduced a change into a scheduler that causes that scheduling of pods that use PVC that is being deleted fail.

That's why E2E test for the PR [2] is added. This E2E test also addresses the review comment [1].

[1] https://github.com/kubernetes/kubernetes/pull/56931#pullrequestreview-82564849
[2] https://github.com/kubernetes/kubernetes/pull/55957
2018-01-31 10:49:11 +01:00
NickrenREN
d45a41807e Add Beta VolumeAttachment API 2018-01-31 17:38:11 +08:00
Chris Glass
5a6de4d22a Do not use ifupdown commands
The ifupdown commands (ifup and ifdown) are not useful on many modern
distributions. Instead, the "ip link set" set of commands are standard
linux utilities and should be available everywhere (see
http://baturin.org/docs/iproute2/).

ipupdown utilities have the added quirk that they return 0 on failure,
which makes the changed line fail silently in case ifdown didn't bring
the network down.

After the interface was brought back up, renew DHCP requests to ensure
the network is actually useable.

Signed-off-by: Chris Glass <chris.glass@canonical.com>
2018-01-31 08:33:43 +01:00
jianglingxia
76e90061a2 reopen #58913 Fix TODO move GetPauseImageNameForHostArch func 2018-01-31 15:06:32 +08:00
Kubernetes Submit Queue
7595560a0c Merge pull request #59077 from rramkumar1/ingress-upgrade-test-patch
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fixes ci-ingress-gce-upgrade-e2e

**What this PR does / why we need it**:
This PR fixes the broken ci-ingress-gce-upgrade-e2e job. The issue was that the ingress was being deleted by the test framework before the upgraded ingress could properly sync. Therefore, the resources were never cleaned up, which caused test failure. 

```release-note
None
```

cc @MrHohn 
/assign @bowei
2018-01-30 18:45:51 -08:00
Yang Guo
eeecd6e8c0 Update tests to use the hostexec:1.1 image 2018-01-30 17:31:52 -08:00
Yang Guo
5357a31043 e2e test: use sleep to wait in hostexec 2018-01-30 17:30:41 -08:00