From 1d1908528e67d9763482cf9d5921456f19af31e7 Mon Sep 17 00:00:00 2001 From: rameshiyer27 Date: Mon, 12 Jun 2023 16:24:32 +0100 Subject: Add timeout for ACM operations User can retry the ACM state change order when ACM operations time out. Issue-ID: POLICY-4716 Signed-off-by: zrrmmua Change-Id: Ie840fc13170ef235c6b6f3b26a47b7516f10296c --- .../clamp/acm/runtime/supervision/SupervisionScanner.java | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'runtime-acm/src/main') diff --git a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionScanner.java b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionScanner.java index 803bc86ca..41c7b1c74 100644 --- a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionScanner.java +++ b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionScanner.java @@ -31,6 +31,7 @@ import org.onap.policy.clamp.acm.runtime.supervision.comm.AutomationCompositionS import org.onap.policy.clamp.models.acm.concepts.AutomationComposition; import org.onap.policy.clamp.models.acm.concepts.DeployState; import org.onap.policy.clamp.models.acm.concepts.ParticipantUtils; +import org.onap.policy.clamp.models.acm.concepts.StateChangeResult; import org.onap.policy.clamp.models.acm.persistence.provider.AcDefinitionProvider; import org.onap.policy.clamp.models.acm.persistence.provider.AutomationCompositionProvider; import org.onap.policy.clamp.models.acm.utils.AcmUtils; @@ -111,6 +112,13 @@ public class SupervisionScanner { return; } + if (automationCompositionCounter.isFault(automationComposition.getInstanceId()) + && StateChangeResult.NO_ERROR.equals(automationComposition.getStateChangeResult())) { + // retry by the user + LOGGER.debug("clearing fault for the ac instance"); + clearFaultAndCounter(automationComposition); + } + var completed = true; var minSpNotCompleted = 1000; // min startPhase not completed var maxSpNotCompleted = 0; // max startPhase not completed @@ -196,6 +204,9 @@ public class SupervisionScanner { } else { LOGGER.debug("report AutomationComposition fault"); automationCompositionCounter.setFault(instanceId); + LOGGER.debug("report timeout for the ac instance"); + automationComposition.setStateChangeResult(StateChangeResult.TIMEOUT); + automationCompositionProvider.updateAutomationComposition(automationComposition); } } } -- cgit 1.2.3-korg