aboutsummaryrefslogtreecommitdiffstats
path: root/bpmn/so-bpmn-infrastructure-common
diff options
context:
space:
mode:
authorhyu2010 <henry.yu1@huawei.com>2020-10-15 17:28:23 -0400
committerhyu2010 <hyu2010b@gmail.com>2020-10-15 17:40:40 -0400
commit001a5425a9ccce5d1ac0919d39ccdeb137f438e8 (patch)
tree3a7914a50376316f871e414ed365fd0f8a60ed56 /bpmn/so-bpmn-infrastructure-common
parent432a5fe384fe559ddb167d2a1ceb7916f5379a4d (diff)
Fixes for bugs found in Transport Slicing integration
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>
Diffstat (limited to 'bpmn/so-bpmn-infrastructure-common')
-rw-r--r--bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeallocateTnNssi.groovy2
-rw-r--r--bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnNssmfUtils.groovy38
2 files changed, 33 insertions, 7 deletions
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeallocateTnNssi.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeallocateTnNssi.groovy
index baf0333a19..fbb2b00854 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeallocateTnNssi.groovy
+++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeallocateTnNssi.groovy
@@ -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)
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnNssmfUtils.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnNssmfUtils.groovy
index 1bb0e8aca7..92953fd60b 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnNssmfUtils.groovy
+++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnNssmfUtils.groovy
@@ -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)
}