Commit Graph

232 Commits (3afd822537a65e0e21f3b5124d758de58e82f5b9)

Author SHA1 Message Date
k8s-merge-robot 59836d6dbd Merge pull request #24841 from sjenning/shared-informer
Automatic merge from submit-queue

update node controller to use shared pod informer

continuing work from #24470 and #23575
2016-08-02 03:45:01 -07:00
k8s-merge-robot 444e34fc7e Merge pull request #29371 from ping035627/ping035627-patch-0722
Automatic merge from submit-queue

Print two errors to log

The PR add two error info to log.
2016-07-22 17:13:18 -07:00
k8s-merge-robot 73f1218398 Merge pull request #29370 from ping035627/ping035627-patch-0721-2
Automatic merge from submit-queue

add configz.InstallHandler in controllermanager.go

I think it should add configz.InstallHandler for Run function in controllermanager.go.
2016-07-22 17:13:14 -07:00
k8s-merge-robot 60e59c9461 Merge pull request #29184 from wojtek-t/rs_controller_ref
Automatic merge from submit-queue

ReplicaSet controller can set/remove ControllerRef

This is mostly a copy from https://github.com/kubernetes/kubernetes/pull/27600
2016-07-22 04:18:00 -07:00
PingWang f759f3243a print two errors to log
Signed-off-by: PingWang <wang.ping5@zte.com.cn>

update for go vet

Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2016-07-22 09:47:52 +08:00
PingWang 2dae79c114 add configz.InstallHandler
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2016-07-22 08:25:33 +08:00
k8s-merge-robot 8780b45a04 Merge pull request #29369 from ping035627/ping035627-patch-0721
Automatic merge from submit-queue

two optimization for StartControllers in controllermanager.go

The PR changed two places to optimise StartControllers function in controllermanager.go.
2016-07-21 14:51:13 -07:00
PingWang eb2f6934c6 two optimization for StartControllers
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2016-07-21 18:31:28 +08:00
Wojciech Tyczynski 85de930a66 ReplicaSet controller can set/remove ControllerRef 2016-07-21 11:36:52 +02:00
Seth Jennings db6026c82a node controller use shared pod informer 2016-07-20 15:26:19 -05:00
Wojciech Tyczynski 2794cf538c Use sharedPodInformer in ReplicaSet controller 2016-07-20 12:25:26 +02:00
George Tankersley 803c7ac299 certificates: implement certificates controller 2016-07-19 11:25:38 -07:00
Prashanth Balasubramanian 2f9516db30 List all nodes and occupy cidr map before starting allocations 2016-07-16 13:54:01 -07:00
Chao Xu 11a341de67 let RC manager utilize the GC 2016-07-14 19:59:31 -07:00
gmarek f6b1c316e9 Allow switching rate limiter inside RateLimitedQueue 2016-07-14 15:38:14 +02:00
k8s-merge-robot b50e66c66e Merge pull request #28340 from ZTE-PaaS/zhangke-patch-007
Automatic merge from submit-queue

controller-manager support number of garbage collector workers to be configurable

The number of garbage collector workers of controller-manager is a fixed value 5 now, make it configurable should more properly
2016-07-13 12:54:15 -07:00
gmarek 5677a9845e Split NodeController rate limiters between zones 2016-07-13 14:09:19 +02:00
Ke Zhang d74010211a controller-manager support number of garbage collector workers to be configurable 2016-07-13 13:13:20 +08:00
saadali 0dd17fff22 Reorganize volume controllers and manager 2016-07-01 18:50:25 -07:00
David McMahon ef0c9f0c5b Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
Jordan Liggitt f45d9dc2f8 Convert service account token controller to use a work queue 2016-06-27 13:01:24 -04:00
k8s-merge-robot 601173c2fe Merge pull request #26916 from caesarxuchao/podgc
Automatic merge from submit-queue

rename the gc for terminated pods to "podgc"

to avoid name collision with the [generic garbage collector](https://github.com/kubernetes/kubernetes/blob/master/pkg/controller/garbagecollector/garbagecollector.go)
2016-06-25 12:24:07 -07:00
markturansky 16ec36c591 added toggle to disable dynamic provisioning 2016-06-20 01:15:23 -04:00
Chao Xu 91de14cf13 rename the gc for terminated pods to "podgc" 2016-06-07 22:10:34 -07:00
Chao Xu b3df629432 add gc and its enablement flag to kube-controller-manager 2016-05-28 14:12:33 -07:00
k8s-merge-robot a5222574d4 Merge pull request #25614 from justinsb/feature/flag-configure-cloud-routes
Automatic merge from submit-queue

kube-controller-manager: Add configure-cloud-routes option

This allows kube-controller-manager to allocate CIDRs to nodes (with
allocate-node-cidrs=true), but will not try to configure them on the
cloud provider, even if the cloud provider supports Routes.

The default is configure-cloud-routes=true, and it will only try to
configure routes if allocate-node-cidrs is also configured, so the
default behaviour is unchanged.

This is useful because on AWS the cloud provider configures routes by
setting up VPC routing table entries, but there is a limit of 50
entries.  So setting configure-cloud-routes on AWS would allow us to
continue to allocate node CIDRs as today, but replace the VPC
route-table mechanism with something not limited to 50 nodes.

We can't just turn off the cloud-provider entirely because it also
controls other things - node discovery, load balancer creation etc.

Fix #25602
2016-05-27 23:52:51 -07:00
Alex Robinson d577550dd0 Merge pull request #26054 from gmarek/flags
Make service-range flag in controller-manager optional
2016-05-27 14:26:15 -07:00
Justin Santa Barbara b754393630 kube-controller-manager: Add configure-cloud-routes option
This allows kube-controller-manager to allocate CIDRs to nodes (with
allocate-node-cidrs=true), but will not try to configure them on the
cloud provider, even if the cloud provider supports Routes.

The default is configure-cloud-routes=true, and it will only try to
configure routes if allocate-node-cidrs is also configured, so the
default behaviour is unchanged.

This is useful because on AWS the cloud provider configures routes by
setting up VPC routing table entries, but there is a limit of 50
entries.  So setting configure-cloud-routes on AWS would allow us to
continue to allocate node CIDRs as today, but replace the VPC
route-table mechanism with something not limited to 50 nodes.

We can't just turn off the cloud-provider entirely because it also
controls other things - node discovery, load balancer creation etc.

Fix #25602
2016-05-27 09:42:20 -04:00
saadali 92500a20d7 Attach detach controller business logic added
Split controller cache into actual and desired state of world.
Controller will only operate on volumes scheduled to nodes that
have the "volumes.kubernetes.io/controller-managed-attach" annotation.
2016-05-24 23:01:16 -07:00
gmarek 08385b2c5f Make service-range flag in controller-manager optional 2016-05-23 09:37:53 +02:00
mqliang 17d5a302bb make podcidr mask size configurable 2016-05-20 20:44:40 +08:00
mqliang cf7a3475f3 Don't allow node controller to allocate into service CIDR range 2016-05-20 20:44:40 +08:00
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
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 514d595881 provisioning: Implement provisioner 2016-05-18 10:06:51 +02:00
Jan Safranek 71aa892a86 Implement volume controller skeleton.
This is a simple controller that watches changes of PersistentVolumes and
PersistentVolumeClaims.
2016-05-17 15:14:02 +02:00
Chao Xu c73406bcfe the garbage collector controller 2016-05-15 16:04:19 -07:00
saadali 214b4c28bc Skeleton of new attach detach controller 2016-05-09 11:34:11 -07:00
mqliang c10f43a2e5 implement AddIndexers for SharedIndexInformer 2016-05-06 21:23:18 +08:00
mqliang 9011207f18 add namespace index to rc and pod 2016-05-06 17:12:36 +08:00
Prashanth Balasubramanian 6bc3052551 PetSet alpha controller 2016-05-04 18:39:17 -07:00
Clayton Coleman fdb110c859
Fix the rest of the code 2016-04-29 17:12:10 -04:00
k8s-merge-robot ea15d792a1 Merge pull request #24470 from deads2k/shared-cache-02
Automatic merge from submit-queue

update controllers watching all pods to share an informer

This plumbs the shared pod informer through the various controllers to avoid duplicated watches.
2016-04-23 17:18:47 -07:00
deads2k 60fe17d338 update resource quota controller for shared informers 2016-04-21 08:20:39 -04:00
deads2k 8c4e3af1a3 switch job controller to shared informer 2016-04-21 08:20:39 -04:00
deads2k 8b707016f9 convert daemonset controller to SharedInformer 2016-04-21 08:20:39 -04:00
Wojciech Tyczynski d6896fa45a Allow setting content-type in binaries 2016-04-21 14:12:13 +02:00
deads2k f0c33d65b6 start sharing the pod cache and list/watch 2016-04-18 08:51:55 -04:00
Robert Rati 83de3e9733 Added optional delays to starting controller managers. #22669 2016-04-13 09:52:28 -04:00
harry 8472cfa214 Refactor throttle into util pkg
Fix missing throttle.go
2016-03-25 08:32:23 +08:00