66import org .slf4j .LoggerFactory ;
77
88import io .fabric8 .kubernetes .client .KubernetesClient ;
9- import io .fabric8 .kubernetes .client .NamespacedKubernetesClient ;
109import io .fabric8 .kubernetes .client .extended .leaderelection .LeaderCallbacks ;
1110import io .fabric8 .kubernetes .client .extended .leaderelection .LeaderElectionConfig ;
1211import io .fabric8 .kubernetes .client .extended .leaderelection .LeaderElector ;
1312import io .fabric8 .kubernetes .client .extended .leaderelection .LeaderElectorBuilder ;
1413import io .fabric8 .kubernetes .client .extended .leaderelection .resourcelock .LeaseLock ;
1514import io .fabric8 .kubernetes .client .extended .leaderelection .resourcelock .Lock ;
15+ import io .javaoperatorsdk .operator .api .config .ConfigurationServiceProvider ;
1616import io .javaoperatorsdk .operator .api .config .LeaderElectionConfiguration ;
1717
1818public class LeaderElectionManager {
1919
2020 private static final Logger log = LoggerFactory .getLogger (LeaderElectionManager .class );
2121
22- private LeaderElector < NamespacedKubernetesClient > leaderElector = null ;
22+ private LeaderElector leaderElector = null ;
2323 private ControllerManager controllerManager ;
2424
2525 public LeaderElectionManager (ControllerManager controllerManager ) {
@@ -28,8 +28,10 @@ public LeaderElectionManager(ControllerManager controllerManager) {
2828
2929 public void init (LeaderElectionConfiguration config , KubernetesClient client ) {
3030 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 ())
3335 .withConfig (
3436 new LeaderElectionConfig (lock , config .getLeaseDuration (), config .getRenewDeadline (),
3537 config .getRetryPeriod (), leaderCallbacks (), true , config .getLeaseName ()))
0 commit comments