Commit Graph

5069 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
aa35738a21 Merge pull request #47075 from janetkuo/ds-history-patch
Automatic merge from submit-queue

Change what is stored in DaemonSet history `.data`

**What this PR does / why we need it**: 
In DaemonSet history `.data`, store a strategic merge patch that can be applied to restore a DaemonSet. Only PodSpecTemplate is saved. 

This will become consistent with the data stored in StatefulSet history. 

Before this fix, a serialized pod template is stored in `.data`; however, seriazlized pod template isn't a `runtime.RawExtension`, and caused problems when controllers try to patch the history's controller ref. 

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

**Special notes for your reviewer**: @kubernetes/sig-apps-bugs @erictune @kow3ns @kargakis @lukaszo @mengqiy 

**Release note**:

```release-note
NONE
```
2017-06-12 23:31:08 -07:00
Dawn Chen
76b5ce0f2a Merge pull request #47364 from ericchiang/fix-empty-namespace-watch
test/e2e: fix empty namespace being passed to wait
2017-06-12 16:56:10 -07:00
Dawn Chen
139d7eeae2 Merge pull request #47369 from nicksardo/nginx-ingress-slow
[Nginx] Run nginx ingress test in slow suite
2017-06-12 15:33:57 -07:00
Nick Sardo
2d8b6df869 Run nginx ingress test in slow suite 2017-06-12 14:05:45 -07:00
Eric Chiang
e1d5c49291 test/e2e: fix empty namespace being passed to watch 2017-06-12 13:15:38 -07:00
Janet Kuo
2b8f91e549 Update kubectl rollout to consume .data of DaemonSet history
Also update tset data to make sure DaemonSet template is replaced, not
merged, when rolling back.
2017-06-10 10:52:33 -07:00
Wojciech Tyczynski
40a60cd42e Drecrease parallelism in load test 2017-06-09 20:27:23 +02: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
6b7e7f7797 Merge pull request #46665 from yujuhong/fail-clearly
Automatic merge from submit-queue (batch tested with PRs 47113, 46665, 47189)

Improve the e2e node restart test

This commit includes the following two changes:
 * Move pre-test checks (pods/nodes ready) to BeforeEach() so that it's
   clear whether the test has run or not.
 * Dumping logs for unready pods.
2017-06-09 10:26:42 -07:00
Kubernetes Submit Queue
4f73e7a068 Merge pull request #46856 from wasylkowski/deleting-hpa
Automatic merge from submit-queue (batch tested with PRs 46835, 46856)

Made tests that create Horizontal Pod Autoscaler delete it after they are done.

**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 #46847

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-06-09 08:25:43 -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
9f23149a52 Merge pull request #44965 from jpeeler/podpreset-exclusion-simple
Automatic merge from submit-queue

Allow pods to opt out of PodPreset mutation via an annotation on the pod

An annotation in the pod spec of the form:
podpreset.admission.kubernetes.io/PodPresetOptOut: "true"
Will cause the admission controller to skip manipulating the pod spec,
no matter the labelling.

This is an alternative implementation to pull #44163.

```release-note
Allow pods to opt out of PodPreset mutation via an annotation on the pod.
```
2017-06-08 22:57:34 -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
Kubernetes Submit Queue
409165bbad Merge pull request #47157 from wasylkowski/remove-rc-race-condition
Automatic merge from submit-queue (batch tested with PRs 47065, 47157, 47143)

Removed a race condition from ResourceConsumer

**What this PR does / why we need it**: Without this PR there is a race condition in ResourceConsumer that sometimes results in communication to pods that might not exist anymore.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-06-08 13:43:14 -07:00
Kubernetes Submit Queue
d31c946f31 Merge pull request #46970 from shiywang/cdr
Automatic merge from submit-queue (batch tested with PRs 46559, 46970)

Add e2e test that ensures that CRDs work in kube-apiserver

part of https://github.com/kubernetes/kubernetes/issues/45511
2017-06-08 11:43:04 -07:00
Shiyang Wang
f7ae22ab8e e2e test that ensures that CRDs work in kube-apiserver 2017-06-08 21:28:04 +08:00
Kubernetes Submit Queue
b77ed78688 Merge pull request #44358 from wongma7/nfs-bump
Automatic merge from submit-queue

Bump external provisioner image to smaller version

The image is roughly half as big so this should improve speed/flakiness maybe
-->
```release-note
NONE
```
2017-06-08 04:38:27 -07:00
Andrzej Wasylkowski
79d3d795b5 Removed a race condition from ResourceConsumer. 2017-06-08 06:05:11 +02:00
Kubernetes Submit Queue
1901cf8a37 Merge pull request #47138 from smarterclayton/delete_collection
Automatic merge from submit-queue (batch tested with PRs 46979, 47078, 47138, 46916)

DeleteCollection should include uninitialized resources

Users who delete a collection expect all resources to be deleted, and
users can also delete an uninitialized resource. To preserve this
expectation, DeleteCollection selects all resources regardless of
initialization.

The namespace controller should list uninitialized resources in order to
gate cleanup of a namespace.

Fixes #47137
2017-06-07 19:01:47 -07:00
Kubernetes Submit Queue
6bc4006d23 Merge pull request #46979 from shashidharatd/fed-cleanup-cp-resource
Automatic merge from submit-queue (batch tested with PRs 46979, 47078, 47138, 46916)

[federation][e2e] Fix cleanupServiceShardLoadBalancer

**What this PR does / why we need it**:
Fixes the issue mentioned in #46976

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

**Special notes for your reviewer**:

```release-note
NONE
```
2017-06-07 19:01:43 -07:00
Kubernetes Submit Queue
551d01c129 Merge pull request #46630 from danwinship/networkpolicy-test-v1
Automatic merge from submit-queue (batch tested with PRs 45877, 46846, 46630, 46087, 47003)

update NetworkPolicy e2e test for v1 semantics

This makes the NetworkPolicy test at least correct for v1, although ideally we'll eventually add a few more tests... (So this covers about half of #46625.)

I've tested that this compiles, but not that it passes, since I don't have a v1-compatible NetworkPolicy implementation yet...

@caseydavenport @ozdanborne, maybe you're closer to having a testable plugin than I am?

**Release note**:
```release-note
NONE
```
2017-06-07 17:55:48 -07:00
Clayton Coleman
9ad1f80fdc DeleteCollection should include uninitialized resources
Users who delete a collection expect all resources to be deleted, and
users can also delete an uninitialized resource. To preserve this
expectation, DeleteCollection selects all resources regardless of
initialization.

The namespace controller should list uninitialized resources in order to
gate cleanup of a namespace.
2017-06-07 17:50:57 -04:00
Dan Gillespie
fa67fdea1e use actual hostname in NodeSelector for network test Pod 2017-06-07 13:51:24 -07:00
Kubernetes Submit Queue
8f4aacf6d5 Merge pull request #47136 from smarterclayton/skip_on_not_found
Automatic merge from submit-queue

Skip dynamic configuration of initializers test on alpha disable

Fixes #47133
2017-06-07 13:49:00 -07:00
Kubernetes Submit Queue
24f958d46e Merge pull request #46991 from MrHohn/defer-deleteStaticIP-before-assert
Automatic merge from submit-queue (batch tested with PRs 43005, 46660, 46385, 46991, 47103)

[gke-slow always fails] Defer DeleteGCEStaticIP before asserting error

From https://github.com/kubernetes/kubernetes/issues/46918.

I'm getting close to the root cause: During tests, CreateGCEStaticIP() in fact successfully created static IP, but the parser we wrote in test mistakenly think we failed, probably because the gcloud output format was changed recently (or not). I'm still looking into fixing that.

This PR defer the delete function before asserting the error so that we can stop consistently leaking static IP in every run.

/assign @krzyzacy @dchen1107 

```release-note
NONE
```
2017-06-07 13:31:02 -07:00
shashidharatd
605b106d2d Made CleanupGCEResources explicitly take zone parameter 2017-06-08 00:02:22 +05:30
Clayton Coleman
a48ba2873b Skip dynamic configuration of initializers test on alpha disable 2017-06-07 14:00:49 -04:00
Kubernetes Submit Queue
e7bb6af46c Merge pull request #47005 from MaciekPytel/add_e2e_setup_time
Automatic merge from submit-queue (batch tested with PRs 46977, 47005, 47018, 47061, 46809)

Fix for cluster-autoscaler e2e failures

This may help with cluster-autoscaler e2e failing in setup if the tests are run before all machines in mig get fully ready.
2017-06-07 08:10:40 -07:00
Dan Winship
a2cb516690 Basic port of NetworkPolicy test to v1 semantics 2017-06-07 09:37:41 -04:00
Dan Winship
bc13aa5e60 Abstract out duplicated cleanup code 2017-06-07 09:37:40 -04:00
Dan Winship
a0a7f0148e Update NetworkPolicy test for v1 API (and use generated client) 2017-06-07 09:37:40 -04:00
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
07e4cca7b3 Merge pull request #46833 from wasylkowski/fix-rc-cleanup
Automatic merge from submit-queue (batch tested with PRs 46235, 44786, 46833, 46756, 46669)

Fixed ResourceConsumer.CleanUp to properly clean up non-replication-controller resources and pods

**What this PR does / why we need it**: Without this fix CleanUp does not remove non-replication-controller resources and pods. This leads to pollution that in some cases inadvertently affects what is happening in AfterEachs before the namespace gets deleted.

**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-07 00:27:49 -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
Kubernetes Submit Queue
379a15a478 Merge pull request #46881 from smarterclayton/fixes_to_table_print
Automatic merge from submit-queue (batch tested with PRs 47083, 44115, 46881, 47082, 46577)

Add an e2e test for server side get

Print a better error from the response. Performs validation to ensure it
does not regress in alpha state.

This is tests and bug fixes for https://github.com/kubernetes/community/pull/363

@kubernetes/sig-api-machinery-pr-reviews
2017-06-06 18:48:16 -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
abb5e6e709 Made tests that create Horizontal Pod Autoscaler delete it after they are done. 2017-06-06 19:59:14 +02:00
Andrzej Wasylkowski
c12f4978c2 Made WaitForReplicas and EnsureDesiredReplicas use PollImmediate and improved logging. 2017-06-06 19:52:34 +02:00
Yu-Ju Hong
ce57de9a84 Improve the e2e node restart test
This commit includes the following two changes:
 * Move pre-test checks (pods/nodes ready) to BeforeEach() so that it's
   clear whether the test has run or not.
 * Dumping logs for unready pods.
2017-06-06 09:30:17 -07:00
Christoph Blecker
1bdc7a29ae Update docs/ URLs to point to proper locations 2017-06-05 22:13:54 -07:00
Kubernetes Submit Queue
a552ee61a0 Merge pull request #46672 from smarterclayton/initializer_with_config
Automatic merge from submit-queue (batch tested with PRs 46967, 46992, 43338, 46717, 46672)

Select initializers from the dynamic configuration

Continues #36721

kubernetes/features#209
2017-06-05 20:27:50 -07: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
Maciej Pytel
ecc33fd8c2 Wait for instances boot in cluster-autoscaler e2e 2017-06-06 01:46:57 +02:00
Kubernetes Submit Queue
4faf7f1f4c Merge pull request #46663 from nicksardo/gce-internallb
Automatic merge from submit-queue (batch tested with PRs 46550, 46663, 46816, 46820, 46460)

[GCE] Support internal load balancers

**What this PR does / why we need it**:
Allows users to expose K8s services externally of the K8s cluster but within their GCP network. 

Fixes #33483

**Important User Notes:**
- This is a beta feature. ILB could be enabled differently in the future. 
- Requires nodes having version 1.7.0+ (ILB requires health checking and a health check endpoint on kube-proxy has just been exposed)
- This cannot be used for intra-cluster communication. Do not call the load balancer IP from a K8s node/pod.  
- There is no reservation system for private IPs. You can specify a RFC 1918 address in `loadBalancerIP` field, but it could be lost to another VM or LB if service settings are modified.
- If you're running an ingress, your existing loadbalancer backend service must be using BalancingMode type `RATE` - not `UTILIZATION`. 
  - Option 1: With a 1.5.8+ or 1.6.4+ version master, delete all your ingresses, and re-create them.
  - Option 2: Migrate to a new cluster running 1.7.0. Considering ILB requires nodes with 1.7.0, this isn't a bad idea.
  - Option 3: Possible migration opportunity, but use at your own risk. More to come later.


**Reviewer Notes**:
Several files were renamed, so github thinks ~2k lines have changed. Review commits one-by-one to see the actual changes.

**Release note**:
```release-note
Support creation of GCP Internal Load Balancers from Service objects
```
2017-06-05 16:43:41 -07:00
Jeff Lowdermilk
ac1ce7f1cd Don't parse human-readable output from gcloud in tests 2017-06-05 16:15:57 -07:00
Clayton Coleman
772ab8e1b4 Load initializers from dynamic config
Handle failure cases on startup gracefully to avoid causing cascading
errors and poor initialization in other components. Initial errors from
config load cause the initializer to pause and hold requests. Return
typed errors to better communicate failures to clients.

Add code to handle two specific cases - admin wants to bypass
initialization defaulting, and mirror pods (which want to bypass
initialization because the kubelet owns their lifecycle).
2017-06-05 19:12:41 -04:00
Zihong Zheng
d455fad134 Defer DeleteGCEStaticIP before asserting error 2017-06-05 14:24:32 -07:00
Jeff Peeler
08a59530e1 Allow pods to opt out of PodPreset mutation
An annotation in the pod spec of the form:
podpreset.admission.kubernetes.io/exclude: "true"
Will cause the admission controller to skip manipulating the pod spec,
no matter the labelling.

The annotation for a podpreset acting on a pod has also been slightly
modified to contain a podpreset prefix:
podpreset.admission.kubernetes.io/podpreset-{name} = resource version

Fixes #44161
2017-06-05 11:56:30 -04:00