k3s/pkg/controller
Kubernetes Submit Queue 408a316b1d
Merge pull request #56370 from oracle/for/upstream/master/55528
Automatic merge from submit-queue (batch tested with PRs 57868, 58284, 56370, 58400, 58439). 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>.

Refactor service controller to common controller pattern

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

The service controller currently uses a non-standard controller pattern that adds unneeded complexity. This PR moves the service controller to use common tools like the rate limited queue with exponential backoff versus tracking retry backoff in the cachedService object. 

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

**Special notes for your reviewer**:

This does change the retry backoff from a linear backoff to an exponential backoff. The min and max retry delay stays the same. 

There was only one case where we didn't want to retry, which was when we updated the service status since that handled retries itself. In that case I moved to the common pattern of using `runtime.HandleError`.

**Release note**:

```release-note
NONE
```

/cc @luxas @wlan0 @andrewsykim @thockin 
@prydie 

/sig cluster-lifecycle
/sig networking
/kind cleanup
2018-01-18 13:11:34 -08:00
..
bootstrap create auto-gen files 2018-01-17 16:23:03 +08:00
certificates Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
cloud Fix scheduler refs in BUILD files. 2018-01-05 15:05:01 -08:00
clusterroleaggregation Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
cronjob Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
daemon Fix scheduler refs in BUILD files. 2018-01-05 15:05:01 -08:00
deployment Merge pull request #56740 from dhilipkumars/UTImprove 2018-01-13 08:34:21 -08:00
disruption Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
endpoint Revert "no need delete endpoint explicitly in endpoint controller" 2018-01-10 09:30:23 +08:00
garbagecollector Track run status explicitly rather than non-nil check on stopCh 2018-01-17 11:04:55 -05:00
history Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
job Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
namespace Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
nodeipam Get the node before attempting to get its Alias IP ranges 2018-01-11 17:50:07 -08:00
nodelifecycle Merge pull request #57852 from misterikkit/moveScheduler 2018-01-05 22:20:13 -08:00
podautoscaler remove duplicated import 2018-01-17 09:34:59 +08:00
podgc Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
replicaset remove duplicated import 2018-01-17 09:34:59 +08:00
replication Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
resourcequota Track run status explicitly rather than non-nil check on stopCh 2018-01-17 11:04:55 -05:00
route Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
service Merge pull request #56370 from oracle/for/upstream/master/55528 2018-01-18 13:11:34 -08:00
serviceaccount Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
statefulset Merge pull request #56994 from zouyee/patch-14 2018-01-12 17:17:56 -08:00
testutil Update generated files 2017-11-09 12:14:08 +01:00
ttl Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
util/node Split the NodeController into lifecycle and ipam pieces. 2018-01-04 12:48:08 -08:00
volume Merge pull request #57724 from mlmhl/ad_controller_populateDesiredStateOfWorld 2018-01-10 05:12:27 -08:00
.import-restrictions
BUILD Split the NodeController into lifecycle and ipam pieces. 2018-01-04 12:48:08 -08:00
OWNERS
client_builder.go remove duplicated import 2017-11-14 17:18:17 +08:00
controller_ref_manager.go
controller_ref_manager_test.go
controller_utils.go Removed unnecessary type conversion 2017-11-14 11:04:18 +02:00
controller_utils_test.go Removed unused function. 2017-11-14 10:53:29 +02:00
doc.go
lookup_cache.go