Commit Graph

5647 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
99b2ee1697 Merge pull request #52106 from tallclair/aa-e2e
Automatic merge from submit-queue (batch tested with PRs 50289, 52106)

Fix AppArmor test at scale

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

The AppArmor test only runs on a single node, but previously was loading the necessary profiles to every node. This caused unnecessary churn in very large clusters, so this PR updates the test to only load the profiles to a single node, and ensure the test pod is run on that node (using pod affinity).

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

**Special notes for your reviewer**:

**Release note**:
```release-note
NONE
```
2017-09-12 03:44:18 -07:00
Kubernetes Submit Queue
77e660ed15 Merge pull request #52227 from liggitt/non-preferred-version-priority
Automatic merge from submit-queue (batch tested with PRs 52227, 52120)

Fix discovery restmapper finding resources in non-preferred versions

Fixes: #52219

Also reverts behavioral changes to tests that version-qualified cronjobs to work around this issue.

The discovery rest mapper was only populating the priority rest mapper's search list with preferred groupversions.

That meant that if a resource existed in multiple non-preferred versions, AND did not exist in the preferred version (like cronjob, which only exists in v1beta2.batch and v2alpha1.batch, but not v1.batch), the priority restmapper would not find it in its group/version priority list, and would return an error.

```release-note
Fixed an issue looking up cronjobs when they existed in more than one API version
```
2017-09-12 01:09:14 -07:00
Kubernetes Submit Queue
24ad0d211b Merge pull request #51660 from jiayingz/deviceplugin-e2e
Automatic merge from submit-queue

Extend nvidia-gpus e2e test to include a device plugin based test

**What this PR does / why we need it**:
This is needed to verify device plugin feature.

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

**Special notes for your reviewer**:
Related test_infra PR: https://github.com/kubernetes/test-infra/pull/4265

**Release note**:
Add an e2e test for nvidia gpu device plugin
2017-09-08 22:50:08 -07:00
Jordan Liggitt
a6316fb3a5
Fix discovery restmapper finding resources in non-preferred versions 2017-09-08 22:35:23 -04:00
Kubernetes Submit Queue
f695a3120a Merge pull request #50949 from bsalamat/preemption_eviction
Automatic merge from submit-queue

Add pod preemption to the scheduler

**What this PR does / why we need it**:
This is the last of a series of PRs to add priority-based preemption to the scheduler. This PR connects the preemption logic to the scheduler workflow.

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

**Special notes for your reviewer**:
This PR includes other PRs which are under review (#50805, #50405, #50190). All the new code is located in 43627afdf9.

**Release note**:

```release-note
Add priority-based preemption to the scheduler.
```

ref/ #47604

/assign @davidopp 

@kubernetes/sig-scheduling-pr-reviews
2017-09-08 14:19:42 -07:00
Jiaying Zhang
01b49b4165 Extend test/e2e/scheduling/nvidia-gpus.go to include a device plugin based nvidia gpu e2e test. 2017-09-07 22:06:35 -07:00
Kubernetes Submit Queue
ad0d36f0f0 Merge pull request #52111 from MrHohn/kube-proxy-upgrade-image
Automatic merge from submit-queue

Pipe in upgrade image target for kube-proxy migration tests

**What this PR does / why we need it**:
https://k8s-testgrid.appspot.com/sig-network#gci-gce-latest-upgrade-kube-proxy-ds&width=20
and
https://k8s-testgrid.appspot.com/sig-network#gci-gce-latest-downgrade-kube-proxy-ds&width=20
are still failing.

Reproduced it locally and found node image is being default to debian during upgrade (it was gci before upgrade) because we don't pass in `gci` via `--upgrade--target`. And for some reasons (haven't figured out yet), the upgraded node uses debian image with gci startupscripts...

This PR pipes in `--upgrade-target` for kube-proxy migration tests, hopefully in conjunction with https://github.com/kubernetes/test-infra/pull/4447 it will bring the tests back to normal.

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

**Special notes for your reviewer**:
Sorry for bothering again.
/assign @krousey 

**Release note**:

```release-note
NONE
```
2017-09-07 20:46:04 -07:00
Bobby (Babak) Salamat
86b06c3832 autogenerated files 2017-09-07 15:31:55 -07:00
Bobby (Babak) Salamat
4a08dff168 Add pod eviction logic for scheduler preemption
Add Preempt to scheduler interface
Add preemption to the scheduling workflow
Minor changes to the scheduler integration test library
2017-09-07 15:31:55 -07:00
Kubernetes Submit Queue
f4f21b3f06 Merge pull request #52054 from janetkuo/pause-dep-integra
Automatic merge from submit-queue (batch tested with PRs 52097, 52054)

Move paused deployment e2e tests to integration

**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)*: xref #52113

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-09-07 15:28:25 -07:00
Zihong Zheng
0cb6471f35 Pipe in upgrade image target to kube-proxy migration tests 2017-09-07 13:39:27 -07:00
Tim Allclair
2604f6760a Rerun hack/update-bazel.sh 2017-09-07 13:13:49 -07:00
Tim Allclair
7d180ce009 Verify that AppArmor pod is colocated with the loader 2017-09-07 13:12:50 -07:00
Kubernetes Submit Queue
507af4b9c2 Merge pull request #52057 from enisoc/sts-deflake
Automatic merge from submit-queue

StatefulSet: Deflake e2e RunHostCmd.

The initial retry up to 20s was giving up too soon. I'm seeing this test flake because the Node rebooted and it takes ~2min to recover. Now StatefulSet RunHostCmd calls will use the same 5min timeout as with other Pod state checks.

ref #48031
2017-09-07 11:42:32 -07:00
Tim Allclair
13558e3fe7 Fix AppArmor test at scale 2017-09-07 11:07:35 -07:00
Janet Kuo
124344a1a4 Move paused deployment e2e tests to integration 2017-09-06 18:12:28 -07:00
Kubernetes Submit Queue
5f184c56b3 Merge pull request #52035 from yujuhong/fix-net-util
Automatic merge from submit-queue

e2e: retry on 404 error for service reachability tests
2017-09-06 17:55:06 -07:00
Anthony Yeh
b4f639f57a
StatefulSet: Deflake e2e RunHostCmd.
The initial retry up to 20s was giving up too soon.
I'm seeing this test flake because the Node rebooted and it takes ~2min
to recover.
Now StatefulSet RunHostCmd calls will use the same 5min timeout as with
other Pod state checks.
2017-09-06 17:51:11 -07:00
Kubernetes Submit Queue
dc9859754a Merge pull request #51839 from jennybuckley/master
Automatic merge from submit-queue (batch tested with PRs 51839, 51987)

Disable rbac/v1alpha1, settings/v1alpha1, and scheduling/v1alpha1 by default

**What this PR does / why we need it**: Disables alpha features which were previously enabled by default. Also changes tests which relied on these alpha features being enabled by default.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
Fixed a bug where some alpha features were enabled by default.
2017-09-06 14:42:58 -07:00
Yu-Ju Hong
bb50086b8f e2e: network tiers should retry on 404 errors
The feature is still Alpha and at times, the IP address previously used
by the load balancer in the test will not completely freed even after
the load balancer is long gone. In this case, the test URL with the IP
would return a 404 response. Tolerate this error and retry until the new
load balancer is fully established.
2017-09-06 13:16:28 -07:00
Chao Xu
b0c83c72c1 Charge quota for uninitialized objects at different time
Charge object count when object is created, no matter if the object is
initialized or not.
Charge the remaining quota when the object is initialized.

Also, checking initializer.Pending and initializer.Result when
determining if an object is initialized. We didn't need to check them
because before 51082, having 0 pending initializer and nil
initializers.Result is invalid.
2017-09-06 10:20:32 -07:00
Kubernetes Submit Queue
8b9f0ea5de Merge pull request #51838 from MrHohn/kube-proxy-migration-tests
Automatic merge from submit-queue (batch tested with PRs 51733, 51838)

Decouple kube-proxy upgrade/downgrade tests from upgradeTests

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

Fixes the failing kube-proxy migration CI jobs:
- https://k8s-testgrid.appspot.com/sig-network#gci-gce-latest-upgrade-kube-proxy-ds
- https://k8s-testgrid.appspot.com/sig-network#gci-gce-latest-downgrade-kube-proxy-ds

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

**Special notes for your reviewer**:

/assign @krousey @nicksardo 
Could you please take a look post code-freeze (I believe it is fixing things)? Thanks!

**Release note**:

```release-note
NONE
```
2017-09-06 00:02:20 -07:00
Kubernetes Submit Queue
795154919d Merge pull request #51733 from caesarxuchao/only-relax-uninitialized-pod-validation
Automatic merge from submit-queue (batch tested with PRs 51733, 51838)

Relax update validation of uninitialized pod

Split from https://github.com/kubernetes/kubernetes/pull/50344

Fix https://github.com/kubernetes/kubernetes/issues/47837

* Let the podStrategy to only call `validation.ValidatePod()` if the old pod is not initialized, so fields are mutable.
* Let the podStatusStrategy refuse updates if the old pod is not initialized.

cc @smarterclayton 

```release-note
Pod spec is mutable when the pod is uninitialized. The apiserver requires the pod spec to be valid even if it's uninitialized. Updating the status field of uninitialized pods is invalid.
```
2017-09-06 00:02:17 -07:00
Chao Xu
3432e38f90 bazel 2017-09-05 22:08:04 -07:00
Chao Xu
7bfffb40c5 enable the quota e2e test 2017-09-05 22:08:04 -07:00
Jordan Liggitt
f61ac93a0d
Fix dynamic discovery error in e2e 2017-09-05 23:01:54 -04:00
Zihong Zheng
cc24b1ff93 Decouple kube-proxy migration tests from upgradeTests 2017-09-05 14:37:35 -07:00
Zihong Zheng
c5caf37c5a Implement KubeProxyUpgradeTest and KubeProxyDowngradeTest 2017-09-05 14:37:29 -07:00
jennybuckley
3ebd68abf6 Disable rbac/v1alpha1 settings/v1alpha1 scheduling/v1alpha1 2017-09-05 14:10:24 -07:00
David Ashpole
e5a6a79fd7 update cadvisor, docker, and runc godeps 2017-09-05 12:38:57 -07:00
Kubernetes Submit Queue
1732a8b9bd Merge pull request #51562 from nicksardo/gce-attempt-firewall
Automatic merge from submit-queue (batch tested with PRs 51915, 51294, 51562, 51911)

GCE: Gracefully handle permission errors when attempting to create firewall rules

Purpose of this PR is to raise events from the GCE cloud provider if the GCE service account does not have the permissions necessary to create/update/delete firewall rules. 

Fixes #51812

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

Example Events:

```
Events:
  FirstSeen     LastSeen        Count   From                    SubObjectPath   Type            Reason                          Message
  ---------     --------        -----   ----                    -------------   --------        ------                          -------
  2m            2m              1       service-controller                      Normal          EnsuringLoadBalancer            Ensuring load balancer
  2m            2m              1       gce-cloudprovider                       Normal          LoadBalancerManualChange        Firewall change required by network admin: `gcloud compute firewall-rules create aa8a1dd628ddb11e78ce042010a80000 --network https://www.googleapis.com/compute/v1/projects/playground/global/networks/e2e-test-nicksardo --description "{\"kubernetes.io/service-name\":\"default/myechosvc1\", \"kubernetes.io/service-ip\":\"\"}" --allow tcp:9000 --source-ranges 0.0.0.0/0 --target-tags e2e-test-nicksardo-minion --project playground`
  2m            2m              1       gce-cloudprovider                       Normal          LoadBalancerManualChange        Firewall change required by network admin: `gcloud compute firewall-rules create k8s-1aee5045e658d174-node-hc --network https://www.googleapis.com/compute/v1/projects/playground/global/networks/e2e-test-nicksardo --description "" --allow tcp:10256 --source-ranges 130.211.0.0/22,35.191.0.0/16,209.85.152.0/22,209.85.204.0/22 --target-tags e2e-test-nicksardo-minion --project playground`
  1m            1m              1       service-controller                      Normal          EnsuredLoadBalancer             Ensured load balancer
```
2017-09-05 08:47:28 -07:00
Kubernetes Submit Queue
4692555e72 Merge pull request #51294 from dashpole/scheduler_remove_ood
Automatic merge from submit-queue (batch tested with PRs 51915, 51294, 51562, 51911)

Remove OutOfDisk from controllers

This is one of the working items for #48843 for 1.8.

This changes the scheduler and daemonset controllers to no longer respect the OutOfDisk condition.  The kubelet has not published OutOfDisk=True since 1.5.
This still preserves the Toleration for the OutOfDisk condition, as (I think?) this is required for backwards compatibility.  I added TODOs to remove this in 1.10.
2017-09-05 08:47:25 -07:00
Kubernetes Submit Queue
74608e7899 Merge pull request #51915 from liggitt/e2e-ns-cleanup
Automatic merge from submit-queue

Tolerate group discovery errors in e2e ns cleanup

Fixes #51910
Fixes #51424
2017-09-05 08:17:31 -07:00
Kubernetes Submit Queue
c31eb54cca Merge pull request #51833 from verult/VolumeIoOom
Automatic merge from submit-queue (batch tested with PRs 51833, 51936)

Changed volume IO e2e test to verify file hash instead of content.

**What this PR does / why we need it**: The existing way of verifying file content takes too much memory, causing processes to be OOM killed.

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

**Release note**:

```release-note
NONE
```
/sig storage
/release-note-none
/assign @jeffvance @rootfs 
/cc @msau42
2017-09-05 02:14:56 -07:00
David Ashpole
97ab99aaa0 remove OutOfDisk from controllers 2017-09-04 17:35:55 -07:00
Jordan Liggitt
5acd5b52f4
Tolerate group discovery errors in e2e ns cleanup 2017-09-04 17:31:17 -04:00
Mik Vyatskov
dca2b5ffdd Fix Stackdriver Logging tests for large clusters 2017-09-04 21:54:03 +02:00
Nick Sardo
676b95e097 Gracefully handle permission errors when attempting to create firewall rules 2017-09-04 09:00:49 -07:00
Kubernetes Submit Queue
0dedd13ad7 Merge pull request #51734 from soltysh/cronjobs_beta
Automatic merge from submit-queue

Enable batch/v1beta1.CronJobs by default

This PR re-applies the cronjobs->beta back (https://github.com/kubernetes/kubernetes/pull/51720)  with the fix from @shyamjvs.

Fixes #51692

@apelisse @dchen1107 @smarterclayton ptal
@janetkuo @erictune fyi
2017-09-03 18:22:27 -07:00
Kubernetes Submit Queue
6ec80eac1b Merge pull request #51816 from liggitt/xiangpengzhao-remove-initc-anno
Automatic merge from submit-queue

Remove deprecated init-container in annotations

fixes #50655
fixes #51816 
closes #41004
fixes #51816 

Builds on #50654 and drops the initContainer annotations on conversion to prevent bypassing API server validation/security and targeting version-skewed kubelets that still honor the annotations

```release-note
The deprecated alpha and beta initContainer annotations are no longer supported. Init containers must be specified using the initContainers field in the pod spec.
```
2017-09-03 17:35:11 -07:00
Kubernetes Submit Queue
b63abc9fdd Merge pull request #51153 from clamoriniere1A/feature/job_failure_policy_controller
Automatic merge from submit-queue

Job failure policy controller support

**What this PR does / why we need it**:
Start implementing the support of the "Backoff policy and failed pod limit" in the ```JobController```  defined in https://github.com/kubernetes/community/pull/583.
This PR depends on a previous PR #48075  that updates the K8s API types.

TODO: 
* [X] Implement ```JobSpec.BackoffLimit``` support
* [x] Rebase when #48075 has been merged.
* [X] Implement end2end tests



implements https://github.com/kubernetes/community/pull/583

**Special notes for your reviewer**:

**Release note**:
```release-note
Add backoff policy and failed pod limit for a job
```
2017-09-03 13:13:17 -07:00
Kubernetes Submit Queue
f07279ada2 Merge pull request #51474 from verult/ProberTest
Automatic merge from submit-queue (batch tested with PRs 51805, 51725, 50925, 51474, 51638)

Flexvolume dynamic plugin discovery: Prober unit tests and basic e2e test.

**What this PR does / why we need it**: Tests for changes introduced in PR #50031 .
As part of the prober unit test, I mocked filesystem, filesystem watch, and Flexvolume plugin initialization.
Moved the filesystem event goroutine to watcher implementation.

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

**Special notes for your reviewer**:
First commit contains added functionality of the mock filesystem.
Second commit is the refactor for moving mock filesystem into a common util directory.
Third commit is the unit and e2e tests.

**Release note**:

```release-note
NONE
```
/release-note-none
/sig storage
/assign @saad-ali @liggitt 
/cc @mtaufen @chakri-nelluri @wongma7
2017-09-03 11:10:05 -07:00
Kubernetes Submit Queue
f12368a187 Merge pull request #51805 from yujuhong/net-tiers-static-ip-test
Automatic merge from submit-queue

e2e: test using reserved IP with network tiers
2017-09-03 10:33:12 -07:00
cedric lamoriniere
1dbef2f113
Job failure policy support in JobController
Job failure policy integration in JobController. From the
JobSpec.BackoffLimit the JobController will define the backoff
duration between Job retry.

It use the ```workqueue.RateLimitingInterface``` to store the number of
"retry" as "requeue" and the default Job backoff initial duration is set
during the initialization of the ```workqueue.RateLimiter.

Since the number of retry for each job is store in a local structure
"JobController.queue" if the JobController restarts the number of retries
will be lost and the backoff duration will be reset to 0.

Add e2e test for Job backoff failure policy
2017-09-03 12:07:12 +02:00
Shyam Jeedigunta
ba9e93cb27
Correct CronJob group version at remaining places 2017-09-03 11:17:33 +02:00
Maciej Szulik
6962427b35
Enable batch/v1beta1.CronJobs by default 2017-09-03 11:17:33 +02:00
Kubernetes Submit Queue
12f96e2e35 Merge pull request #51283 from caesarxuchao/fix-initializer-validate
Automatic merge from submit-queue (batch tested with PRs 51583, 51283, 51374, 51690, 51716)

Unify initializer name validation

Unify the validation rules on initializer names. Fix https://github.com/kubernetes/kubernetes/issues/51843.

```release-note
Action required: validation rule on metadata.initializers.pending[x].name is tightened. The initializer name needs to contain at least three segments separated by dots. If you create objects with pending initializers, (i.e., not relying on apiserver adding pending initializers according to initializerconfiguration), you need to update the initializer name in existing objects and in configuration files to comply to the new validation rule.
```
2017-09-02 20:35:22 -07:00
Kubernetes Submit Queue
da7ee10913 Merge pull request #49457 from mkumatag/tests_multiarch
Automatic merge from submit-queue

Use the right image for the right platform in the e2e tests

**What this PR does / why we need it**:
This PR is for enabling kubernetes tests for multi architecture platform
**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #38067

**Special notes for your reviewer**:
This will enable conformance tests for all the supported architectures.
**Release note**:

```release-note
Make all e2e tests lookup image to use from a centralized place. In that centralized place, add support for multiple platforms.
```

x-ref #38067
2017-09-02 15:18:10 -07:00
Jaice Singer DuMars
e8ad052b75 Merge pull request #51758 from NickrenREN/scheduling-e2e
Fix scheduling e2e test case for local ephemeral storage
2017-09-02 16:55:36 -04:00
Cheng Xing
ff2ad08482 Changed volume IO e2e test to verify file hash instead of content. 2017-09-01 15:23:53 -07:00