X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=rapp-manager-sme%2Fsrc%2Fmain%2Fjava%2Fcom%2Foransc%2Frappmanager%2Fsme%2Fservice%2FSmeDeployer.java;h=2050b51252bb954008f89088cb724a072aa1872f;hb=fc63eb0da4e4426fbfbecdd4f95bec68ca3ceded;hp=6a6581a9597d4dc9e61f1014af28dcb0a309c739;hpb=a071d6befe8d38a5e589dffbbf1dc3904ff3aa79;p=nonrtric%2Fplt%2Frappmanager.git diff --git a/rapp-manager-sme/src/main/java/com/oransc/rappmanager/sme/service/SmeDeployer.java b/rapp-manager-sme/src/main/java/com/oransc/rappmanager/sme/service/SmeDeployer.java index 6a6581a..2050b51 100755 --- a/rapp-manager-sme/src/main/java/com/oransc/rappmanager/sme/service/SmeDeployer.java +++ b/rapp-manager-sme/src/main/java/com/oransc/rappmanager/sme/service/SmeDeployer.java @@ -18,15 +18,13 @@ package com.oransc.rappmanager.sme.service; -import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; -import com.oransc.rappmanager.models.rapp.Rapp; -import com.oransc.rappmanager.models.csar.RappCsarConfigurationHandler; import com.oransc.rappmanager.models.RappDeployer; +import com.oransc.rappmanager.models.csar.RappCsarConfigurationHandler; +import com.oransc.rappmanager.models.rapp.Rapp; import com.oransc.rappmanager.models.rapp.RappEvent; import com.oransc.rappmanager.models.rappinstance.RappInstance; -import com.oransc.rappmanager.models.cache.RappCacheService; import com.oransc.rappmanager.models.statemachine.RappInstanceStateMachine; import com.oransc.rappmanager.sme.invoker.data.APIInvokerEnrolmentDetails; import com.oransc.rappmanager.sme.provider.data.APIProviderEnrolmentDetails; @@ -49,6 +47,7 @@ public class SmeDeployer implements RappDeployer { private final com.oransc.rappmanager.sme.provider.rest.DefaultApiClient providerDefaultApiClient; + private final com.oransc.rappmanager.sme.publishservice.rest.DefaultApiClient publishServiceDefaultApiClient; private final com.oransc.rappmanager.sme.invoker.rest.DefaultApiClient invokerDefaultApiClient; @@ -57,8 +56,6 @@ public class SmeDeployer implements RappDeployer { private final ObjectMapper objectMapper; - private final RappCacheService rappCacheService; - private final RappInstanceStateMachine rappInstanceStateMachine; private String amfRegistrationId; @@ -91,36 +88,38 @@ public class SmeDeployer implements RappDeployer { @Override public boolean deployRappInstance(Rapp rapp, RappInstance rappInstance) { logger.debug("Deploying SME functions for RappInstance {}", rappInstance.getRappInstanceId()); - try { - boolean deployState = - createProviderDomain(rapp, rappInstance) && createPublishApi(rapp, rappInstance) && createInvoker( - rapp, rappInstance); - if (deployState) { + if (rappInstance.isSMEEnabled()) { + if (createProviderDomain(rapp, rappInstance) && createPublishApi(rapp, rappInstance) && createInvoker(rapp, + rappInstance)) { rappInstanceStateMachine.sendRappInstanceEvent(rappInstance, RappEvent.SMEDEPLOYED); - } else { - rappInstanceStateMachine.sendRappInstanceEvent(rappInstance, RappEvent.SMEDEPLOYFAILED); + return true; } - return deployState; - } catch (JsonProcessingException e) { - logger.warn("Failed to deploy SME functions for Rapp {}", rapp.getName(), e); + rappInstanceStateMachine.sendRappInstanceEvent(rappInstance, RappEvent.SMEDEPLOYFAILED); + rappInstance.setReason("Unable to deploy SME"); + return false; } - return false; + return true; } @Override public boolean undeployRappInstance(Rapp rapp, RappInstance rappInstance) { logger.debug("Undeploying SME functions for Rapp {}", rapp.getName()); - try { - rappInstance.getSme().getInvokerIds().forEach(this::deleteInvoker); - rappInstance.getSme().getServiceApiIds() - .forEach(s -> deletePublishApi(s, rappInstance.getSme().getApfId())); - rappInstance.getSme().getProviderFunctionIds().forEach(this::deleteProviderFunc); - rappInstanceStateMachine.sendRappInstanceEvent(rappInstance, RappEvent.SMEUNDEPLOYED); - return true; - } catch (Exception e) { - logger.warn("Failed to Undeploy SME functions for Rapp {}", rapp.getName(), e); + if (rappInstance.isSMEEnabled()) { + try { + rappInstance.getSme().getInvokerIds().forEach(this::deleteInvoker); + rappInstance.getSme().getServiceApiIds() + .forEach(s -> deletePublishApi(s, rappInstance.getSme().getApfId())); + rappInstance.getSme().getProviderFunctionIds().forEach(this::deleteProviderFunc); + rappInstanceStateMachine.sendRappInstanceEvent(rappInstance, RappEvent.SMEUNDEPLOYED); + return true; + } catch (Exception e) { + logger.warn("Failed to Undeploy SME functions for Rapp {}", rapp.getName(), e); + } + rappInstanceStateMachine.sendRappInstanceEvent(rappInstance, RappEvent.SMEUNDEPLOYFAILED); + rappInstance.setReason("Unable to undeploy SME"); + return false; } - return false; + return true; } @Override @@ -131,20 +130,19 @@ public class SmeDeployer implements RappDeployer { @Override public boolean deprimeRapp(Rapp rapp) { - //If there is any deprimgng operations + //If there is any depriming operations return true; } - boolean createProviderDomain(Rapp rapp, RappInstance rappInstance) throws JsonProcessingException { + boolean createProviderDomain(Rapp rapp, RappInstance rappInstance) { logger.debug("Creating provider domain for Rapp {}", rapp.getName()); try { String providerDomainPayload = rappCsarConfigurationHandler.getSmeProviderDomainPayload(rapp, rappInstance.getSme()); - logger.info("provider domain payload " + providerDomainPayload); + logger.debug("Provider domain payload {}", providerDomainPayload); if (providerDomainPayload != null) { APIProviderEnrolmentDetails apiProviderEnrolmentDetails = objectMapper.readValue(providerDomainPayload, APIProviderEnrolmentDetails.class); - //TODO Fix this Temporary workaround apiProviderEnrolmentDetails.setRegSec( apiProviderEnrolmentDetails.getRegSec() + rappInstance.getRappInstanceId()); APIProviderEnrolmentDetails responseApiEnrollmentDetails = @@ -183,7 +181,7 @@ public class SmeDeployer implements RappDeployer { } - boolean createPublishApi(Rapp rapp, RappInstance rappInstance) throws JsonProcessingException { + boolean createPublishApi(Rapp rapp, RappInstance rappInstance) { logger.debug("Creating publish api for Rapp {}", rapp.getName()); try { String providerApiPayload = @@ -191,9 +189,8 @@ public class SmeDeployer implements RappDeployer { if (providerApiPayload != null) { ServiceAPIDescription serviceAPIDescription = objectMapper.readValue(providerApiPayload, ServiceAPIDescription.class); - serviceAPIDescription.getAefProfiles().forEach(aefProfile -> { - aefProfile.setAefId(rappInstance.getSme().getAefId()); - }); + serviceAPIDescription.getAefProfiles() + .forEach(aefProfile -> aefProfile.setAefId(rappInstance.getSme().getAefId())); ServiceAPIDescription serviceAPIDescriptionResponse = publishServiceDefaultApiClient.postApfIdServiceApis(rappInstance.getSme().getApfId(), serviceAPIDescription); @@ -213,7 +210,7 @@ public class SmeDeployer implements RappDeployer { publishServiceDefaultApiClient.deleteApfIdServiceApisServiceApiId(serviceApiId, apfId); } - boolean createInvoker(Rapp rapp, RappInstance rappInstance) throws JsonProcessingException { + boolean createInvoker(Rapp rapp, RappInstance rappInstance) { logger.debug("Creating provider domain for Rapp {}", rapp.getName()); try { String invokerPayload = rappCsarConfigurationHandler.getSmeInvokerPayload(rapp, rappInstance.getSme());