From: Christophe Closset Date: Sat, 12 May 2018 09:39:08 +0000 (+0000) Subject: Merge "Fix Sdc controller" X-Git-Tag: v2.0.0~7 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=78dc96d5a7c0c4e9972e3c6ea0dd41fabfb0d4b4;hp=78e986b674f6ef6d3b94d5d62ddcd7a1f9071a8c;p=clamp.git Merge "Fix Sdc controller" --- diff --git a/src/main/java/org/onap/clamp/clds/Application.java b/src/main/java/org/onap/clamp/clds/Application.java index d9989d43..5975b9d4 100644 --- a/src/main/java/org/onap/clamp/clds/Application.java +++ b/src/main/java/org/onap/clamp/clds/Application.java @@ -48,6 +48,7 @@ import org.springframework.boot.web.support.SpringBootServletInitializer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootApplication @ComponentScan(basePackages = { @@ -59,6 +60,7 @@ import org.springframework.scheduling.annotation.EnableAsync; }) @EnableConfigurationProperties @EnableAsync +@EnableScheduling public class Application extends SpringBootServletInitializer { protected static final EELFLogger EELF_LOGGER = EELFManager.getInstance().getLogger(Application.class); diff --git a/src/main/java/org/onap/clamp/clds/config/spring/CldsSdcControllerConfiguration.java b/src/main/java/org/onap/clamp/clds/config/spring/CldsSdcControllerConfiguration.java index 7cca263d..46c483f9 100644 --- a/src/main/java/org/onap/clamp/clds/config/spring/CldsSdcControllerConfiguration.java +++ b/src/main/java/org/onap/clamp/clds/config/spring/CldsSdcControllerConfiguration.java @@ -36,12 +36,14 @@ import org.onap.clamp.clds.config.ClampProperties; import org.onap.clamp.clds.config.sdc.SdcControllersConfiguration; import org.onap.clamp.clds.exception.sdc.controller.SdcControllerException; import org.onap.clamp.clds.sdc.controller.SdcSingleController; +import org.onap.clamp.clds.sdc.controller.SdcSingleControllerStatus; import org.onap.clamp.clds.sdc.controller.installer.CsarInstaller; import org.onap.clamp.clds.sdc.controller.installer.CsarInstallerImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Profile; +import org.springframework.scheduling.annotation.Scheduled; @Configuration @Profile("clamp-sdc-controller") @@ -63,19 +65,34 @@ public class CldsSdcControllerConfiguration { try { sdcController.initSdc(); } catch (SdcControllerException e) { - logger.error("Exception caught during initialization of sdc controller", e); + logger.error("Exception caught when starting sdc controller", e); } sdcControllersList.add(sdcController); }); } + @Scheduled(fixedRate = 120000) + public void checkAllSdcControllers() { + logger.info("Checking that all SDC Controllers defined are up and running"); + for (SdcSingleController controller : sdcControllersList) { + try { + if (SdcSingleControllerStatus.STOPPED.equals(controller.getControllerStatus())) { + controller.initSdc(); + } + } catch (SdcControllerException e) { + logger.error("Exception caught when rebooting sdc controller", e); + } + } + logger.info("SDC Controllers check completed"); + } + @PreDestroy public void killSdcControllers() { sdcControllersList.forEach(e -> { try { e.closeSdc(); } catch (SdcControllerException e1) { - logger.error("Exception caught during initialization of sdc controller", e1); + logger.error("Exception caught when stopping sdc controller", e1); } }); }