6
6
import org .slf4j .LoggerFactory ;
7
7
8
8
import io .fabric8 .kubernetes .client .KubernetesClient ;
9
- import io .fabric8 .kubernetes .client .NamespacedKubernetesClient ;
10
9
import io .fabric8 .kubernetes .client .extended .leaderelection .LeaderCallbacks ;
11
10
import io .fabric8 .kubernetes .client .extended .leaderelection .LeaderElectionConfig ;
12
11
import io .fabric8 .kubernetes .client .extended .leaderelection .LeaderElector ;
13
12
import io .fabric8 .kubernetes .client .extended .leaderelection .LeaderElectorBuilder ;
14
13
import io .fabric8 .kubernetes .client .extended .leaderelection .resourcelock .LeaseLock ;
15
14
import io .fabric8 .kubernetes .client .extended .leaderelection .resourcelock .Lock ;
15
+ import io .javaoperatorsdk .operator .api .config .ConfigurationServiceProvider ;
16
16
import io .javaoperatorsdk .operator .api .config .LeaderElectionConfiguration ;
17
17
18
18
public class LeaderElectionManager {
19
19
20
20
private static final Logger log = LoggerFactory .getLogger (LeaderElectionManager .class );
21
21
22
- private LeaderElector < NamespacedKubernetesClient > leaderElector = null ;
22
+ private LeaderElector leaderElector = null ;
23
23
private ControllerManager controllerManager ;
24
24
25
25
public LeaderElectionManager (ControllerManager controllerManager ) {
@@ -28,8 +28,10 @@ public LeaderElectionManager(ControllerManager controllerManager) {
28
28
29
29
public void init (LeaderElectionConfiguration config , KubernetesClient client ) {
30
30
Lock lock = new LeaseLock (config .getLeaseNamespace (), config .getLeaseName (), identity (config ));
31
- // the releaseOnCancel does not seem to be used anywhere
32
- leaderElector = new LeaderElectorBuilder <>((NamespacedKubernetesClient ) client )
31
+ // todo releaseOnCancel
32
+ // todo use this executor service?
33
+ leaderElector = new LeaderElectorBuilder (client ,
34
+ ConfigurationServiceProvider .instance ().getExecutorService ())
33
35
.withConfig (
34
36
new LeaderElectionConfig (lock , config .getLeaseDuration (), config .getRenewDeadline (),
35
37
config .getRetryPeriod (), leaderCallbacks (), true , config .getLeaseName ()))
0 commit comments