diff options
11 files changed, 364 insertions, 57 deletions
diff --git a/adapters/mso-requests-db-adapter/src/main/java/org/openecomp/mso/adapters/requestsdb/MsoRequestsDbAdapter.java b/adapters/mso-requests-db-adapter/src/main/java/org/openecomp/mso/adapters/requestsdb/MsoRequestsDbAdapter.java index 9648922d41..43273df14f 100644 --- a/adapters/mso-requests-db-adapter/src/main/java/org/openecomp/mso/adapters/requestsdb/MsoRequestsDbAdapter.java +++ b/adapters/mso-requests-db-adapter/src/main/java/org/openecomp/mso/adapters/requestsdb/MsoRequestsDbAdapter.java @@ -55,5 +55,21 @@ public interface MsoRequestsDbAdapter { @WebMethod public boolean getSiteStatus (@WebParam(name="siteName") @XmlElement(required = true) String siteName); + + @WebMethod + public void updateServiceOperationStatus (@WebParam(name = "serviceId") @XmlElement(required = true) String serviceId, + @WebParam(name = "operationId") @XmlElement(required = false) String operationId, + @WebParam(name = "operationType") @XmlElement(required = false) String operationType, + @WebParam(name = "userId") @XmlElement(required = false) String userId, + @WebParam(name = "result") @XmlElement(required = false) String result, + @WebParam(name = "operationContent") @XmlElement(required = false) String operationContent, + @WebParam(name = "progress") @XmlElement(required = false) String progress, + @WebParam(name = "reason") @XmlElement(required = false) String reason) throws MsoRequestsDbException; + + @WebMethod + public void initResourceOperationStatus (@WebParam(name = "serviceId") @XmlElement(required = true) String serviceId, + @WebParam(name = "operationId") @XmlElement(required = true) String operationId, + @WebParam(name = "operationType") @XmlElement(required = true) String operationType, + @WebParam(name = "resourceTemplateUUIDs") @XmlElement(required = true) String resourceTemplateUUIDs) throws MsoRequestsDbException; } diff --git a/adapters/mso-requests-db-adapter/src/main/java/org/openecomp/mso/adapters/requestsdb/MsoRequestsDbAdapterImpl.java b/adapters/mso-requests-db-adapter/src/main/java/org/openecomp/mso/adapters/requestsdb/MsoRequestsDbAdapterImpl.java index f8a2c986da..87be2e1ccb 100644 --- a/adapters/mso-requests-db-adapter/src/main/java/org/openecomp/mso/adapters/requestsdb/MsoRequestsDbAdapterImpl.java +++ b/adapters/mso-requests-db-adapter/src/main/java/org/openecomp/mso/adapters/requestsdb/MsoRequestsDbAdapterImpl.java @@ -22,20 +22,24 @@ package org.openecomp.mso.adapters.requestsdb; import java.sql.Timestamp; +import javax.jws.WebMethod; import javax.jws.WebService; -import org.openecomp.mso.requestsdb.SiteStatus; -import org.openecomp.mso.utils.UUIDChecker; import org.hibernate.HibernateException; import org.hibernate.Query; import org.hibernate.Session; - import org.openecomp.mso.adapters.requestsdb.exceptions.MsoRequestsDbException; +import org.openecomp.mso.db.AbstractSessionFactoryManager; import org.openecomp.mso.logger.MessageEnum; import org.openecomp.mso.logger.MsoLogger; -import org.openecomp.mso.db.AbstractSessionFactoryManager; -import org.openecomp.mso.requestsdb.RequestsDbSessionFactoryManager; import org.openecomp.mso.requestsdb.InfraActiveRequests; +import org.openecomp.mso.requestsdb.OperationStatus; +import org.openecomp.mso.requestsdb.RequestsDatabase; +import org.openecomp.mso.requestsdb.RequestsDbConstant; +import org.openecomp.mso.requestsdb.RequestsDbSessionFactoryManager; +import org.openecomp.mso.requestsdb.ResourceOperationStatus; +import org.openecomp.mso.requestsdb.SiteStatus; +import org.openecomp.mso.utils.UUIDChecker; @WebService(serviceName = "RequestsDbAdapter", endpointInterface = "org.openecomp.mso.adapters.requestsdb.MsoRequestsDbAdapter", targetNamespace = "http://org.openecomp.mso/requestsdb") public class MsoRequestsDbAdapterImpl implements MsoRequestsDbAdapter { @@ -262,4 +266,61 @@ public class MsoRequestsDbAdapterImpl implements MsoRequestsDbAdapter { return siteStatus.getStatus(); } } + + /** + * update operation status + * <br> + * + * @param serviceId + * @param operationId + * @param operationType + * @param userId + * @param result + * @param operationContent + * @param progress + * @param reason + * @throws MsoRequestsDbException + * @since ONAP Amsterdam Release + */ + @Override + public void updateServiceOperationStatus(String serviceId, String operationId, String operationType, String userId, + String result, String operationContent, String progress, String reason) throws MsoRequestsDbException { + OperationStatus operStatus = new OperationStatus(); + operStatus.setServiceId(serviceId); + operStatus.setOperationId(operationId); + operStatus.setUserId(userId); + operStatus.setOperation(operationType); + operStatus.setReason(reason); + operStatus.setProgress(progress); + operStatus.setOperationContent(operationContent); + RequestsDatabase.getInstance().updateOperationStatus(operStatus); + } + + /** + * init the operation status of all the resources + * <br> + * + * @param serviceId the service Id + * @param operationId the operation Id + * @param operationType the operationType + * @param resourceTemplateUUIDs the resources, the UUID is split by ":" + * @throws MsoRequestsDbException + * @since ONAP Amsterdam Release + */ + @Override + public void initResourceOperationStatus(String serviceId, String operationId, String operationType, + String resourceTemplateUUIDs) throws MsoRequestsDbException{ + String[] resourceLst = resourceTemplateUUIDs.split(":"); + for(String resource: resourceLst){ + ResourceOperationStatus resourceStatus = new ResourceOperationStatus(); + resourceStatus.setOperationId(operationId); + resourceStatus.setServiceId(serviceId); + resourceStatus.setResourceTemplateUUID(resource); + resourceStatus.setOperType(operationType); + resourceStatus.setStatus(RequestsDbConstant.Status.PROCESSING); + resourceStatus.setStatusDescription("Waiting for start"); + RequestsDatabase.getInstance().updateResOperStatus(resourceStatus); + } + } + } diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateCustomE2EServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateCustomE2EServiceInstance.groovy index 33bbbd8e6a..7f4f78762e 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateCustomE2EServiceInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateCustomE2EServiceInstance.groovy @@ -282,4 +282,59 @@ public class CreateCustomE2EServiceInstance extends AbstractServiceTaskProcessor } utils.log("DEBUG", "*** Exit prepareFalloutRequest ***", isDebugEnabled) } + + /** + * Init the service Operation Status + */ + public void prepareInitServiceOperationStatus(Execution execution){ + def isDebugEnabled = execution.getVariable("isDebugLogEnabled") + utils.log("DEBUG", " ======== STARTED prepareInitServiceOperationStatus Process ======== ", isDebugEnabled) + try{ + String serviceId = execution.getVariable("serviceInstanceId") + String operationId = UUID.randomUUID().toString() + String operationType = "CREATE" + String userId = "" + String result = "processing" + String progress = "0" + String reason = "" + String operationContent = "Prepare service creation" + utils.log("DEBUG", "Generated new operation for Service Instance serviceId:" + serviceId + " operationId:" + operationId, isDebugEnabled) + serviceId = UriUtils.encode(serviceId,"UTF-8") + execution.setVariable("serviceInstanceId", serviceId) + execution.setVariable("operationId", operationId) + execution.setVariable("operationType", operationType) + + def dbAdapterEndpoint = execution.getVariable("URN_mso_openecomp_adapters_db_endpoint") + execution.setVariable("CVFMI_dbAdapterEndpoint", dbAdapterEndpoint) + utils.log("DEBUG", "DB Adapter Endpoint is: " + dbAdapterEndpoint, isDebugEnabled) + + String payload = + """<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:ns="http://org.openecomp.mso/requestsdb"> + <soapenv:Header/> + <soapenv:Body> + <ns:updateServiceOperationStatus xmlns:ns="http://org.openecomp.mso/requestsdb"> + <serviceId>${serviceId}</serviceId> + <operationId>${operationId}</operationId> + <operationType>${operationType}</operationType> + <userId>${userId}</responseBody> + <result>${result}</result> + <operationContent>${operationContent}</operationContent> + <progress>${progress}</progress> + <reason>${reason}</reason> + </ns:updateServiceOperationStatus> + </soapenv:Body> + </soapenv:Envelope>""" + + payload = utils.formatXml(payload) + execution.setVariable("CVFMI_updateServiceOperStatusRequest", payload) + utils.log("DEBUG", "Outgoing updateServiceOperStatusRequest: \n" + payload, isDebugEnabled) + utils.logAudit("CreateVfModuleInfra Outgoing updateServiceOperStatusRequest Request: " + payload) + + }catch(Exception e){ + utils.log("ERROR", "Exception Occured Processing prepareInitServiceOperationStatus. Exception is:\n" + e, isDebugEnabled) + execution.setVariable("CVFMI_ErrorResponse", "Error Occurred during prepareInitServiceOperationStatus Method:\n" + e.getMessage()) + } + utils.log("DEBUG", "======== COMPLETED prepareInitServiceOperationStatus Process ======== ", isDebugEnabled) + } }
\ No newline at end of file diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstance.groovy index 4129a7660a..7505eed348 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstance.groovy @@ -606,4 +606,64 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor { utils.log("DEBUG"," *** Exit postProcessRollback *** ", isDebugEnabled) } + public void preInitResourcesOperStatus(Execution execution){ + def isDebugEnabled = execution.getVariable("isDebugLogEnabled") + + utils.log("DEBUG", " ======== STARTED preInitResourcesOperStatus Process ======== ", isDebugEnabled) + try{ + String serviceId = execution.getVariable("serviceInstanceId") + String operationId = execution.getVariable("operationId") + String operationType = execution.getVariable("operationType") + String resourceTemplateUUIDs = "" + String result = "processing" + String progress = "0" + String reason = "" + String operationContent = "Prepare service creation" + utils.log("DEBUG", "Generated new operation for Service Instance serviceId:" + serviceId + " operationId:" + operationId, isDebugEnabled) + serviceId = UriUtils.encode(serviceId,"UTF-8") + execution.setVariable("serviceInstanceId", serviceId) + execution.setVariable("operationId", operationId) + execution.setVariable("operationType", operationType) + def jsonSlurper = new JsonSlurper() + def jsonOutput = new JsonOutput() + String incomingRequest = execution.getVariable("bpmnRequest") + Map serviceReq = jsonSlurper.parseText(incomingRequest) + def segmentList = serviceReq.service.parameters.segments + + if (segmentList != null) { + segmentList.each { + resourceTemplateUUIDs = resourcesUUIDs + it.resourceUUID + ":" + } + } + + def dbAdapterEndpoint = execution.getVariable("URN_mso_openecomp_adapters_db_endpoint") + execution.setVariable("CVFMI_dbAdapterEndpoint", dbAdapterEndpoint) + utils.log("DEBUG", "DB Adapter Endpoint is: " + dbAdapterEndpoint, isDebugEnabled) + + String payload = + """<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:ns="http://org.openecomp.mso/requestsdb"> + <soapenv:Header/> + <soapenv:Body> + <ns:initResourceOperationStatus xmlns:ns="http://org.openecomp.mso/requestsdb"> + <serviceId>${serviceId}</serviceId> + <operationId>${operationId}</operationId> + <operationType>${operationType}</operationType> + <resourceTemplateUUIDs>${resourceTemplateUUIDs}</resourceTemplateUUIDs> + </ns:initResourceOperationStatus> + </soapenv:Body> + </soapenv:Envelope>""" + + payload = utils.formatXml(payload) + execution.setVariable("CVFMI_initResOperStatusRequest", payload) + utils.log("DEBUG", "Outgoing initResourceOperationStatus: \n" + payload, isDebugEnabled) + utils.logAudit("CreateVfModuleInfra Outgoing initResourceOperationStatus Request: " + payload) + + }catch(Exception e){ + utils.log("ERROR", "Exception Occured Processing preInitResourcesOperStatus. Exception is:\n" + e, isDebugEnabled) + execution.setVariable("CVFMI_ErrorResponse", "Error Occurred during preInitResourcesOperStatus Method:\n" + e.getMessage()) + } + utils.log("DEBUG", "======== COMPLETED preInitResourcesOperStatus Process ======== ", isDebugEnabled) + } + } diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateCustomE2EServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateCustomE2EServiceInstance.bpmn index a0a77faf0f..0a80602705 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateCustomE2EServiceInstance.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateCustomE2EServiceInstance.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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.7.2"> +<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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0"> <bpmn:process id="CreateCustomE2EServiceInstance" name="CreateCustomE2EServiceInstance" isExecutable="true"> <bpmn:startEvent id="StartEvent_00qj6ro" name="Create SI Start Flow"> <bpmn:outgoing>SequenceFlow_0s2spoq</bpmn:outgoing> @@ -113,7 +113,7 @@ csi.sendSyncError(execution)]]></bpmn:script> <bpmn:sequenceFlow id="SequenceFlow_01umodj" sourceRef="ScriptTask_0u8o9p2" targetRef="CallActivity_1ang7q8" /> </bpmn:subProcess> <bpmn:scriptTask id="ScriptTask_0xupxj9" name="Send Sync Ack Response" scriptFormat="groovy"> - <bpmn:incoming>SequenceFlow_0z4faf9</bpmn:incoming> + <bpmn:incoming>SequenceFlow_081z8l2</bpmn:incoming> <bpmn:outgoing>SequenceFlow_19eilro</bpmn:outgoing> <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def csi = new CreateCustomE2EServiceInstance() @@ -132,7 +132,7 @@ csi.sendSyncResponse(execution)]]></bpmn:script> <bpmn:sequenceFlow id="SequenceFlow_19eilro" sourceRef="ScriptTask_0xupxj9" targetRef="DoCreateE2EServiceInstance" /> <bpmn:sequenceFlow id="SequenceFlow_0klbpxx" sourceRef="DoCreateE2EServiceInstance" targetRef="ExclusiveGateway_0aqn64l" /> <bpmn:sequenceFlow id="SequenceFlow_0yayvrf" sourceRef="CallActivity_02fyxz0" targetRef="EndEvent_0bpd6c0" /> - <bpmn:sequenceFlow id="SequenceFlow_0z4faf9" sourceRef="ScriptTask_1s09c7d" targetRef="ScriptTask_0xupxj9" /> + <bpmn:sequenceFlow id="SequenceFlow_0z4faf9" sourceRef="ScriptTask_1s09c7d" targetRef="Task_1tqjch6" /> <bpmn:sequenceFlow id="SequenceFlow_14zu6wr" name="yes" sourceRef="ExclusiveGateway_0aqn64l" targetRef="ScriptTask_0ttvn8r"> <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{execution.getVariable("WorkflowException") == null}]]></bpmn:conditionExpression> </bpmn:sequenceFlow> @@ -140,14 +140,45 @@ csi.sendSyncResponse(execution)]]></bpmn:script> <bpmn:sequenceFlow id="SequenceFlow_1fueo69" name="no" sourceRef="ExclusiveGateway_0aqn64l" targetRef="EndEvent_07uk5iy"> <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{execution.getVariable("WorkflowException") != null}]]></bpmn:conditionExpression> </bpmn:sequenceFlow> + <bpmn:sequenceFlow id="SequenceFlow_1euqjsp" sourceRef="Task_1tqjch6" targetRef="Task_19mxcw3" /> + <bpmn:scriptTask id="Task_1tqjch6" name="Init Service Operation Status" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_0z4faf9</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1euqjsp</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def csi= new CreateCustomE2EServiceInstance() +csi.InitServiceOperationStatus(execution)]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:sequenceFlow id="SequenceFlow_081z8l2" sourceRef="Task_19mxcw3" targetRef="ScriptTask_0xupxj9" /> + <bpmn:serviceTask id="Task_19mxcw3" name="Update Service Operation Status"> + <bpmn:extensionElements> + <camunda:connector> + <camunda:inputOutput> + <camunda:inputParameter name="url">${URN_mso_openecomp_adapters_db_endpoint}</camunda:inputParameter> + <camunda:inputParameter name="headers"> + <camunda:map> + <camunda:entry key="content-type">application/soap+xml</camunda:entry> + <camunda:entry key="Authorization">#{BasicAuthHeaderValueDB}</camunda:entry> + </camunda:map> + </camunda:inputParameter> + <camunda:inputParameter name="payload">${CVFMI_updateServiceOperStatusRequest}</camunda:inputParameter> + <camunda:inputParameter name="method">POST</camunda:inputParameter> + <camunda:outputParameter name="CVFMI_dbResponseCode">${statusCode}</camunda:outputParameter> + <camunda:outputParameter name="CVFMI_dbResponse">${response}</camunda:outputParameter> + </camunda:inputOutput> + <camunda:connectorId>http-connector</camunda:connectorId> + </camunda:connector> + </bpmn:extensionElements> + <bpmn:incoming>SequenceFlow_1euqjsp</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_081z8l2</bpmn:outgoing> + </bpmn:serviceTask> </bpmn:process> <bpmn:error id="Error_0nbdy47" name="MSOWorkflowException" errorCode="MSOWorkflowException" /> <bpmndi:BPMNDiagram id="BPMNDiagram_1"> <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="CreateCustomE2EServiceInstance"> <bpmndi:BPMNShape id="StartEvent_00qj6ro_di" bpmnElement="StartEvent_00qj6ro"> - <dc:Bounds x="235" y="180" width="36" height="36" /> + <dc:Bounds x="82" y="180" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="216" y="221" width="75" height="24" /> + <dc:Bounds x="64" y="221" width="73" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="SubProcess_0ka59nc_di" bpmnElement="SubProcess_0ka59nc" isExpanded="true"> @@ -163,7 +194,7 @@ csi.sendSyncResponse(execution)]]></bpmn:script> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ScriptTask_1s09c7d_di" bpmnElement="ScriptTask_1s09c7d"> - <dc:Bounds x="353" y="158" width="100" height="80" /> + <dc:Bounds x="158" y="158" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ScriptTask_0ttvn8r_di" bpmnElement="ScriptTask_0ttvn8r"> <dc:Bounds x="1038" y="158" width="100" height="80" /> @@ -175,7 +206,7 @@ csi.sendSyncResponse(execution)]]></bpmn:script> <dc:Bounds x="348" y="370" width="679" height="194" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ScriptTask_0xupxj9_di" bpmnElement="ScriptTask_0xupxj9"> - <dc:Bounds x="521" y="158" width="100" height="80" /> + <dc:Bounds x="550" y="158" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ExclusiveGateway_0aqn64l_di" bpmnElement="ExclusiveGateway_0aqn64l" isMarkerVisible="true"> <dc:Bounds x="903" y="173" width="50" height="50" /> @@ -190,17 +221,17 @@ csi.sendSyncResponse(execution)]]></bpmn:script> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0s2spoq_di" bpmnElement="SequenceFlow_0s2spoq"> - <di:waypoint xsi:type="dc:Point" x="271" y="198" /> - <di:waypoint xsi:type="dc:Point" x="353" y="198" /> + <di:waypoint xsi:type="dc:Point" x="118" y="198" /> + <di:waypoint xsi:type="dc:Point" x="158" y="198" /> <bpmndi:BPMNLabel> - <dc:Bounds x="267" y="183" width="0" height="12" /> + <dc:Bounds x="93" y="177" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_19eilro_di" bpmnElement="SequenceFlow_19eilro"> - <di:waypoint xsi:type="dc:Point" x="621" y="198" /> + <di:waypoint xsi:type="dc:Point" x="650" y="198" /> <di:waypoint xsi:type="dc:Point" x="701" y="198" /> <bpmndi:BPMNLabel> - <dc:Bounds x="616" y="183" width="0" height="12" /> + <dc:Bounds x="630.5" y="177" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0klbpxx_di" bpmnElement="SequenceFlow_0klbpxx"> @@ -218,10 +249,10 @@ csi.sendSyncResponse(execution)]]></bpmn:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0z4faf9_di" bpmnElement="SequenceFlow_0z4faf9"> - <di:waypoint xsi:type="dc:Point" x="453" y="198" /> - <di:waypoint xsi:type="dc:Point" x="521" y="198" /> + <di:waypoint xsi:type="dc:Point" x="258" y="198" /> + <di:waypoint xsi:type="dc:Point" x="298" y="198" /> <bpmndi:BPMNLabel> - <dc:Bounds x="442" y="183" width="0" height="12" /> + <dc:Bounds x="233" y="177" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_14zu6wr_di" bpmnElement="SequenceFlow_14zu6wr"> @@ -331,6 +362,26 @@ csi.sendSyncResponse(execution)]]></bpmn:script> <dc:Bounds x="715.5" y="459" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1euqjsp_di" bpmnElement="SequenceFlow_1euqjsp"> + <di:waypoint xsi:type="dc:Point" x="398" y="198" /> + <di:waypoint xsi:type="dc:Point" x="425.46307385229545" y="198" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="411.7315369261477" y="177" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_1a3vwas_di" bpmnElement="Task_1tqjch6"> + <dc:Bounds x="298" y="158" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_081z8l2_di" bpmnElement="SequenceFlow_081z8l2"> + <di:waypoint xsi:type="dc:Point" x="525.4630738522955" y="198" /> + <di:waypoint xsi:type="dc:Point" x="550" y="198" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="537.7315369261478" y="177" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ServiceTask_1afiuuq_di" bpmnElement="Task_19mxcw3"> + <dc:Bounds x="426" y="158" width="100" height="80" /> + </bpmndi:BPMNShape> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </bpmn:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateE2EServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateE2EServiceInstance.bpmn index 758de28d36..2e996e20d5 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateE2EServiceInstance.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateE2EServiceInstance.bpmn @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.7.2" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> +<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> <bpmn2:process id="DoCreateE2EServiceInstance" name="DoCreateE2EServiceInstance" isExecutable="true"> <bpmn2:startEvent id="createSI_startEvent" name="Start Flow"> <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> @@ -135,7 +135,7 @@ def csi = new DoCreateE2EServiceInstance() csi.preSDNCRequest(execution)]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:scriptTask id="ScriptTask_0wvq4t8" name="Prepare VF-C Adaptor Data Request" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_1170ztf</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_05gdjox</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_15zgrcq</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def csi = new DoCreateE2EServiceInstance() @@ -160,11 +160,42 @@ csi.postConfigRequest(execution)]]></bpmn2:script> <bpmn2:sequenceFlow id="SequenceFlow_15zgrcq" sourceRef="ScriptTask_0wvq4t8" targetRef="CallActivity_0uwm4l1" /> <bpmn2:sequenceFlow id="SequenceFlow_1vvdkcs" sourceRef="CallActivity_09c3ajg" targetRef="ScriptTask_1xdjlzm" /> <bpmn2:sequenceFlow id="SequenceFlow_092ghvu" sourceRef="ScriptTask_1xdjlzm" targetRef="EndEvent_0kbbt94" /> - <bpmn2:sequenceFlow id="SequenceFlow_1170ztf" sourceRef="ExclusiveGateway_1nk6aol" targetRef="ScriptTask_0wvq4t8" /> + <bpmn2:sequenceFlow id="SequenceFlow_1170ztf" sourceRef="ExclusiveGateway_1nk6aol" targetRef="Task_0uiekmn" /> <bpmn2:endEvent id="EndEvent_0kbbt94"> <bpmn2:incoming>SequenceFlow_092ghvu</bpmn2:incoming> </bpmn2:endEvent> <bpmn2:sequenceFlow id="SequenceFlow_0k4q7jm" sourceRef="CallActivity_0uwm4l1" targetRef="ScriptTask_0081lne" /> + <bpmn2:sequenceFlow id="SequenceFlow_1qctzm0" sourceRef="Task_0uiekmn" targetRef="Task_0raqlqc" /> + <bpmn2:scriptTask id="Task_0uiekmn" name="Prepare Resource Oper Status"> + <bpmn2:incoming>SequenceFlow_1170ztf</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1qctzm0</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def ddsi = new DoCreateE2EServiceInstance() +ddsi.preInitResourcesOperStatus(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_05gdjox" sourceRef="Task_0raqlqc" targetRef="ScriptTask_0wvq4t8" /> + <bpmn2:serviceTask id="Task_0raqlqc" name="Init Resource Oper Status"> + <bpmn2:extensionElements> + <camunda:connector> + <camunda:inputOutput> + <camunda:inputParameter name="url">${URN_mso_openecomp_adapters_db_endpoint}</camunda:inputParameter> + <camunda:inputParameter name="headers"> + <camunda:map> + <camunda:entry key="content-type">application/soap+xml</camunda:entry> + <camunda:entry key="Authorization">#{BasicAuthHeaderValueDB}</camunda:entry> + </camunda:map> + </camunda:inputParameter> + <camunda:inputParameter name="payload">${CVFMI_initResOperStatusRequest}</camunda:inputParameter> + <camunda:inputParameter name="method">POST</camunda:inputParameter> + <camunda:outputParameter name="CVFMI_dbResponseCode">${statusCode}</camunda:outputParameter> + <camunda:outputParameter name="CVFMI_dbResponse">${response}</camunda:outputParameter> + </camunda:inputOutput> + <camunda:connectorId>http-connector</camunda:connectorId> + </camunda:connector> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_1qctzm0</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_05gdjox</bpmn2:outgoing> + </bpmn2:serviceTask> </bpmn2:process> <bpmn2:error id="Error_2" name="MSOWorkflowException" errorCode="MSOWorkflowException" /> <bpmn2:error id="Error_1" name="java.lang.Exception" errorCode="java.lang.Exception" /> @@ -340,69 +371,89 @@ csi.postConfigRequest(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_0081lne_di" bpmnElement="ScriptTask_0081lne"> - <dc:Bounds x="850" y="819" width="100" height="80" /> + <dc:Bounds x="477" y="819" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ScriptTask_0wvq4t8_di" bpmnElement="ScriptTask_0wvq4t8"> - <dc:Bounds x="972" y="564" width="100" height="80" /> + <dc:Bounds x="848" y="819" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="CallActivity_09c3ajg_di" bpmnElement="CallActivity_09c3ajg"> - <dc:Bounds x="601" y="819" width="100" height="80" /> + <dc:Bounds x="295" y="819" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="CallActivity_0uwm4l1_di" bpmnElement="CallActivity_0uwm4l1"> - <dc:Bounds x="972" y="690" width="100" height="80" /> + <dc:Bounds x="632" y="819" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ScriptTask_1xdjlzm_di" bpmnElement="ScriptTask_1xdjlzm"> - <dc:Bounds x="372" y="819" width="100" height="80" /> + <dc:Bounds x="101" y="819" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0ofqw6v_di" bpmnElement="SequenceFlow_0ofqw6v"> - <di:waypoint xsi:type="dc:Point" x="850" y="859" /> - <di:waypoint xsi:type="dc:Point" x="701" y="859" /> + <di:waypoint xsi:type="dc:Point" x="477" y="859" /> + <di:waypoint xsi:type="dc:Point" x="395" y="859" /> <bpmndi:BPMNLabel> - <dc:Bounds x="730.5" y="838" width="90" height="12" /> + <dc:Bounds x="391" y="838" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_15zgrcq_di" bpmnElement="SequenceFlow_15zgrcq"> - <di:waypoint xsi:type="dc:Point" x="1022" y="644" /> - <di:waypoint xsi:type="dc:Point" x="1022" y="690" /> + <di:waypoint xsi:type="dc:Point" x="848" y="859" /> + <di:waypoint xsi:type="dc:Point" x="732" y="859" /> <bpmndi:BPMNLabel> - <dc:Bounds x="992" y="661" width="90" height="12" /> + <dc:Bounds x="745" y="838" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1vvdkcs_di" bpmnElement="SequenceFlow_1vvdkcs"> - <di:waypoint xsi:type="dc:Point" x="601" y="859" /> - <di:waypoint xsi:type="dc:Point" x="472" y="859" /> + <di:waypoint xsi:type="dc:Point" x="295" y="859" /> + <di:waypoint xsi:type="dc:Point" x="201" y="859" /> <bpmndi:BPMNLabel> - <dc:Bounds x="491.5" y="838" width="90" height="12" /> + <dc:Bounds x="203" y="838" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_092ghvu_di" bpmnElement="SequenceFlow_092ghvu"> - <di:waypoint xsi:type="dc:Point" x="372" y="859" /> - <di:waypoint xsi:type="dc:Point" x="222" y="859" /> + <di:waypoint xsi:type="dc:Point" x="101" y="859" /> + <di:waypoint xsi:type="dc:Point" x="11" y="859" /> <bpmndi:BPMNLabel> - <dc:Bounds x="252" y="838" width="90" height="12" /> + <dc:Bounds x="11" y="838" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1170ztf_di" bpmnElement="SequenceFlow_1170ztf"> <di:waypoint xsi:type="dc:Point" x="1022" y="510" /> - <di:waypoint xsi:type="dc:Point" x="1022" y="564" /> + <di:waypoint xsi:type="dc:Point" x="1022" y="588" /> <bpmndi:BPMNLabel> - <dc:Bounds x="992" y="531" width="90" height="12" /> + <dc:Bounds x="992" y="543" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="EndEvent_01p249c_di" bpmnElement="EndEvent_0kbbt94"> - <dc:Bounds x="186" y="841" width="36" height="36" /> + <dc:Bounds x="-25" y="841" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="68" y="881" width="90" height="12" /> + <dc:Bounds x="-143" y="881" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0k4q7jm_di" bpmnElement="SequenceFlow_0k4q7jm"> - <di:waypoint xsi:type="dc:Point" x="1022" y="770" /> + <di:waypoint xsi:type="dc:Point" x="632" y="859" /> + <di:waypoint xsi:type="dc:Point" x="577" y="859" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="559.5" y="838" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1qctzm0_di" bpmnElement="SequenceFlow_1qctzm0"> + <di:waypoint xsi:type="dc:Point" x="1022" y="668" /> + <di:waypoint xsi:type="dc:Point" x="1022" y="704" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1037" y="680" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0v81r5h_di" bpmnElement="Task_0uiekmn"> + <dc:Bounds x="972" y="588" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_05gdjox_di" bpmnElement="SequenceFlow_05gdjox"> + <di:waypoint xsi:type="dc:Point" x="1022" y="784" /> <di:waypoint xsi:type="dc:Point" x="1022" y="859" /> - <di:waypoint xsi:type="dc:Point" x="950" y="859" /> + <di:waypoint xsi:type="dc:Point" x="948" y="859" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1037" y="808.5" width="0" height="12" /> + <dc:Bounds x="1037" y="815.5" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ServiceTask_14tnuxf_di" bpmnElement="Task_0raqlqc"> + <dc:Bounds x="972" y="704" width="100" height="80" /> + </bpmndi:BPMNShape> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </bpmn2:definitions> diff --git a/docs/Install_Configure_SO.rst b/docs/Install_Configure_SO.rst index 026a287989..5771a10e84 100644 --- a/docs/Install_Configure_SO.rst +++ b/docs/Install_Configure_SO.rst @@ -2,8 +2,8 @@ .. http://creativecommons.org/licenses/by/4.0
.. Copyright 2017 Huawei Technologies Co., Ltd.
-Install and Configure an Ubuntu VM
-==================================
+Install and Configure Service Orchestrator
+==========================================
Get Ubuntu
----------
diff --git a/docs/architecture.rst b/docs/architecture.rst index 58aaabbc90..67cf67f745 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -2,9 +2,15 @@ .. http://creativecommons.org/licenses/by/4.0
.. Copyright 2017 Huawei Technologies Co., Ltd.
-ONAP Service Orchestration Documentation - Architecture
+ONAP Service Orchestration - Architecture
========================================================
+SO Architecture
+----------------
+SO architecture and internal details could be found in the below wiki link
+
+https://wiki.onap.org/pages/viewpage.action?pageId=9830754
+
.. toctree::
:maxdepth: 1
- https://wiki.onap.org/pages/viewpage.action?pageId=9830754
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst index 7a1a2b2b6d..e2fbfcdc1e 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -8,6 +8,7 @@ ONAP Service Orchestration Documentation .. toctree::
:maxdepth: 1
+ Install_Configure_SO.rst
architecture.rst
offered_consumed_apis.rst
- Install_Configure_SO.rst
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/installation.rst b/docs/installation.rst index 6e4570944e..fc5af916e1 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -3,8 +3,8 @@ .. http://creativecommons.org/licenses/by/4.0
.. Copyright 2017 Huawei Technologies Co., Ltd.
-Install and Configure an Ubuntu VM
-==================================
+Install and Configure Service Orchestrator
+==========================================
Get Ubuntu
----------
diff --git a/docs/offered_consumed_apis.rst b/docs/offered_consumed_apis.rst index 623e7da1e3..f7110c7eba 100644 --- a/docs/offered_consumed_apis.rst +++ b/docs/offered_consumed_apis.rst @@ -2,9 +2,15 @@ .. http://creativecommons.org/licenses/by/4.0
.. Copyright 2017 Huawei Technologies Co., Ltd.
-ONAP Service Orchestration Documentation - Architecture
-========================================================
+ONAP Service Orchestration APIs
+=====================================
+SO APIs
+--------
+All the Service Orchestrator APIs, both inward and outward are documented in the below link of onap wiki.
+
+ https://wiki.onap.org/display/DW/SO+R1+Interfaces
+
+
.. toctree::
:maxdepth: 1
- https://wiki.onap.org/display/DW/SO+R1+Interfaces
\ No newline at end of file |