diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/Operator.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/Operator.java index 3f09fe77ed..e54bcd3ef8 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/Operator.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/Operator.java @@ -67,7 +67,11 @@ public Operator(KubernetesClient kubernetesClient, ConfigurationService configur /** Adds a shutdown hook that automatically calls {@link #stop()} when the app shuts down. */ public void installShutdownHook() { - Runtime.getRuntime().addShutdownHook(new Thread(this::stop)); + if (!leaderElectionManager.isLeaderElectionEnabled()) { + Runtime.getRuntime().addShutdownHook(new Thread(this::stop)); + } else { + log.warn("Leader election is on, shutdown hook will not be installed."); + } } public KubernetesClient getKubernetesClient() { @@ -112,7 +116,6 @@ public void stop() throws OperatorException { final var configurationService = ConfigurationServiceProvider.instance(); log.info( "Operator SDK {} is shutting down...", configurationService.getVersion().getSdkVersion()); - controllerManager.stop(); ExecutorServiceManager.stop(); leaderElectionManager.stop(); diff --git a/sample-operators/webpage/src/main/java/io/javaoperatorsdk/operator/sample/WebPageOperator.java b/sample-operators/webpage/src/main/java/io/javaoperatorsdk/operator/sample/WebPageOperator.java index 9b137649fc..e86bcbb120 100644 --- a/sample-operators/webpage/src/main/java/io/javaoperatorsdk/operator/sample/WebPageOperator.java +++ b/sample-operators/webpage/src/main/java/io/javaoperatorsdk/operator/sample/WebPageOperator.java @@ -9,7 +9,8 @@ import org.takes.http.Exit; import org.takes.http.FtBasic; -import io.fabric8.kubernetes.client.*; +import io.fabric8.kubernetes.client.KubernetesClient; +import io.fabric8.kubernetes.client.KubernetesClientBuilder; import io.javaoperatorsdk.operator.Operator; public class WebPageOperator {