Skip to content

Commit f8ee2e0

Browse files
authored
Merge pull request #1416 from tony-clarke-amdocs/master
Allow controller builder to set ready timeout
2 parents e29cf31 + 63f7aa1 commit f8ee2e0

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

extended/src/main/java/io/kubernetes/client/extended/controller/builder/DefaultControllerBuilder.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,18 @@
1313
package io.kubernetes.client.extended.controller.builder;
1414

1515
import io.kubernetes.client.common.KubernetesObject;
16-
import io.kubernetes.client.extended.controller.*;
16+
import io.kubernetes.client.extended.controller.Controller;
17+
import io.kubernetes.client.extended.controller.ControllerWatch;
18+
import io.kubernetes.client.extended.controller.Controllers;
19+
import io.kubernetes.client.extended.controller.DefaultController;
1720
import io.kubernetes.client.extended.controller.reconciler.Reconciler;
1821
import io.kubernetes.client.extended.controller.reconciler.Request;
1922
import io.kubernetes.client.extended.workqueue.DefaultRateLimitingQueue;
2023
import io.kubernetes.client.extended.workqueue.RateLimitingQueue;
2124
import io.kubernetes.client.extended.workqueue.WorkQueue;
2225
import io.kubernetes.client.informer.SharedIndexInformer;
2326
import io.kubernetes.client.informer.SharedInformerFactory;
27+
import java.time.Duration;
2428
import java.util.ArrayList;
2529
import java.util.List;
2630
import java.util.concurrent.Executors;
@@ -33,6 +37,7 @@ public class DefaultControllerBuilder {
3337
private int workerCount;
3438
private String controllerName;
3539
private RateLimitingQueue<Request> workQueue;
40+
private Duration readyTimeout;
3641

3742
private SharedInformerFactory informerFactory;
3843
private List<Supplier<Boolean>> readyFuncs;
@@ -114,6 +119,11 @@ public DefaultControllerBuilder withReadyFunc(Supplier<Boolean> readyFunc) {
114119
return this;
115120
}
116121

122+
public DefaultControllerBuilder withReadyTimeout(Duration readyTimeout) {
123+
this.readyTimeout = readyTimeout;
124+
return this;
125+
}
126+
117127
/**
118128
* Overrides worker thread counts of the controller.
119129
*
@@ -154,6 +164,9 @@ public Controller build() throws IllegalStateException {
154164
this.workQueue,
155165
this.readyFuncs.stream().toArray(Supplier[]::new));
156166

167+
if (this.readyTimeout != null) {
168+
controller.setReadyTimeout(this.readyTimeout);
169+
}
157170
controller.setWorkerCount(this.workerCount);
158171
controller.setWorkerThreadPool(
159172
Executors.newScheduledThreadPool(

0 commit comments

Comments
 (0)