aboutsummaryrefslogtreecommitdiffstats
path: root/runtime-acm/src/main
diff options
context:
space:
mode:
authorFrancescoFioraEst <francesco.fiora@est.tech>2024-09-05 09:08:15 +0100
committerFrancesco Fiora <francesco.fiora@est.tech>2024-09-05 09:39:43 +0000
commitabe1caac52206d5fb5d6861bd0f55bb6407b15dc (patch)
tree6f2e5ffb969090acb2f65aadf056266858dc2247 /runtime-acm/src/main
parent7c5744fecbc2067e800cd3bc90acac0e44318ada (diff)
Remove restart reference in ACM-runtime
Restart has been replaced in ACM by sync messages, and there are still some java code that should be removed around the old restart scenario implementation. Issue-ID: POLICY-5125 Change-Id: Iffbd228fb352f1d53a2e9de24b061bccbc9dfea9 Signed-off-by: FrancescoFioraEst <francesco.fiora@est.tech>
Diffstat (limited to 'runtime-acm/src/main')
-rw-r--r--runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProvider.java4
-rw-r--r--runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/instantiation/AutomationCompositionInstantiationProvider.java13
-rw-r--r--runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionHandler.java2
-rw-r--r--runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionParticipantHandler.java55
-rw-r--r--runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionScanner.java4
-rw-r--r--runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/comm/ParticipantRestartPublisher.java75
6 files changed, 4 insertions, 149 deletions
diff --git a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProvider.java b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProvider.java
index 8a56fbb1e..48b139495 100644
--- a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProvider.java
+++ b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProvider.java
@@ -188,10 +188,6 @@ public class CommissioningProvider {
throw new PfModelRuntimeException(Status.BAD_REQUEST, "There are instances, Priming/Depriming not allowed");
}
var acmDefinition = acDefinitionProvider.getAcDefinition(compositionId);
- if (acmDefinition.getRestarting() != null) {
- throw new PfModelRuntimeException(Status.BAD_REQUEST,
- "There is a restarting process, Priming/Depriming not allowed");
- }
var stateOrdered = acTypeStateResolver.resolve(acTypeStateUpdate.getPrimeOrder(), acmDefinition.getState(),
acmDefinition.getStateChangeResult());
switch (stateOrdered) {
diff --git a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/instantiation/AutomationCompositionInstantiationProvider.java b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/instantiation/AutomationCompositionInstantiationProvider.java
index 867148d8b..42af70596 100644
--- a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/instantiation/AutomationCompositionInstantiationProvider.java
+++ b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/instantiation/AutomationCompositionInstantiationProvider.java
@@ -144,10 +144,6 @@ public class AutomationCompositionInstantiationProvider {
}
- if (automationComposition.getRestarting() != null) {
- throw new PfModelRuntimeException(Status.BAD_REQUEST, "There is a restarting process, Update not allowed");
- }
-
var deployOrder = DeployOrder.UPDATE;
var subOrder = SubOrder.NONE;
@@ -336,12 +332,6 @@ public class AutomationCompositionInstantiationProvider {
ValidationStatus.INVALID, "Commissioned automation composition definition not primed"));
return result;
}
- if (acDefinitionOpt.get().getRestarting() != null) {
- result.addResult(
- new ObjectValidationResult("ServiceTemplate.restarting", acDefinitionOpt.get().getRestarting(),
- ValidationStatus.INVALID, "There is a restarting process in composition"));
- return result;
- }
var participantIds = acDefinitionOpt.get().getElementStateMap().values().stream()
.map(NodeTemplateState::getParticipantId).collect(Collectors.toSet());
@@ -405,9 +395,6 @@ public class AutomationCompositionInstantiationProvider {
throw new PfModelRuntimeException(Status.BAD_REQUEST,
"Automation composition state is still " + automationComposition.getDeployState());
}
- if (automationComposition.getRestarting() != null) {
- throw new PfModelRuntimeException(Status.BAD_REQUEST, "There is a restarting process, Delete not allowed");
- }
var acDefinition = acDefinitionProvider.getAcDefinition(automationComposition.getCompositionId());
var participantIds = acDefinition.getElementStateMap().values().stream()
.map(NodeTemplateState::getParticipantId).collect(Collectors.toSet());
diff --git a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionHandler.java b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionHandler.java
index 95294285e..f13f5da2c 100644
--- a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionHandler.java
+++ b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionHandler.java
@@ -114,7 +114,7 @@ public class SupervisionHandler {
}
if (toUpdate) {
acDefinitionProvider.updateAcDefinitionState(acDefinition.getCompositionId(), acDefinition.getState(),
- acDefinition.getStateChangeResult(), null);
+ acDefinition.getStateChangeResult());
if (!participantPrimeAckMessage.getParticipantId().equals(participantPrimeAckMessage.getReplicaId())) {
participantSyncPublisher.sendSync(acDefinition, participantPrimeAckMessage.getReplicaId());
}
diff --git a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionParticipantHandler.java b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionParticipantHandler.java
index 3c93a3571..ea3ef0ff7 100644
--- a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionParticipantHandler.java
+++ b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionParticipantHandler.java
@@ -30,7 +30,6 @@ import org.apache.commons.collections4.MapUtils;
import org.onap.policy.clamp.acm.runtime.main.parameters.AcRuntimeParameterGroup;
import org.onap.policy.clamp.acm.runtime.supervision.comm.ParticipantDeregisterAckPublisher;
import org.onap.policy.clamp.acm.runtime.supervision.comm.ParticipantRegisterAckPublisher;
-import org.onap.policy.clamp.acm.runtime.supervision.comm.ParticipantRestartPublisher;
import org.onap.policy.clamp.acm.runtime.supervision.comm.ParticipantSyncPublisher;
import org.onap.policy.clamp.models.acm.concepts.AcTypeState;
import org.onap.policy.clamp.models.acm.concepts.AutomationComposition;
@@ -40,7 +39,6 @@ import org.onap.policy.clamp.models.acm.concepts.ParticipantDefinition;
import org.onap.policy.clamp.models.acm.concepts.ParticipantReplica;
import org.onap.policy.clamp.models.acm.concepts.ParticipantState;
import org.onap.policy.clamp.models.acm.concepts.ParticipantSupportedElementType;
-import org.onap.policy.clamp.models.acm.concepts.StateChangeResult;
import org.onap.policy.clamp.models.acm.messages.kafka.participant.ParticipantDeregister;
import org.onap.policy.clamp.models.acm.messages.kafka.participant.ParticipantRegister;
import org.onap.policy.clamp.models.acm.messages.kafka.participant.ParticipantStatus;
@@ -65,7 +63,6 @@ public class SupervisionParticipantHandler {
private final ParticipantDeregisterAckPublisher participantDeregisterAckPublisher;
private final AutomationCompositionProvider automationCompositionProvider;
private final AcDefinitionProvider acDefinitionProvider;
- private final ParticipantRestartPublisher participantRestartPublisher;
private final ParticipantSyncPublisher participantSyncPublisher;
private final AcRuntimeParameterGroup acRuntimeParameterGroup;
@@ -183,61 +180,11 @@ public class SupervisionParticipantHandler {
private void handleRestart(UUID participantId, UUID replicaId) {
var compositionIds = participantProvider.getCompositionIds(participantId);
- var oldParticipant = participantId.equals(replicaId);
for (var compositionId : compositionIds) {
var acDefinition = acDefinitionProvider.getAcDefinition(compositionId);
LOGGER.debug("Scan Composition {} for restart", acDefinition.getCompositionId());
- if (oldParticipant) {
- handleRestart(participantId, acDefinition);
- } else {
- handleSyncRestart(participantId, replicaId, acDefinition);
- }
- }
- }
-
- private void handleRestart(final UUID participantId, AutomationCompositionDefinition acDefinition) {
- if (AcTypeState.COMMISSIONED.equals(acDefinition.getState())) {
- LOGGER.debug("Composition {} COMMISSIONED", acDefinition.getCompositionId());
- return;
- }
- LOGGER.debug("Composition to be send in Restart message {}", acDefinition.getCompositionId());
- for (var elementState : acDefinition.getElementStateMap().values()) {
- if (participantId.equals(elementState.getParticipantId())) {
- elementState.setRestarting(true);
- }
- }
- // expected final state
- if (StateChangeResult.TIMEOUT.equals(acDefinition.getStateChangeResult())) {
- acDefinition.setStateChangeResult(StateChangeResult.NO_ERROR);
- }
- acDefinition.setRestarting(true);
- acDefinitionProvider.updateAcDefinition(acDefinition,
- acRuntimeParameterGroup.getAcmParameters().getToscaCompositionName());
-
- var automationCompositionList =
- automationCompositionProvider.getAcInstancesByCompositionId(acDefinition.getCompositionId());
- var automationCompositions = automationCompositionList.stream()
- .filter(ac -> isAcToBeRestarted(participantId, ac)).toList();
- participantRestartPublisher.send(participantId, acDefinition, automationCompositions);
- }
-
- private boolean isAcToBeRestarted(UUID participantId, AutomationComposition automationComposition) {
- boolean toAdd = false;
- for (var element : automationComposition.getElements().values()) {
- if (participantId.equals(element.getParticipantId())) {
- element.setRestarting(true);
- toAdd = true;
- }
- }
- if (toAdd) {
- automationComposition.setRestarting(true);
- // expected final state
- if (StateChangeResult.TIMEOUT.equals(automationComposition.getStateChangeResult())) {
- automationComposition.setStateChangeResult(StateChangeResult.NO_ERROR);
- }
- automationCompositionProvider.updateAutomationComposition(automationComposition);
+ handleSyncRestart(participantId, replicaId, acDefinition);
}
- return toAdd;
}
private void handleSyncRestart(final UUID participantId, UUID replicaId,
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 d746b331f..c4cebb430 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
@@ -126,7 +126,7 @@ public class SupervisionScanner {
}
if (completed) {
acDefinitionProvider.updateAcDefinitionState(acDefinition.getCompositionId(), finalState,
- StateChangeResult.NO_ERROR, null);
+ StateChangeResult.NO_ERROR);
participantSyncPublisher.sendSync(acDefinition, null);
} else {
handleTimeout(acDefinition);
@@ -299,7 +299,7 @@ public class SupervisionScanner {
LOGGER.debug("Report timeout for the ac definition {}", acDefinition.getCompositionId());
acDefinition.setStateChangeResult(StateChangeResult.TIMEOUT);
acDefinitionProvider.updateAcDefinitionState(acDefinition.getCompositionId(),
- acDefinition.getState(), acDefinition.getStateChangeResult(), acDefinition.getRestarting());
+ acDefinition.getState(), acDefinition.getStateChangeResult());
}
}
diff --git a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/comm/ParticipantRestartPublisher.java b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/comm/ParticipantRestartPublisher.java
deleted file mode 100644
index 540cf62be..000000000
--- a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/comm/ParticipantRestartPublisher.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2023-2024 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.clamp.acm.runtime.supervision.comm;
-
-import io.micrometer.core.annotation.Timed;
-import java.time.Instant;
-import java.util.List;
-import java.util.UUID;
-import lombok.AllArgsConstructor;
-import org.onap.policy.clamp.acm.runtime.main.parameters.AcRuntimeParameterGroup;
-import org.onap.policy.clamp.models.acm.concepts.AutomationComposition;
-import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionDefinition;
-import org.onap.policy.clamp.models.acm.messages.kafka.participant.ParticipantRestart;
-import org.onap.policy.clamp.models.acm.utils.AcmUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-
-@Component
-@AllArgsConstructor
-public class ParticipantRestartPublisher extends AbstractParticipantPublisher<ParticipantRestart> {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(ParticipantRestartPublisher.class);
- private final AcRuntimeParameterGroup acRuntimeParameterGroup;
-
- /**
- * Send Restart to Participant.
- *
- * @param participantId the ParticipantId
- * @param acmDefinition the AutomationComposition Definition
- * @param automationCompositions the list of automationCompositions
- */
- @Timed(value = "publisher.participant_restart", description = "Participant Restart published")
- public void send(UUID participantId, AutomationCompositionDefinition acmDefinition,
- List<AutomationComposition> automationCompositions) {
-
- var message = new ParticipantRestart();
- message.setParticipantId(participantId);
- message.setCompositionId(acmDefinition.getCompositionId());
- message.setMessageId(UUID.randomUUID());
- message.setTimestamp(Instant.now());
- message.setState(acmDefinition.getState());
- message.setParticipantDefinitionUpdates(
- AcmUtils.prepareParticipantRestarting(participantId, acmDefinition,
- acRuntimeParameterGroup.getAcmParameters().getToscaElementName()));
- var toscaServiceTemplateFragment = AcmUtils.getToscaServiceTemplateFragment(acmDefinition.getServiceTemplate());
-
- for (var automationComposition : automationCompositions) {
- var restartAc = AcmUtils
- .createAcRestart(automationComposition, participantId, toscaServiceTemplateFragment);
- message.getAutomationcompositionList().add(restartAc);
- }
-
- LOGGER.debug("Participant Restart sent {}", message.getMessageId());
- super.send(message);
- }
-}