Add reason for rApp instance deploy/undeploy failure
[nonrtric/plt/rappmanager.git] / rapp-manager-sme / src / main / java / com / oransc / rappmanager / sme / service / SmeDeployer.java
index 6a6581a..adbf8fe 100755 (executable)
@@ -21,12 +21,11 @@ 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 +48,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 +57,6 @@ public class SmeDeployer implements RappDeployer {
 
     private final ObjectMapper objectMapper;
 
-    private final RappCacheService rappCacheService;
-
     private final RappInstanceStateMachine rappInstanceStateMachine;
 
     private String amfRegistrationId;
@@ -98,12 +96,15 @@ public class SmeDeployer implements RappDeployer {
             if (deployState) {
                 rappInstanceStateMachine.sendRappInstanceEvent(rappInstance, RappEvent.SMEDEPLOYED);
             } else {
+                rappInstance.setReason("Unable to deploy SME");
                 rappInstanceStateMachine.sendRappInstanceEvent(rappInstance, RappEvent.SMEDEPLOYFAILED);
             }
             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;
     }
 
@@ -120,6 +121,8 @@ public class SmeDeployer implements RappDeployer {
         } 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;
     }
 
@@ -131,7 +134,7 @@ 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;
     }
 
@@ -140,11 +143,10 @@ public class SmeDeployer implements RappDeployer {
         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 =
@@ -191,9 +193,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);