diff options
10 files changed, 135 insertions, 59 deletions
diff --git a/adapters/mso-vfc-adapter/src/main/java/org/openecomp/mso/adapters/vfc/VfcManager.java b/adapters/mso-vfc-adapter/src/main/java/org/openecomp/mso/adapters/vfc/VfcManager.java index d6e249d6c1..d76fbc2133 100644 --- a/adapters/mso-vfc-adapter/src/main/java/org/openecomp/mso/adapters/vfc/VfcManager.java +++ b/adapters/mso-vfc-adapter/src/main/java/org/openecomp/mso/adapters/vfc/VfcManager.java @@ -120,6 +120,8 @@ public class VfcManager { segInput.getNsOperationKey().getOperationId(), segInput.getNsOperationKey().getNodeTemplateUUID()); nsOperInfo.setStatus(RequestsDbConstant.Status.PROCESSING); + nsOperInfo.setProgress("40"); + nsOperInfo.setStatusDescription("NS is created"); (RequestsDatabase.getInstance()).updateResOperStatus(nsOperInfo); if (!HttpCode.isSucess(createRsp.getStatus())) { @@ -191,6 +193,8 @@ public class VfcManager { // Step4: update service segment operation status nsOperInfo.setStatus(RequestsDbConstant.Status.FINISHED); nsOperInfo.setErrorCode(String.valueOf(deleteRsp.getStatus())); + nsOperInfo.setProgress("100"); + nsOperInfo.setStatusDescription("VFC resource deletion finished"); (RequestsDatabase.getInstance()).updateResOperStatus(nsOperInfo); LOGGER.info("update segment operaton status for delete -> end"); @@ -256,6 +260,8 @@ public class VfcManager { // Step 3: update segment operation job id LOGGER.info("update resource operation status job id -> begin"); nsOperInfo.setJobId(jobId); + nsOperInfo.setProgress("100"); + nsOperInfo.setStatusDescription("NS initiation completed."); (RequestsDatabase.getInstance()).updateResOperStatus(nsOperInfo); LOGGER.info("update segment operation job id -> end"); @@ -322,6 +328,8 @@ public class VfcManager { LOGGER.info("terminate ns -> end"); LOGGER.info("update segment job id -> begin"); + nsOperInfo.setProgress("60"); + nsOperInfo.setStatusDescription("NS is termination completed"); nsOperInfo.setJobId(jobId); (RequestsDatabase.getInstance()).updateResOperStatus(nsOperInfo); LOGGER.info("update segment job id -> end"); diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/resource/ResourceRequestBuilder.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/resource/ResourceRequestBuilder.java index c88800273c..bee476526c 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/resource/ResourceRequestBuilder.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/resource/ResourceRequestBuilder.java @@ -133,7 +133,7 @@ public class ResourceRequestBuilder { } SdcToscaParserFactory toscaParser = SdcToscaParserFactory.getInstance(); - ISdcCsarHelper iSdcCsarHelper = toscaParser.getSdcCsarHelper(csarpath); + ISdcCsarHelper iSdcCsarHelper = toscaParser.getSdcCsarHelper(csarpath, false); List<Input> serInput = iSdcCsarHelper.getServiceInputs(); Optional<NodeTemplate> nodeTemplateOpt = iSdcCsarHelper.getServiceNodeTemplates().stream() diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleInfra.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleInfra.groovy index 3f0b8d11f1..797086b125 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleInfra.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleInfra.groovy @@ -35,6 +35,8 @@ import org.openecomp.mso.bpmn.common.scripts.VidUtils; import org.openecomp.mso.bpmn.core.RollbackData
import org.openecomp.mso.bpmn.core.WorkflowException
import org.openecomp.mso.bpmn.core.json.JsonUtils
+import org.openecomp.mso.bpmn.infrastructure.aai.AAICreateResources;
+import org.onap.aai.domain.yang.v12.GenericVnf;
public class CreateVfModuleInfra extends AbstractServiceTaskProcessor {
@@ -287,6 +289,25 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor { exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in sendResponse(): ' + e.getMessage())
}
}
+
+ /**
+ * Query AAI for vnf orchestration status to determine if health check and config scaling should be run
+ */
+ public void queryAAIForVnfOrchestrationStatus(DelegateExecution execution) {
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ def vnfId = execution.getVariable("CVFMI_vnfId")
+ execution.setVariable("runHealthCheck", false);
+ execution.setVariable("runConfigScaleOut", false);
+ AAICreateResources aaiCreateResources = new AAICreateResources();
+ Optional<GenericVnf> vnf = aaiCreateResources.getVnfInstance(vnfId);
+ if(vnf.isPresent()){
+ def vnfOrchestrationStatus = vnf.get().getOrchestrationStatus();
+ if("active".equalsIgnoreCase(vnfOrchestrationStatus)){
+ execution.setVariable("runHealthCheck", true);
+ execution.setVariable("runConfigScaleOut", true);
+ }
+ }
+ }
/**
*
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteResourcesV1.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteResourcesV1.groovy index 8e05f8d3b8..1a36a4ea90 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteResourcesV1.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteResourcesV1.groovy @@ -244,6 +244,7 @@ public class DoDeleteResourcesV1 extends AbstractServiceTaskProcessor { resourceInput.setResourceInstanceName(currentResource.getResourceInstanceName()) resourceInput.setResourceInstancenUuid(currentResource.getResourceId()) resourceInput.setOperationId(execution.getVariable("operationId")) + resourceInput.setOperationType(execution.getVariable("operationType")) String globalSubscriberId = execution.getVariable("globalSubscriberId") resourceInput.setGlobalSubscriberId(globalSubscriberId) resourceInput.setResourceModelInfo(currentResource.getModelInfo()); diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAICreateResources.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAICreateResources.java index 93ba0ae5a4..3d05f76b03 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAICreateResources.java +++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAICreateResources.java @@ -24,8 +24,10 @@ import java.util.HashMap; import java.util.Map; import java.util.Optional; +import org.onap.aai.domain.yang.v12.GenericVnf; import org.openecomp.mso.client.aai.AAIObjectType; import org.openecomp.mso.client.aai.AAIResourcesClient; +import org.openecomp.mso.client.aai.entities.AAIResultWrapper; import org.openecomp.mso.client.aai.entities.uri.AAIResourceUri; import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory; @@ -81,4 +83,16 @@ public class AAICreateResources { aaiRC.createIfNotExists(serviceInstanceURI, Optional.empty()); } + public Optional<GenericVnf> getVnfInstance(String vnfId){ + try{ + AAIResourceUri vnfURI = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId); + AAIResourcesClient aaiRC = new AAIResourcesClient(); + AAIResultWrapper aaiResponse = aaiRC.get(vnfURI); + Optional<GenericVnf> vnf = aaiResponse.asBean(GenericVnf.class); + return vnf; + } catch (Exception ex){ + return Optional.empty(); + } + } + } diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVfModuleInfra.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVfModuleInfra.bpmn index 841dec96bd..f882094851 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVfModuleInfra.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVfModuleInfra.bpmn @@ -46,8 +46,8 @@ <bpmn2:scriptTask id="SendResponse" name="Send Response" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0e2ta6w</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def createVfModule = new CreateVfModuleInfra()
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def createVfModule = new CreateVfModuleInfra() createVfModule.sendResponse(execution)]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1" name="To FinishLine"> @@ -63,8 +63,8 @@ createVfModule.sendResponse(execution)]]></bpmn2:script> <bpmn2:scriptTask id="PrepareUpdateInfraRequest" name="Prepare Update Infra Request" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def createVfModule = new CreateVfModuleInfra()
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def createVfModule = new CreateVfModuleInfra() createVfModule.prepareUpdateInfraRequest(execution)]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:serviceTask id="ServiceTask_1" name="Update Infra Request"> @@ -94,8 +94,8 @@ createVfModule.prepareUpdateInfraRequest(execution)]]></bpmn2:script> <bpmn2:incoming>SequenceFlow_0td7d9m</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_0u8zesf</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_12</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def createVfModule = new CreateVfModuleInfra()
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def createVfModule = new CreateVfModuleInfra() createVfModule.postProcessResponse(execution)]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_12" name="" sourceRef="PrepareMSOCompletionHandler" targetRef="MSOCompletionHandler" /> @@ -147,8 +147,8 @@ createVfModule.postProcessResponse(execution)]]></bpmn2:script> <bpmn2:scriptTask id="PrepareFalloutHandler" name="Prepare Fallout Handler" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_018p5wf</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def cvfm = new CreateVfModuleInfra()
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def cvfm = new CreateVfModuleInfra() cvfm.falloutHandlerPrep(execution, 'CVFMI_FalloutHandlerRequest')]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="PrepareFalloutHandler" targetRef="FalloutHandler" /> @@ -157,8 +157,8 @@ cvfm.falloutHandlerPrep(execution, 'CVFMI_FalloutHandlerRequest')]]></bpmn2:scri <bpmn2:scriptTask id="SendErrorResponse" name="Send Error Response" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_0wsgnab</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_018p5wf</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def createVfModule = new CreateVfModuleInfra()
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def createVfModule = new CreateVfModuleInfra() createVfModule.sendErrorResponse(execution)]]></bpmn2:script> </bpmn2:scriptTask> </bpmn2:subProcess> @@ -185,8 +185,8 @@ createVfModule.sendErrorResponse(execution)]]></bpmn2:script> <bpmn2:scriptTask id="PreProcessRequest" name="Pre-Process Request" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def createVfModule = new CreateVfModuleInfra()
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def createVfModule = new CreateVfModuleInfra() createVfModule.preProcessRequest(execution)]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="PreProcessRequest" targetRef="SendResponse" /> @@ -194,8 +194,8 @@ createVfModule.preProcessRequest(execution)]]></bpmn2:script> <bpmn2:scriptTask id="ProcessError" name="Process Error" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_1qvgrvq</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1jqizzo</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*
-ExceptionUtil exceptionUtil = new ExceptionUtil()
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +ExceptionUtil exceptionUtil = new ExceptionUtil() exceptionUtil.processJavaException(execution)]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:endEvent id="EndEvent_0100eju"> @@ -225,7 +225,7 @@ exceptionUtil.processJavaException(execution)]]></bpmn2:script> <bpmn2:incoming>SequenceFlow_1xggje5</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_07llpjo</bpmn2:outgoing> </bpmn2:callActivity> - <bpmn2:sequenceFlow id="SequenceFlow_0e2ta6w" sourceRef="SendResponse" targetRef="ExclusiveGateway_1qozral" /> + <bpmn2:sequenceFlow id="SequenceFlow_0e2ta6w" sourceRef="SendResponse" targetRef="Task_1o3z68c" /> <bpmn2:exclusiveGateway id="ExclusiveGateway_09h60ub" name="Error on HealthCheck?" default="SequenceFlow_1vx081s"> <bpmn2:incoming>SequenceFlow_07llpjo</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1vx081s</bpmn2:outgoing> @@ -274,12 +274,12 @@ exceptionUtil.processJavaException(execution)]]></bpmn2:script> <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorConfigScaleOutCode") != "0"]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> <bpmn2:exclusiveGateway id="ExclusiveGateway_1qozral" name="Do HealthCheck?" default="SequenceFlow_1y7d5qk"> - <bpmn2:incoming>SequenceFlow_0e2ta6w</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1b7348f</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1xggje5</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_1y7d5qk</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_1xggje5" name="yes" sourceRef="ExclusiveGateway_1qozral" targetRef="CallActivity_0i3men0"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA["VNF Orchestration Status" == "Active or Activated"]]></bpmn2:conditionExpression> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("runHealthCheck")]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> <bpmn2:sequenceFlow id="SequenceFlow_1y7d5qk" name="no" sourceRef="ExclusiveGateway_1qozral" targetRef="DoCreateVfModuleSubprocess" /> <bpmn2:exclusiveGateway id="ExclusiveGateway_0c8x2mq" name="Do ConfigScaleOut?" default="SequenceFlow_0u8zesf"> @@ -288,9 +288,17 @@ exceptionUtil.processJavaException(execution)]]></bpmn2:script> <bpmn2:outgoing>SequenceFlow_0u8zesf</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_020dbkp" name="yes" sourceRef="ExclusiveGateway_0c8x2mq" targetRef="CallActivity_17ukiqm"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA["VNF Orchestration Status" == "Active or Activated"]]></bpmn2:conditionExpression> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("runConfigScaleOut")]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> <bpmn2:sequenceFlow id="SequenceFlow_0u8zesf" name="no" sourceRef="ExclusiveGateway_0c8x2mq" targetRef="PrepareMSOCompletionHandler" /> + <bpmn2:sequenceFlow id="SequenceFlow_1b7348f" sourceRef="Task_1o3z68c" targetRef="ExclusiveGateway_1qozral" /> + <bpmn2:scriptTask id="Task_1o3z68c" name="Query AAI For Orchestration Status" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0e2ta6w</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1b7348f</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def createVfModule = new CreateVfModuleInfra() +createVfModule.queryAAIForVnfOrchestrationStatus(execution)]]></bpmn2:script> + </bpmn2:scriptTask> </bpmn2:process> <bpmn2:error id="Error_1" name="MSOWorkflowException" errorCode="MSOWorkflowException" /> <bpmn2:error id="Error_2" name="REST Fault" errorCode="RESTFault" /> @@ -323,19 +331,19 @@ exceptionUtil.processJavaException(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_178" bpmnElement="DoCreateVfModuleSubprocess"> - <dc:Bounds x="597" y="-6" width="145" height="80" /> + <dc:Bounds x="762" y="-6" width="145" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_IntermediateThrowEvent_47" bpmnElement="IntermediateThrowEvent_1"> - <dc:Bounds x="812" y="16" width="36" height="36" /> + <dc:Bounds x="977" y="16" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="796" y="57" width="67" height="12" /> + <dc:Bounds x="963" y="57" width="64" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ScriptTask_178" targetElement="_BPMNShape_IntermediateThrowEvent_47"> - <di:waypoint xsi:type="dc:Point" x="742" y="34" /> - <di:waypoint xsi:type="dc:Point" x="812" y="34" /> + <di:waypoint xsi:type="dc:Point" x="907" y="34" /> + <di:waypoint xsi:type="dc:Point" x="977" y="34" /> <bpmndi:BPMNLabel> - <dc:Bounds x="732" y="19" width="90" height="0" /> + <dc:Bounds x="897" y="19" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_IntermediateCatchEvent_32" bpmnElement="IntermediateCatchEvent_1"> @@ -529,48 +537,48 @@ exceptionUtil.processJavaException(execution)]]></bpmn2:script> <dc:Bounds x="296" y="698" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="CallActivity_0i3men0_di" bpmnElement="CallActivity_0i3men0"> - <dc:Bounds x="432" y="-145" width="145" height="80" /> + <dc:Bounds x="597" y="-145" width="145" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0e2ta6w_di" bpmnElement="SequenceFlow_0e2ta6w"> <di:waypoint xsi:type="dc:Point" x="409" y="34" /> - <di:waypoint xsi:type="dc:Point" x="480" y="34" /> + <di:waypoint xsi:type="dc:Point" x="460" y="34" /> <bpmndi:BPMNLabel> - <dc:Bounds x="399.5" y="19" width="90" height="0" /> + <dc:Bounds x="389.5" y="19" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_09h60ub_di" bpmnElement="ExclusiveGateway_09h60ub" isMarkerVisible="true"> - <dc:Bounds x="645" y="-130" width="50" height="50" /> + <dc:Bounds x="810" y="-130" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="632" y="-162" width="75" height="24" /> + <dc:Bounds x="800" y="-162" width="69" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1vx081s_di" bpmnElement="SequenceFlow_1vx081s"> - <di:waypoint xsi:type="dc:Point" x="670" y="-80" /> - <di:waypoint xsi:type="dc:Point" x="670" y="-38" /> - <di:waypoint xsi:type="dc:Point" x="670" y="-38" /> - <di:waypoint xsi:type="dc:Point" x="670" y="-6" /> + <di:waypoint xsi:type="dc:Point" x="835" y="-80" /> + <di:waypoint xsi:type="dc:Point" x="835" y="-38" /> + <di:waypoint xsi:type="dc:Point" x="835" y="-38" /> + <di:waypoint xsi:type="dc:Point" x="835" y="-6" /> <bpmndi:BPMNLabel> - <dc:Bounds x="674.9351851851853" y="-69.97752808988761" width="15" height="12" /> + <dc:Bounds x="841" y="-70" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_07llpjo_di" bpmnElement="SequenceFlow_07llpjo"> - <di:waypoint xsi:type="dc:Point" x="577" y="-105" /> - <di:waypoint xsi:type="dc:Point" x="645" y="-105" /> + <di:waypoint xsi:type="dc:Point" x="742" y="-105" /> + <di:waypoint xsi:type="dc:Point" x="810" y="-105" /> <bpmndi:BPMNLabel> - <dc:Bounds x="566" y="-120" width="90" height="0" /> + <dc:Bounds x="731" y="-120" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="EndEvent_0n6bb71_di" bpmnElement="EndEvent_0n6bb71"> - <dc:Bounds x="760" y="-123" width="36" height="36" /> + <dc:Bounds x="925" y="-123" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="733" y="-82" width="90" height="0" /> + <dc:Bounds x="898" y="-82" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0nszq2o_di" bpmnElement="SequenceFlow_0nszq2o"> - <di:waypoint xsi:type="dc:Point" x="695" y="-105" /> - <di:waypoint xsi:type="dc:Point" x="760" y="-105" /> + <di:waypoint xsi:type="dc:Point" x="860" y="-105" /> + <di:waypoint xsi:type="dc:Point" x="925" y="-105" /> <bpmndi:BPMNLabel> - <dc:Bounds x="700.9862881434168" y="-100.62310488133339" width="20" height="12" /> + <dc:Bounds x="867" y="-101" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="CallActivity_17ukiqm_di" bpmnElement="CallActivity_17ukiqm"> @@ -617,23 +625,23 @@ exceptionUtil.processJavaException(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_1qozral_di" bpmnElement="ExclusiveGateway_1qozral" isMarkerVisible="true"> - <dc:Bounds x="479.5474525474525" y="9" width="50" height="50" /> + <dc:Bounds x="645" y="9" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="463" y="66" width="86" height="12" /> + <dc:Bounds x="628" y="66" width="86" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1xggje5_di" bpmnElement="SequenceFlow_1xggje5"> - <di:waypoint xsi:type="dc:Point" x="505" y="9" /> - <di:waypoint xsi:type="dc:Point" x="505" y="-65" /> + <di:waypoint xsi:type="dc:Point" x="670" y="9" /> + <di:waypoint xsi:type="dc:Point" x="670" y="-65" /> <bpmndi:BPMNLabel> - <dc:Bounds x="512" y="-26" width="20" height="12" /> + <dc:Bounds x="678" y="-26" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1y7d5qk_di" bpmnElement="SequenceFlow_1y7d5qk"> - <di:waypoint xsi:type="dc:Point" x="530" y="34" /> - <di:waypoint xsi:type="dc:Point" x="597" y="34" /> + <di:waypoint xsi:type="dc:Point" x="695" y="34" /> + <di:waypoint xsi:type="dc:Point" x="762" y="34" /> <bpmndi:BPMNLabel> - <dc:Bounds x="546" y="37" width="15" height="12" /> + <dc:Bounds x="713" y="37" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_0c8x2mq_di" bpmnElement="ExclusiveGateway_0c8x2mq" isMarkerVisible="true"> @@ -656,6 +664,16 @@ exceptionUtil.processJavaException(execution)]]></bpmn2:script> <dc:Bounds x="585" y="372" width="15" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1b7348f_di" bpmnElement="SequenceFlow_1b7348f"> + <di:waypoint xsi:type="dc:Point" x="560" y="34" /> + <di:waypoint xsi:type="dc:Point" x="645" y="34" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="602.5" y="13" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_19vqej7_di" bpmnElement="Task_1o3z68c"> + <dc:Bounds x="460" y="-6" width="100" height="80" /> + </bpmndi:BPMNShape> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </bpmn2:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteE2EServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteE2EServiceInstance.bpmn index 4d9bbe98da..78eabb99de 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteE2EServiceInstance.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteE2EServiceInstance.bpmn @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0"> +<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.11.3"> <bpmn:process id="DoDeleteE2EServiceInstance" name="All Resources Deleted" isExecutable="true"> <bpmn:startEvent id="StartEvent_0212h2r" name="Start Flow"> <bpmn:outgoing>SequenceFlow_0vz7cd9</bpmn:outgoing> @@ -119,11 +119,11 @@ ddsi.preInitResourcesOperStatus(execution)]]></bpmn:script> <bpmn:incoming>SequenceFlow_0ha8ix9</bpmn:incoming> <bpmn:linkEventDefinition name="StartDeleteResource" /> </bpmn:intermediateThrowEvent> - <bpmn:intermediateCatchEvent id="StartEvent_09zdoq6" name="Start Delete Resources"> + <bpmn:intermediateCatchEvent id="startDeleteResources" name="Start Delete Resources"> <bpmn:outgoing>SequenceFlow_1961633</bpmn:outgoing> <bpmn:linkEventDefinition name="StartDeleteResource" /> </bpmn:intermediateCatchEvent> - <bpmn:sequenceFlow id="SequenceFlow_1961633" sourceRef="StartEvent_09zdoq6" targetRef="ScriptTask_146jt8v" /> + <bpmn:sequenceFlow id="SequenceFlow_1961633" sourceRef="startDeleteResources" targetRef="ScriptTask_146jt8v" /> <bpmn:scriptTask id="Task_1ldvug1" name="Prepare Decompose Service" scriptFormat="groovy"> <bpmn:incoming>SequenceFlow_1q2mqnm</bpmn:incoming> <bpmn:outgoing>SequenceFlow_0fo5vw5</bpmn:outgoing> @@ -172,11 +172,11 @@ dcsi.postDecomposeService(execution)]]></bpmn:script> <bpmn:outgoing>SequenceFlow_1cevtpy</bpmn:outgoing> </bpmn:callActivity> <bpmn:sequenceFlow id="SequenceFlow_1cevtpy" sourceRef="Task_1f5dlsv" targetRef="CallActivity_06izbke" /> - <bpmn:intermediateCatchEvent id="StartEvent_1irom2x" name="Decompose Service"> + <bpmn:intermediateCatchEvent id="DecomposeService" name="Decompose Service"> <bpmn:outgoing>SequenceFlow_1q2mqnm</bpmn:outgoing> <bpmn:linkEventDefinition name="DecomposeService" /> </bpmn:intermediateCatchEvent> - <bpmn:sequenceFlow id="SequenceFlow_1q2mqnm" sourceRef="StartEvent_1irom2x" targetRef="Task_1ldvug1" /> + <bpmn:sequenceFlow id="SequenceFlow_1q2mqnm" sourceRef="DecomposeService" targetRef="Task_1ldvug1" /> <bpmn:intermediateThrowEvent id="StartEvent_1qh5a34" name="Go to Decompse Service"> <bpmn:incoming>SequenceFlow_0vi0sv6</bpmn:incoming> <bpmn:linkEventDefinition name="DecomposeService" /> @@ -340,7 +340,7 @@ dcsi.postDecomposeService(execution)]]></bpmn:script> <dc:Bounds x="233" y="220" width="64" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="IntermediateCatchEvent_1jcfnjr_di" bpmnElement="StartEvent_09zdoq6"> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1jcfnjr_di" bpmnElement="startDeleteResources"> <dc:Bounds x="-537" y="472" width="36" height="36" /> <bpmndi:BPMNLabel> <dc:Bounds x="-549" y="512" width="60" height="24" /> @@ -372,7 +372,7 @@ dcsi.postDecomposeService(execution)]]></bpmn:script> <dc:Bounds x="134" y="469" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="IntermediateCatchEvent_0s6bb2d_di" bpmnElement="StartEvent_1irom2x"> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0s6bb2d_di" bpmnElement="DecomposeService"> <dc:Bounds x="-537" y="180" width="36" height="36" /> <bpmndi:BPMNLabel> <dc:Bounds x="-550" y="220" width="61" height="24" /> diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVfModuleInfraTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVfModuleInfraTest.java index de2ae771a5..27f421dcc7 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVfModuleInfraTest.java +++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/CreateVfModuleInfraTest.java @@ -21,6 +21,7 @@ package org.openecomp.mso.bpmn.infrastructure;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchGenericVnf;
+import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfsByVnfId;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchVfModuleId;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockAAIVfModule;
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockSDNCAdapterVfModule;
@@ -87,6 +88,7 @@ public class CreateVfModuleInfraTest extends WorkflowTest { logStart();
MockAAIVfModule();
+ MockGetGenericVnfsByVnfId("skask","__files/AAI/AAI_genericVnfGet.json",200);
MockPatchGenericVnf("skask");
MockPatchVfModuleId("skask", ".*");
MockSDNCAdapterVfModule();
@@ -148,6 +150,7 @@ public class CreateVfModuleInfraTest extends WorkflowTest { logStart();
MockAAIVfModule();
+ MockGetGenericVnfsByVnfId("skask","__files/AAI/AAI_genericVnfGet.json",200);
MockPatchGenericVnf("skask");
MockPatchVfModuleId("skask", ".*");
MockSDNCAdapterVfModule();
@@ -239,6 +242,7 @@ public class CreateVfModuleInfraTest extends WorkflowTest { MockAAIVfModule();
+ MockGetGenericVnfsByVnfId("skask","__files/AAI/AAI_genericVnfGet.json",200);
MockPatchGenericVnf("skask");
MockPatchVfModuleId("skask", ".*");
MockSDNCAdapterVfModule();
@@ -325,6 +329,7 @@ public class CreateVfModuleInfraTest extends WorkflowTest { logStart();
MockAAIVfModule();
+ MockGetGenericVnfsByVnfId("skask","__files/AAI/AAI_genericVnfGet.json",200);
MockPatchGenericVnf("skask");
MockPatchVfModuleId("skask", ".*");
MockSDNCAdapterVfModule();
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/AAI/AAI_genericVnfGet.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/AAI/AAI_genericVnfGet.json new file mode 100644 index 0000000000..09d7758f04 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/AAI/AAI_genericVnfGet.json @@ -0,0 +1,9 @@ +{
+ "vnf-id": "msoVnf123",
+ "vnf-name": "MSO-Test-VNF-123",
+ "vnf-type": "vnf-type",
+ "orchestration-status": "active",
+ "in-maint": false,
+ "is-closed-loop-disabled": false,
+ "resource-version": "1525360206136"
+}
\ No newline at end of file diff --git a/docs/SO_R1_Interface.rst b/docs/SO_R1_Interface.rst index df68005d80..3c0d01917b 100644 --- a/docs/SO_R1_Interface.rst +++ b/docs/SO_R1_Interface.rst @@ -1025,7 +1025,7 @@ Request Object +-------------------+---------+-----------+--------------------------+-------------------------------------------+ |Attribute |Qualifier|Cardinality|Content |Description | +===================+=========+===========+==========================+===========================================+ -|requestId |M |1 |String |Request Id | +|requestId |M |1 |String |Request Id. | +-------------------+---------+-----------+--------------------------+-------------------------------------------+ |startTime |M |1 |request Object |Start time. | +-------------------+---------+-----------+--------------------------+-------------------------------------------+ |