Commit Graph

3822 Commits

Author SHA1 Message Date
k8s-merge-robot
c63ac4e664 Merge pull request #24331 from jsafrane/devel/refactor-binder
Automatic merge from submit-queue

Refactor persistent volume controller

Here is complete persistent controller as designed in https://github.com/pmorie/pv-haxxz/blob/master/controller.go

It's feature complete and compatible with current binder/recycler/provisioner. No new features, it *should* be much more stable and predictable.

Testing
--
The unit test framework is quite complicated, still it was necessary to reach reasonable coverage (78% in `persistentvolume_controller.go`). The untested part are error cases, which are quite hard to test in reasonable way - sure, I can inject a VersionConflictError on any object update and check the error bubbles up to appropriate places, but the real test would be to run `syncClaim`/`syncVolume` again and check it recovers appropriately from the error in the next periodic sync. That's the hard part.

Organization
---
The PR starts with `rm -rf kubernetes/pkg/controller/persistentvolume`. I find it easier to read when I see only the new controller without old pieces scattered around.
[`types.go` from the old controller is reused to speed up matching a bit, the code looks solid and has 95% unit test coverage].

I tried to split the PR into smaller patches, let me know what you think.

~~TODO~~
--

* ~~Missing: provisioning, recycling~~.
* ~~Fix integration tests~~
* ~~Fix e2e tests~~

@kubernetes/sig-storage

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24331)
<!-- Reviewable:end -->

Fixes #15632
2016-05-19 03:06:46 -07:00
Janet Kuo
6ca3c16f4c Remove kubectl describe test from flaky list 2016-05-18 21:27:29 -07:00
Danka Niedziałkowska
bba211e04b Test for GKE local SSD 2016-05-18 18:11:22 -07:00
Daniel Smith
0bda969cd5 Merge pull request #25261 from jayunit100/readySched
Support GetReadySchedulable pods for all node selecting tests.
2016-05-18 17:24:09 -07:00
Daniel Smith
c4889dd826 Merge pull request #25781 from pwittrock/issue-25657
Clean up kubectl test to use the blessed e2e test redis configs and t…
2016-05-18 17:22:54 -07:00
CJ Cullen
57f96a932f Add expiration LRU cache for webhook token authenticator. 2016-05-18 11:58:11 -07:00
Andy Zheng
25c9764f29 e2e: use amd64 kubectl for simple pod HTTP proxy test 2016-05-18 10:29:00 -07:00
Kevin
52fb89ff73 implement taints and tolerations 2016-05-18 15:06:23 +00:00
Jan Chaloupka
ebe56f5ff9 Extend the current secrets mounting to volume implementation with key to path mapping.
The key to path mapping allows pod to specify different name (thus location) of each secret.
At the same time refactor the volume plugin to use AtomicWritter to project secrets to files in a volume.

Update e2e Secrets test, the secret file permission has changed from 0444 to 0644
Remove TestPluginIdempotent as the AtomicWritter is responsible for secret creation
2016-05-18 16:12:31 +02:00
k8s-merge-robot
48c90f15c5 Merge pull request #24509 from caesarxuchao/primitive-gc
Automatic merge from submit-queue

Adding garbage collector controller

Adding the propagator and garbage processor of the gc.

Design doc is at https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/garbage-collection.md

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24509)
<!-- Reviewable:end -->
2016-05-18 03:14:25 -07:00
Jan Safranek
79b91b9ee0 Refactor persistent volume initialization
There should be only one initialization function, shared by the real
controller and unit tests.
2016-05-18 10:06:51 +02:00
Jan Safranek
440b4bc6ba Fix integration tests. 2016-05-18 10:06:51 +02:00
k8s-merge-robot
bf4f84167f Merge pull request #23567 from smarterclayton/init_containers
Automatic merge from submit-queue

Add init containers to pods

This implements #1589 as per proposal #23666

Incorporates feedback on #1589, creates parallel structure for InitContainers and Containers, adds validation for InitContainers that requires name uniqueness, and comments on a number of implications of init containers.

This is a complete alpha implementation.

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/23567)
<!-- Reviewable:end -->
2016-05-18 00:53:30 -07:00
pwittrock
c7bfbe6460 Clean up kubectl test to use the blessed e2e test redis configs and to output debug info when failing. Debugs #25657. 2016-05-18 04:22:09 +00:00
zhouhaibing089
2afa7eed44 fix the Store to be Indexer 2016-05-18 10:18:13 +08:00
Janet Kuo
e428b77cbe Fix e2e test failure: pull redis image from gcr instead of docker 2016-05-17 15:12:09 -07:00
Janet Kuo
b51782206f Generate gobindata data 2016-05-17 15:12:07 -07:00
Chao Xu
0cda99b8d7 fixing TestCascadingDeletion flake 2016-05-17 13:48:37 -07:00
gmarek
eb48166d5b Fix resource-gatherer that never gathered resources from non-master machines 2016-05-17 17:53:18 +02:00
k8s-merge-robot
959e6ca6b1 Merge pull request #25742 from jszczepkowski/kac-nodeport-test
Automatic merge from submit-queue

Added e2e test for cluster autoscaler that verifies host ports.

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()

Added e2e test for cluster autoscaler that verifies host ports.
2016-05-17 07:13:24 -07:00
Jan Chaloupka
0e0be8421f gcr.io/google_containers/mounttest: use Stat instead of Lstat to retrieve fileinfo of symlinks as well 2016-05-17 15:57:33 +02:00
Jerzy Szczepkowski
905382f7b8 Added e2e test for cluster autoscaler that verifies host ports.
Added e2e test for cluster autoscaler that verifies host ports.
2016-05-17 15:07:30 +02:00
gmarek
0848ad2201 Prevent division by 0 error in resource-gatherer 2016-05-17 14:35:48 +02:00
Wojciech Tyczynski
2f2d650150 Merge pull request #25667 from wojtek-t/higher_list_nodes_limit
Bump threshold for listing nodes
2016-05-17 10:46:30 +02:00
Wojciech Tyczynski
022f510312 Fix services in load test 2016-05-17 09:17:51 +02:00
Wojciech Tyczynski
abe8259a30 Bump threshold for listing nodes 2016-05-17 08:45:53 +02:00
Clayton Coleman
205a8b4574 Add init container loading to the kubelet 2016-05-17 00:29:53 -04:00
Jeff Grafton
83dd910175 Add a timeout to the node e2e Ginkgo test runner
Also add a few debugging statements to indicate progress.
2016-05-16 20:22:41 -07:00
Random-Liu
d1ab3b7f01 Change consistently check timeout to 20 seconds. 2016-05-16 16:38:40 -07:00
k8s-merge-robot
a0cc59f28a Merge pull request #25658 from jszczepkowski/kac-test
Automatic merge from submit-queue

Updated e2e tests for cluster autoscaling.

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()

Updated e2e tests for cluster autoscaling to work with the new cluster autoscaler.
2016-05-16 06:56:30 -07:00
Jerzy Szczepkowski
96818874f4 Updated e2e tests for cluster autoscaling.
Updated e2e tests for cluster autoscaling to work with the new cluster autoscaler.
2016-05-16 14:49:43 +02:00
k8s-merge-robot
9aa1a59443 Merge pull request #25568 from wojtek-t/namespaces_in_load_test
Automatic merge from submit-queue

Introduce namespaces in load test

Ref #25563
2016-05-16 01:01:29 -07:00
Chao Xu
21706384f7 use garbage queue drained instead of a watch 2016-05-16 00:14:51 -07:00
Wojciech Tyczynski
4b0b6a13e0 Introduce namespaces in load test 2016-05-16 08:33:27 +02:00
Chao Xu
c73406bcfe the garbage collector controller 2016-05-15 16:04:19 -07:00
k8s-merge-robot
141f814eb8 Merge pull request #25100 from rootfs/e2e-gce-volume
Automatic merge from submit-queue

add GCE PD volume e2e tests

add GCE PD e2e volume test

@kubernetes/sig-storage
2016-05-15 05:33:38 -07:00
k8s-merge-robot
cb9a85166c Merge pull request #24191 from liangchenye/podstatus
Automatic merge from submit-queue

Add pod status/ready/restartCount conformance test

add more test cases to cover containers which will be terminated/running/failed/pending.

Signed-off-by: liang chenye <liangchenye@huawei.com>
2016-05-14 09:29:00 -07:00
k8s-merge-robot
9796900306 Merge pull request #25551 from mml/db.store.codegen
Automatic merge from submit-queue

The remaining API changes for PodDisruptionBudget.

It's mostly the boilerplate required for the registry, some extra codegen, and a few tests.

Will squash once we're sure it's good.
2016-05-13 20:15:15 -07:00
Matt Liggett
f5e8d41431 Finish implementing policy API.
Registry implementation and addition to the master.
2016-05-13 17:27:58 -07:00
Jeff Lowdermilk
731a4f78f2 Merge pull request #25537 from jlowdermilk/e2e-framework-fix
e2e: make ForEach fail if filter is empty, fix no-op tests
2016-05-13 17:04:33 -07:00
Jeff Lowdermilk
e02cad4a11 Merge pull request #25564 from davidopp/fix-pod-affinity-test
Move test input files from test/e2e/node-selection/ to test/e2e/testing-manifests/
2016-05-13 16:07:20 -07:00
Jeff Lowdermilk
6a15e0a9c2 e2e: make ForEach fail if filter is empty, fix no-op tests 2016-05-13 14:56:50 -07:00
Jeff Lowdermilk
4aabafe4c3 Merge pull request #25519 from jlowdermilk/no-trim
Don't trim whitespace from kubectl output in e2e tests
2016-05-13 13:01:22 -07:00
David Oppenheimer
dd70a5e579 Move test input files from test/e2e/node-selection/ to
test/e2e/testing-manifests/ since the latter are included in the test
tarball while the former are not.
2016-05-13 11:47:17 -07:00
gmarek
74773827ba Add an option for resource-gatherer to look only on master node 2016-05-13 09:53:38 +02:00
k8s-merge-robot
4bb30e0097 Merge pull request #24806 from jayunit100/kubectl-stdin
Automatic merge from submit-queue

[e2e] kubectl stdin

Problem:  Currently kubectl heavily relies on files which have to be (for lack of a better word :):):)) "written" to the file system.  This hinders adoption of something like gobindata, by forcing an intermediary generated-assets directory type thing.

Solution: Lets migrate `kubectl.go` testing over to using standard input streams.

cc @kubernetes/sig-testing @timothysc
2016-05-13 00:10:43 -07:00
Jeff Lowdermilk
9dab67d106 move same image rolling-update test out of Flaky 2016-05-12 14:22:23 -07:00
k8s-merge-robot
15919f336f Merge pull request #25284 from bprashanth/service_unready
Automatic merge from submit-queue

Add a service annotation that allows endpoints for unready pods

See https://github.com/kubernetes/kubernetes/issues/25283 for context 
@smarterclayton @thockin yes?

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/25284)
<!-- Reviewable:end -->
2016-05-12 12:05:27 -07:00
Jeff Lowdermilk
5f0d1f04b8 Don't trim whitespace from kubectl output in e2e tests 2016-05-12 09:00:51 -07:00
k8s-merge-robot
132ebb091a Merge pull request #24459 from fgrzadkowski/unschedulable_pod
Automatic merge from submit-queue

Add pod condition PodScheduled to detect situation when scheduler tried to schedule a Pod, but failed

Set `PodSchedule` condition to `ConditionFalse` in `scheduleOne()` if scheduling failed and to `ConditionTrue` in `/bind` subresource.

Ref #24404

@mml (as it seems to be related to "why pending" effort)

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24459)
<!-- Reviewable:end -->
2016-05-12 05:54:06 -07:00