Fixes for bugs found in Transport Slicing integration 26/113926/1
authorhyu2010 <henry.yu1@huawei.com>
Thu, 15 Oct 2020 21:28:23 +0000 (17:28 -0400)
committerhyu2010 <hyu2010b@gmail.com>
Thu, 15 Oct 2020 21:40:40 +0000 (17:40 -0400)
This update contains for the fixes for the following JIRAs:

SO-3308: Transport Slicing integration: MSOWorkflowException:
         mso-request-id not provided
SO-3309: Transport Slicing integration: unable to get prefix
         environment variable from execution in TnNssmfUntils
SO-3310: Transport Slicing Integration: null pointer exception
         in saving SDNC rollback data

Issue-ID: SO-3308
Issue-ID: SO-3309
Issue-ID: SO-3310

Signed-off-by: hyu2010 <henry.yu1@huawei.com>
Change-Id: I0c9ed038454b309914ddee6ea2366db58f248f9f
Signed-off-by: hyu2010 <hyu2010b@gmail.com>
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeallocateTnNssi.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnNssmfUtils.groovy
bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoActivateTransportNSSI.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateTnNssiInstance.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoDeallocateTransportNSSI.bpmn

index baf0333..fbb2b00 100644 (file)
@@ -93,7 +93,7 @@ class DoDeallocateTnNssi extends AbstractServiceTaskProcessor {
         try {
             String serviceInstanceId = execution.getVariable("serviceInstanceID")
 
-            String sdncRequest = tnNssmfUtils.buildSDNCRequest(execution, serviceInstanceId, "deallocate")
+            String sdncRequest = tnNssmfUtils.buildSDNCRequest(execution, serviceInstanceId, "delete")
 
             execution.setVariable("TNNSSMF_SDNCRequest", sdncRequest)
             logger.debug("Outgoing SDNCRequest is: \n" + sdncRequest)
index 1bb0e8a..92953fd 100644 (file)
@@ -66,7 +66,29 @@ class TnNssmfUtils {
         }
     }
 
-    String buildSDNCRequest(DelegateExecution execution, String svcInstId, String action) {
+    String buildSDNCRequest(DelegateExecution execution, String svcInstId, String svcAction) {
+        String reqAction
+        switch (svcAction) {
+            case "create":
+                reqAction = "AllocateTransportSliceInstance"
+                break
+            case "delete":
+                reqAction = "DeleteTransportSliceInstance"
+                break
+            case "activate":
+                reqAction = "ActivateTransportSliceInstance"
+                break
+            case "deactivate":
+                reqAction = "DeactivateTransportSliceInstance"
+                break
+            default:
+                reqAction = svcAction
+        }
+
+        buildSDNCRequest(execution, svcInstId, svcAction, reqAction)
+    }
+
+    String buildSDNCRequest(DelegateExecution execution, String svcInstId, String svcAction, String reqAction) {
 
         String uuid = execution.getVariable('testReqId') // for junits
         if (uuid == null) {
@@ -105,7 +127,7 @@ class TnNssmfUtils {
           <sdncadapter:RequestHeader>
                                <sdncadapter:RequestId>${MsoUtils.xmlEscape(uuid)}</sdncadapter:RequestId>
                                <sdncadapter:SvcInstanceId>${MsoUtils.xmlEscape(svcInstId)}</sdncadapter:SvcInstanceId>
-                               <sdncadapter:SvcAction>${MsoUtils.xmlEscape(action)}</sdncadapter:SvcAction>
+                               <sdncadapter:SvcAction>${MsoUtils.xmlEscape(svcAction)}</sdncadapter:SvcAction>
                                <sdncadapter:SvcOperation>vnf-topology-operation</sdncadapter:SvcOperation>
                                <sdncadapter:CallbackUrl>${MsoUtils.xmlEscape(callbackURL)}</sdncadapter:CallbackUrl>
                                <sdncadapter:MsoAction>generic-resource</sdncadapter:MsoAction>
@@ -113,7 +135,7 @@ class TnNssmfUtils {
        <sdncadapterworkflow:SDNCRequestData>
                <request-information>
                        <request-id>${MsoUtils.xmlEscape(requestId)}</request-id>
-                       <request-action>AllocateTnNssi</request-action>
+                       <request-action>${MsoUtils.xmlEscape(reqAction)}</request-action>
                        <source>${MsoUtils.xmlEscape(source)}</source>
                        <notification-url/>
                        <order-number/>
@@ -168,7 +190,7 @@ class TnNssmfUtils {
 
         String msg
 
-        String prefix = execution.setVariable("prefix")
+        String prefix = execution.getVariable("prefix")
         if (isBlank(prefix)) {
             if (exceptionOnErr) {
                 msg = "validateSDNCResponse: prefix is null"
@@ -181,7 +203,8 @@ class TnNssmfUtils {
         WorkflowException workflowException = execution.getVariable("WorkflowException")
         boolean successIndicator = execution.getVariable("SDNCA_SuccessIndicator")
 
-        logger.debug("workflowException: " + workflowException)
+        logger.debug("TnNssmfUtils.validateSDNCResponse: SDNCResponse: " + response)
+        logger.debug("TnNssmfUtils.validateSDNCResponse: workflowException: " + workflowException)
 
         sdncAdapterUtils.validateSDNCResponse(execution, response, workflowException, successIndicator)
 
@@ -189,6 +212,9 @@ class TnNssmfUtils {
         if (execution.getVariable(prefix + 'sdncResponseSuccess') == true) {
             logger.debug("Received a Good Response from SDNC Adapter for " + method + " SDNC Call.  Response is: \n" + sdncResponse)
             RollbackData rollbackData = execution.getVariable("rollbackData")
+            if (rollbackData == null) {
+                rollbackData = new RollbackData()
+            }
 
             if (method.equals("allocate")) {
                 rollbackData.put("VNFMODULE", "rollbackSDNCRequestAllocate", "true")
@@ -204,7 +230,7 @@ class TnNssmfUtils {
             execution.setVariable("rollbackData", rollbackData)
         } else {
             if (exceptionOnErr) {
-                msg = "validateSDNCResponse: bad Response from SDNC Adapter for " + method + " SDNC Call."
+                msg = "TnNssmfUtils.validateSDNCResponse: bad Response from SDNC Adapter for " + method + " SDNC Call."
                 logger.error(msg)
                 exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
             }
index 8ecce46..4447b32 100644 (file)
@@ -56,8 +56,8 @@ runScript.preprocessSdncActOrDeactTnNssiRequest(execution)</bpmn:script>
       <bpmn:extensionElements>
         <camunda:in source="TNNSSMF_SDNCRequest" target="sdncAdapterWorkflowRequest" />
         <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
-        <camunda:in source="mso-request-id" target="mso-request-id" />
-        <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
+        <camunda:in source="msoRequestId" target="mso-request-id" />
+        <camunda:in source="sliceServiceInstanceId" target="mso-service-instance-id" />
         <camunda:out source="WorkflowException" target="WorkflowException" />
         <camunda:out source="sdncAdapterResponse" target="TNNSSMF_SDNCAdapterResponse" />
         <camunda:out source="SDNCA_SuccessIndicator" target="SDNCA_SuccessIndicator" />
index e9cbbb7..55adbe3 100644 (file)
@@ -45,8 +45,8 @@ dcsi.preprocessSdncAllocateTnNssiRequest(execution)</bpmn:script>
       <bpmn:extensionElements>
         <camunda:in source="TNNSSMF_SDNCRequest" target="sdncAdapterWorkflowRequest" />
         <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
-        <camunda:in source="mso-request-id" target="mso-request-id" />
-        <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
+        <camunda:in source="msoRequestId" target="mso-request-id" />
+        <camunda:in source="sliceServiceInstanceId" target="mso-service-instance-id" />
         <camunda:out source="WorkflowException" target="WorkflowException" />
         <camunda:out source="sdncAdapterResponse" target="TNNSSMF_SDNCAdapterResponse" />
         <camunda:out source="SDNCA_SuccessIndicator" target="SDNCA_SuccessIndicator" />
index a800289..94279b7 100644 (file)
@@ -55,8 +55,8 @@ runScript.preprocessSdncDeallocateTnNssiRequest(execution)</bpmn:script>
       <bpmn:extensionElements>
         <camunda:in source="TNNSSMF_SDNCRequest" target="sdncAdapterWorkflowRequest" />
         <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
-        <camunda:in source="mso-request-id" target="mso-request-id" />
-        <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
+        <camunda:in source="msoRequestId" target="mso-request-id" />
+        <camunda:in source="sliceServiceInstanceId" target="mso-service-instance-id" />
         <camunda:out source="WorkflowException" target="WorkflowException" />
         <camunda:out source="sdncAdapterResponse" target="TNNSSMF_SDNCAdapterResponse" />
         <camunda:out source="SDNCA_SuccessIndicator" target="SDNCA_SuccessIndicator" />