diff options
Diffstat (limited to 'bpmn/MSOInfrastructureBPMN/src')
26 files changed, 303 insertions, 128 deletions
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVFCNSResource.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVFCNSResource.groovy index 1ec1df1f0e..fd819fd3d5 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVFCNSResource.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVFCNSResource.groovy @@ -241,7 +241,7 @@ public class CreateVFCNSResource extends AbstractServiceTaskProcessor { String serviceId = execution.getVariable("serviceInstanceId")
String addRelationPayload = """<relationship xmlns="http://org.openecomp.aai.inventory/v11">
<related-to>service-instance</related-to>
- <related-link>/aai/v11/business/customers/customer/${globalSubscriberId}/service-subscriptions/service-subscription/${serviceType}/service-instances/service-instance/${nsInstanceId}</related-link>
+ <related-link>/aai/v11/business/customers/customer/${globalSubscriberId}/service-subscriptions/service-subscription/${serviceType}/service-instances/service-instance/${serviceId}</related-link>
<relationship-data>
<relationship-key>customer.global-customer-id</relationship-key>
<relationship-value>${globalSubscriberId}</relationship-value>
@@ -252,12 +252,12 @@ public class CreateVFCNSResource extends AbstractServiceTaskProcessor { </relationship-data>
<relationship-data>
<relationship-key>service-instance.service-instance-id</relationship-key>
- <relationship-value>${nsInstanceId}</relationship-value>
+ <relationship-value>${serviceId}</relationship-value>
</relationship-data>
</relationship>"""
String endpoint = execution.getVariable("URN_aai_endpoint")
utils.log("INFO","Add Relationship req:\n" + addRelationPayload, isDebugEnabled)
- String url = endpoint + "/aai/v11/business/customers/customer/" + globalSubscriberId + "/service-subscriptions/service-subscription/" + serviceType + "/service-instances/service-instance/" + serviceId + "/relationship-list/relationship"
+ String url = endpoint + "/aai/v11/business/customers/customer/" + globalSubscriberId + "/service-subscriptions/service-subscription/" + serviceType + "/service-instances/service-instance/" + nsInstanceId + "/relationship-list/relationship"
APIResponse aaiRsp = executeAAIPutCall(execution, url, addRelationPayload)
utils.log("INFO","aai response status code:" + aaiRsp.getStatusCode(), isDebugEnabled)
utils.log("INFO","aai response content:" + aaiRsp.getResponseBodyAsString(), isDebugEnabled)
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 797086b125..0a53526263 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 @@ -23,6 +23,15 @@ package org.openecomp.mso.bpmn.infrastructure.scripts; import groovy.json.JsonSlurper
import groovy.json.JsonOutput
+import javax.xml.parsers.DocumentBuilder
+import javax.xml.parsers.DocumentBuilderFactory
+
+import org.w3c.dom.Document
+import org.w3c.dom.Element
+import org.w3c.dom.Node
+import org.w3c.dom.NodeList
+import org.xml.sax.InputSource
+
import org.camunda.bpm.engine.delegate.BpmnError
import org.camunda.bpm.engine.delegate.DelegateExecution
import org.onap.appc.client.lcm.model.Action
@@ -42,6 +51,12 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor { ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
+
+ private AbstractServiceTaskProcessor taskProcessor
+
+ public SDNCAdapterUtils(AbstractServiceTaskProcessor taskProcessor) {
+ this.taskProcessor = taskProcessor
+ }
/**
* Validates the request message and sets up the workflow.
@@ -217,6 +232,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor { execution.setVariable(prefix + 'vfModuleId', newVfModuleId)
execution.setVariable('actionHealthCheck', Action.HealthCheck)
execution.setVariable('actionConfigScaleOut', Action.ConfigScaleOut)
+ execution.setVariable('controllerType', "APPC")
def controllerType = execution.getVariable('controllerType')
execution.setVariable(prefix + 'controllerType', controllerType)
execution.setVariable('healthCheckIndex0', 0)
@@ -303,11 +319,55 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor { if(vnf.isPresent()){
def vnfOrchestrationStatus = vnf.get().getOrchestrationStatus();
if("active".equalsIgnoreCase(vnfOrchestrationStatus)){
- execution.setVariable("runHealthCheck", true);
+ execution.setVariable("runHealthCheck", false);
execution.setVariable("runConfigScaleOut", true);
}
}
}
+
+ /**
+ * Retrieve data for ConfigScaleOut from SDNC topology
+ */
+
+ public void retreiveConfigScaleOutData(DelegateExecution execution){
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ def vfModuleId = execution.getVariable("CVFMI_vfModuleId")
+ String ipAddress = "";
+ String oamIpAddress = "";
+ String vnfHostIpAddress = "";
+
+ String vnfGetSDNC = execution.getVariable("DCVFM_getSDNCAdapterResponse");
+
+ String data = utils.getNodeXml(vnfGetSDNC, "response-data")
+ data = data.replaceAll("<", "<")
+ data = data.replaceAll(">", ">")
+
+ InputSource source = new InputSource(new StringReader(data));
+ DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
+ docFactory.setNamespaceAware(true)
+ DocumentBuilder docBuilder = docFactory.newDocumentBuilder()
+ Document responseXml = docBuilder.parse(source)
+
+ NodeList paramsList = responseXml.getElementsByTagNameNS("*", "vnf-parameters")
+ for (int z = 0; z < paramsList.getLength(); z++) {
+ Node node = paramsList.item(z)
+ Element eElement = (Element) node
+ String vnfParameterName = utils.getElementText(eElement, "vnf-parameter-name")
+ String vnfParameterValue = utils.getElementText(eElement, "vnf-parameter-value")
+ if (vnfParameterName.equals("vlb_private_ip_1")) {
+ vnfHostIpAddress = vnfParameterValue
+ }
+ else if (vnfParameterName.equals("vdns_private_ip_0")) {
+ ipAddress = vnfParameterValue
+ }
+ else if (vnfParameterName.equals("vdns_private_ip_1")) {
+ oamIpAddress = vnfParameterValue
+ }
+ }
+
+ String payload = "{\"request-parameters\":{\"vnf-host-ip-address\":\"" + vnfHostIpAddress + "\",\"vf-module-id\":\"" + vfModuleId + "\"},\"configuration-parameters\":{\"ip-addr\":\"" + ipAddress +"\", \"oam-ip-addr\":\""+ oamIpAddress +"\",\"enabled\":\"true\"}}"
+ execution.setVariable("payload", payload);
+ }
/**
*
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateResources.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateResources.groovy index ae75d54afe..ab84168007 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateResources.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateResources.groovy @@ -105,7 +105,10 @@ public class DoCreateResources extends AbstractServiceTaskProcessor List<NetworkResource> networkResourceList = new ArrayList<NetworkResource>() List<Resource> sequencedResourceList = new ArrayList<Resource>() - def resourceSequence = BPMNProperties.getResourceSequenceProp() + + String serviceDecompose = execution.getVariable("serviceDecomposition") + String serviceModelName = jsonUtil.getJsonValue(serviceDecompose, "serviceResources.modelInfo.modelName") + def resourceSequence = BPMNProperties.getResourceSequenceProp(serviceModelName) if(resourceSequence != null) { // sequence is defined in config file @@ -245,10 +248,19 @@ public class DoCreateResources extends AbstractServiceTaskProcessor //String requestAction = resourceInput.getOperationType() String requestAction = "createInstance" JSONObject resourceRecipe = cutils.getResourceRecipe(execution, resourceInput.getResourceModelInfo().getModelUuid(), requestAction) - String recipeURL = BPMNProperties.getProperty("bpelURL", "http://mso:8080") + resourceRecipe.getString("orchestrationUri") - int recipeTimeOut = resourceRecipe.getInt("recipeTimeout") - String recipeParamXsd = resourceRecipe.get("paramXSD") - HttpResponse resp = BpmnRestClient.post(recipeURL, requestId, recipeTimeOut, requestAction, serviceInstanceId, serviceType, resourceInput.toString(), recipeParamXsd) + + if (resourceRecipe != null) { + String recipeURL = BPMNProperties.getProperty("bpelURL", "http://mso:8080") + resourceRecipe.getString("orchestrationUri") + int recipeTimeOut = resourceRecipe.getInt("recipeTimeout") + String recipeParamXsd = resourceRecipe.get("paramXSD") + HttpResponse resp = BpmnRestClient.post(recipeURL, requestId, recipeTimeOut, requestAction, serviceInstanceId, serviceType, resourceInput.toString(), recipeParamXsd) + } else { + String exceptionMessage = "Resource receipe is not found for resource modeluuid: " + + resourceInput.getResourceModelInfo().getModelUuid() + utils.log("ERROR", exceptionMessage, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 500, exceptionMessage) + } + utils.log("INFO", "======== end executeResourceRecipe Process ======== ", isDebugEnabled) } diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstance.groovy index f0ecbab82c..d3e89df7bf 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstance.groovy @@ -107,7 +107,7 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces */
public void deleteNSRelationship(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
- utils.log("INFO"," ***** addNSRelationship *****", isDebugEnabled)
+ utils.log("INFO"," ***** deleteNSRelationship *****", isDebugEnabled)
String nsInstanceId = execution.getVariable("resourceInstanceId")
if(nsInstanceId == null || nsInstanceId == ""){
utils.log("INFO"," Delete NS failed", isDebugEnabled)
@@ -133,13 +133,13 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces </relationship-data>
</relationship>"""
String endpoint = execution.getVariable("URN_aai_endpoint")
- utils.log("INFO","Add Relationship req:\n" + deleteRelationPayload, isDebugEnabled)
+ utils.log("INFO","Delete Relationship req:\n" + deleteRelationPayload, isDebugEnabled)
String url = endpoint + "/aai/v11/business/customers/customer/" + globalSubscriberId + "/service-subscriptions/service-subscription/" + serviceType + "/service-instances/service-instance/" + serviceId + "/relationship-list/relationship"
APIResponse aaiRsp = executeAAIDeleteCall(execution, url, deleteRelationPayload)
utils.log("INFO","aai response status code:" + aaiRsp.getStatusCode(), isDebugEnabled)
utils.log("INFO","aai response content:" + aaiRsp.getResponseBodyAsString(), isDebugEnabled)
- utils.log("INFO"," *****Exit addNSRelationship *****", isDebugEnabled)
+ utils.log("INFO"," *****Exit deleteNSRelationship *****", isDebugEnabled)
}
public APIResponse executeAAIDeleteCall(DelegateExecution execution, String url, String payload){
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoScaleVFCNetworkServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoScaleVFCNetworkServiceInstance.groovy index 0e4aea00ae..c1ffc5abef 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoScaleVFCNetworkServiceInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoScaleVFCNetworkServiceInstance.groovy @@ -95,15 +95,15 @@ public class DoScaleVFCNetworkServiceInstance extends AbstractServiceTaskProcess * scale NS task */ public void scaleNetworkService(DelegateExecution execution) { + def isDebugEnabled = execution.getVariable("isDebugLogEnabled") String saleNsRequest = execution.getVariable("reqBody") String[] nsReqStr = saleNsRequest.split("\\|") - def jobIdArray = ['jobId001', 'jobId002'] as String[] - for (int i = 0; i < nsReqStr.length; i++) { JSONObject reqBodyJsonObj = new JSONObject(nsReqStr[i]) String nsInstanceId = reqBodyJsonObj.getJSONObject("nsScaleParameters").getString("nsInstanceId") + String nodeTemplateUUID = reqBodyJsonObj.getJSONObject("nsOperationKey").getString("nodeTemplateUUID") reqBodyJsonObj.getJSONObject("nsScaleParameters").remove("nsInstanceId") String reqBody = reqBodyJsonObj.toString() @@ -113,15 +113,19 @@ public class DoScaleVFCNetworkServiceInstance extends AbstractServiceTaskProcess String returnCode = apiResponse.getStatusCode() String aaiResponseAsString = apiResponse.getResponseBodyAsString() - String jobId = ""; - if (returnCode == "200") { + String jobId = "" + if (returnCode == "200" || returnCode == "202") { jobId = jsonUtil.getJsonValue(aaiResponseAsString, "jobId") } - - execution.setVariable("jobId", jobIdArray[i]) + utils.log("INFO", "scaleNetworkService get a ns scale job Id:" + jobId, isDebugEnabled) + execution.setVariable("jobId", jobId) + execution.setVariable("nodeTemplateUUID", nodeTemplateUUID) String isScaleFinished = "" + if(jobId =="" || jobId == null){ + continue + } // query the requested network service scale status, if finished, then start the next one, otherwise, wait while (isScaleFinished != "finished" && isScaleFinished != "error"){ timeDelay() diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstance.groovy index dff1ecf68e..74c991e637 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstance.groovy @@ -126,11 +126,16 @@ public class DoUpdateE2EServiceInstance extends AbstractServiceTaskProcessor { // user params
String uuiRequest = execution.getVariable("uuiRequest")
+
+ // target model Invariant uuid
+ String modelInvariantUuid = jsonUtil.getJsonValue(uuiRequest, "service.serviceInvariantUuid")
+ execution.setVariable("modelInvariantUuid", modelInvariantUuid)
+ utils.log("INFO", "modelInvariantUuid: " + modelInvariantUuid, isDebugEnabled)
+
// target model uuid
String modelUuid = jsonUtil.getJsonValue(uuiRequest, "service.serviceUuid")
- execution.setVariable("modelUuid", modelUuid)
-
- utils.log("INFO","modelUuid: " + modelUuid, isDebugEnabled)
+ execution.setVariable("modelUuid", modelUuid)
+ utils.log("INFO", "modelUuid: " + modelUuid, isDebugEnabled)
} catch (BpmnError e) {
throw e;
@@ -327,9 +332,20 @@ public class DoUpdateE2EServiceInstance extends AbstractServiceTaskProcessor { String msg = ""
utils.log("INFO"," ***** preProcessAAIPUT *****", isDebugEnabled)
- String modelUuid = execution.getVariable("modelUuid")
+
String serviceInstanceVersion = execution.getVariable("serviceInstanceVersion")
- execution.setVariable("GENPS_serviceResourceVersion", serviceInstanceVersion)
+ //execution.setVariable("GENPS_serviceResourceVersion", serviceInstanceVersion)
+
+ //requestDetails.modelInfo.for AAI PUT servieInstanceData
+ //requestDetails.requestInfo. for AAI GET/PUT serviceInstanceData
+ String serviceInstanceName = execution.getVariable("serviceInstanceName")
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
+ //aai serviceType and Role can be setted as fixed value now.
+ String aaiServiceType = "E2E Service"
+ String aaiServiceRole = "E2E Service"
+ String modelInvariantUuid = execution.getVariable("modelInvariantUuid")
+ String modelUuid = execution.getVariable("modelUuid")
+
AaiUtil aaiUriUtil = new AaiUtil(this)
utils.log("INFO","start create aai uri: " + aaiUriUtil, isDebugEnabled)
@@ -341,7 +357,13 @@ public class DoUpdateE2EServiceInstance extends AbstractServiceTaskProcessor { //update target model to aai
String serviceInstanceData =
"""<service-instance xmlns=\"${namespace}\">
- <model-version-id">${modelUuid}</model-version-id>
+ <service-instance-id>${serviceInstanceId}</service-instance-id>
+ <service-instance-name>${serviceInstanceName}</service-instance-name>
+ <service-type>${aaiServiceType}</service-type>
+ <service-role>${aaiServiceRole}</service-role>
+ <resource-version>${serviceInstanceVersion}</resource-version>
+ <model-invariant-id>${modelInvariantUuid}</model-invariant-id>
+ <model-version-id>${modelUuid}</model-version-id>
</service-instance>""".trim()
execution.setVariable("serviceInstanceData", serviceInstanceData)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstanceRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstanceRollback.groovy index 1e70f95bd3..a55ca0225a 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstanceRollback.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstanceRollback.groovy @@ -25,7 +25,9 @@ import groovy.xml.XmlUtil import groovy.json.* import org.openecomp.mso.bpmn.core.json.JsonUtils +import org.openecomp.mso.bpmn.common.scripts.AaiUtil import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor +import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil import org.openecomp.mso.bpmn.common.scripts.SDNCAdapterUtils import org.openecomp.mso.bpmn.core.RollbackData import org.openecomp.mso.bpmn.core.WorkflowException @@ -64,6 +66,7 @@ import org.springframework.web.util.UriUtils; public class DoUpdateE2EServiceInstanceRollback extends AbstractServiceTaskProcessor{ String Prefix="DUPDSIRB_" + ExceptionUtil exceptionUtil = new ExceptionUtil() public void preProcessRequest(DelegateExecution execution) { def isDebugEnabled = execution.getVariable("isDebugLogEnabled") @@ -259,13 +262,36 @@ public class DoUpdateE2EServiceInstanceRollback extends AbstractServiceTaskProce String msg = "" utils.log("INFO"," ***** preProcessAAIPUT *****", isDebugEnabled) - String modelUuid = execution.getVariable("model-version-id-original") String serviceInstanceVersion = execution.getVariable("serviceInstanceVersion_n") - execution.setVariable("GENPS_serviceResourceVersion", serviceInstanceVersion) +// execution.setVariable("GENPS_serviceResourceVersion", serviceInstanceVersion) + + //requestDetails.modelInfo.for AAI PUT servieInstanceData + //requestDetails.requestInfo. for AAI GET/PUT serviceInstanceData + String serviceInstanceName = execution.getVariable("serviceInstanceName") + String serviceInstanceId = execution.getVariable("serviceInstanceId") + //aai serviceType and Role can be setted as fixed value now. + String aaiServiceType = "E2E Service" + String aaiServiceRole = "E2E Service" + String modelInvariantUuid = execution.getVariable("modelInvariantUuid") + String modelUuid = execution.getVariable("model-version-id-original") + + //AAI PUT + AaiUtil aaiUriUtil = new AaiUtil(this) + utils.log("INFO","start create aai uri: " + aaiUriUtil, isDebugEnabled) + String aai_uri = aaiUriUtil.getBusinessCustomerUri(execution) + utils.log("INFO","aai_uri: " + aai_uri, isDebugEnabled) + String namespace = aaiUriUtil.getNamespaceFromUri(aai_uri) + utils.log("INFO","namespace: " + namespace, isDebugEnabled) String serviceInstanceData = """<service-instance xmlns=\"${namespace}\"> - <resource-version">${modelUuid}</resource-version> + <service-instance-id>${serviceInstanceId}</service-instance-id> + <service-instance-name>${serviceInstanceName}</service-instance-name> + <service-type>${aaiServiceType}</service-type> + <service-role>${aaiServiceRole}</service-role> + <resource-version>${serviceInstanceVersion}</resource-version> + <model-invariant-id>${modelInvariantUuid}</model-invariant-id> + <model-version-id>${modelUuid}</model-version-id> </service-instance>""".trim() execution.setVariable("serviceInstanceData", serviceInstanceData) diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/ScaleCustomE2EServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/ScaleCustomE2EServiceInstance.groovy index 58f644d53f..4eca37b304 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/ScaleCustomE2EServiceInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/ScaleCustomE2EServiceInstance.groovy @@ -125,9 +125,7 @@ public class ScaleCustomE2EServiceInstance extends AbstractServiceTaskProcessor String operationId = execution.getVariable("operationId") String serviceInstanceId = execution.getVariable("serviceInstanceId") // RESTResponse for API Handler (APIH) Reply Task - String scaleServiceRestRequest = """{"service":{"serviceId":"${serviceInstanceId}","operationId":"${ - operationId - }"}}""".trim() + String scaleServiceRestRequest = """{"operationId":"${operationId}"}""".trim() utils.log("DEBUG", " sendSyncResponse to APIH:" + "\n" + scaleServiceRestRequest, isDebugEnabled) sendWorkflowResponse(execution, 202, scaleServiceRestRequest) execution.setVariable("sentSyncResponse", true) @@ -256,7 +254,7 @@ public class ScaleCustomE2EServiceInstance extends AbstractServiceTaskProcessor utils.log("INFO", " ======== STARTED prepareInitServiceOperationStatus Process ======== ", isDebugEnabled) try{ String serviceId = execution.getVariable("serviceInstanceId") - String serviceName = execution.getVariable("serviceInstanceName") + //String serviceName = execution.getVariable("serviceInstanceName") String operationId = execution.getVariable("operationId") String operationType = "SCALE" String userId = "" @@ -280,7 +278,6 @@ public class ScaleCustomE2EServiceInstance extends AbstractServiceTaskProcessor <ns:updateServiceOperationStatus xmlns:ns="http://org.openecomp.mso/requestsdb"> <serviceId>${serviceId}</serviceId> <operationId>${operationId}</operationId> - <serviceName>${serviceName}</serviceName> <operationType>${operationType}</operationType> <userId>${userId}</userId> <result>${result}</result> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateCustomE2EServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateCustomE2EServiceInstance.groovy index a964a7e32a..f3f1a96258 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateCustomE2EServiceInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateCustomE2EServiceInstance.groovy @@ -413,7 +413,6 @@ public class UpdateCustomE2EServiceInstance extends AbstractServiceTaskProcessor <ns:updateServiceOperationStatus xmlns:ns="http://org.openecomp.mso/requestsdb"> <serviceId>${serviceId}</serviceId> <operationId>${operationId}</operationId> - <serviceName>${serviceName}</serviceName> <operationType>${operationType}</operationType> <userId>${userId}</userId> <result>${result}</result> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy index 694aafc887..68f50e033c 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy @@ -76,6 +76,7 @@ public class CreateVcpeResCustService extends AbstractServiceTaskProcessor { execution.setVariable("homingService", "") execution.setVariable("cloudOwner", "") execution.setVariable("cloudRegionId", "") + execution.setVariable("homingModelIds", "") //TODO execution.setVariable("sdncVersion", "1707") @@ -129,6 +130,11 @@ public class CreateVcpeResCustService extends AbstractServiceTaskProcessor { serviceInstanceId = UriUtils.encode(serviceInstanceId, "UTF-8") execution.setVariable("serviceInstanceId", serviceInstanceId) + utils.log("DEBUG", "Incoming serviceInstanceId is: " + serviceInstanceId, isDebugEnabled) + + String serviceInstanceName = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.requestInfo.instanceName") + execution.setVariable("serviceInstanceName", serviceInstanceName) + utils.log("DEBUG", "Incoming serviceInstanceName is: " + serviceInstanceName, isDebugEnabled) String requestAction = execution.getVariable("requestAction") execution.setVariable("requestAction", requestAction) @@ -194,28 +200,47 @@ public class CreateVcpeResCustService extends AbstractServiceTaskProcessor { def userParams = reqMap.requestDetails?.requestParameters?.userParams Map<String, String> inputMap = [:] - - if (userParams) { + if (userParams) { userParams.each { - userParam -> - if("BRG_WAN_MAC_Address".equals(userParam?.name)) { - execution.setVariable("brgWanMacAddress", userParam.value) - inputMap.put("BRG_WAN_MAC_Address", userParam.value) - } - if("Customer_Location".equals(userParam?.name)) { - execution.setVariable("customerLocation", userParam.value) - userParam.value.each { - customerLocParam -> - inputMap.put(customerLocParam.key, customerLocParam.value) + userParam -> + if ("Customer_Location".equals(userParam?.name)) { + execution.setVariable("customerLocation", userParam.value) + userParam.value.each { + param -> + inputMap.put(param.key, param.value) + } + } + if ("Homing_Model_Ids".equals(userParam?.name)) { + utils.log("DEBUG", "Homing_Model_Ids: " + userParam.value.toString() + " ---- Type is:" + + userParam.value.getClass() , isDebugEnabled) + def modelIdLst = [] + userParam.value.each { + param -> + def valueMap = [:] + param.each { + entry -> + valueMap.put(entry.key, entry.value) } - } - if("Homing_Solution".equals(userParam?.name)) { - execution.setVariable("homingService", userParam.value) - inputMap.put("Homing_Solution", userParam.value) - } else { - execution.setVariable("homingService", "oof") - } - } + modelIdLst.add(valueMap) + utils.log("DEBUG", "Param: " + param.toString() + " ---- Type is:" + + param.getClass() , isDebugEnabled) + } + execution.setVariable("homingModelIds", modelIdLst) + } + if ("BRG_WAN_MAC_Address".equals(userParam?.name)) { + execution.setVariable("brgWanMacAddress", userParam.value) + inputMap.put("BRG_WAN_MAC_Address", userParam.value) + } + if ("Homing_Solution".equals(userParam?.name)) { + execution.setVariable("homingService", userParam.value) + inputMap.put("Homing_Solution", userParam.value) + } + } + } + + if (execution.getVariable("homingService") == "") { + // Set Default Homing to OOF if not set + execution.setVariable("homingService", "oof") } utils.log("DEBUG", "User Input Parameters map: " + userParams.toString(), isDebugEnabled) @@ -417,7 +442,7 @@ public class CreateVcpeResCustService extends AbstractServiceTaskProcessor { VnfResource vr = it.next() String role = vr.getNfRole() - if (role == "BRG" || role == "TunnelXConn") { + if (role == "BRG" || role == "TunnelXConn" || role == "Tunnel XConn") { it.remove() } } @@ -451,7 +476,7 @@ public class CreateVcpeResCustService extends AbstractServiceTaskProcessor { utils.log("DEBUG", " getting model info for AllottedResource # :" + allottedResource.toJsonStringNoRootName(), isDebugEnabled) utils.log("DEBUG", " allottedResource.getAllottedResourceType() :" + allottedResource.getAllottedResourceType(), isDebugEnabled) - if ("TunnelXConn".equalsIgnoreCase(allottedResource.getAllottedResourceType())) { + if ("TunnelXConn".equalsIgnoreCase(allottedResource.getAllottedResourceType()) || "Tunnel XConn".equalsIgnoreCase(allottedResource.getAllottedResourceType())) { //set create flag to true execution.setVariable("createTXCAR", true) ModelInfo allottedResourceModelInfo = allottedResource.getModelInfo() diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DeleteVcpeResCustService.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DeleteVcpeResCustService.groovy index aa16d3b280..08edb88c61 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DeleteVcpeResCustService.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DeleteVcpeResCustService.groovy @@ -242,8 +242,8 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor { if(isBlank(type) || isBlank(id)) {
- } else if(type == "TunnelXConn") {
- utils.log("DEBUG","TunnelXConn AR found", isDebugEnabled)
+ } else if(type == "TunnelXConn" || type == "Tunnel XConn") {
+ utils.log("DEBUG","Tunnel XConn AR found", isDebugEnabled)
TXC_found = true
TXC_id = id
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/properties/BPMNProperties.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/properties/BPMNProperties.java index dbb552c818..64d8530df1 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/properties/BPMNProperties.java +++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/properties/BPMNProperties.java @@ -47,8 +47,8 @@ public class BPMNProperties { return value; } - public static List<String> getResourceSequenceProp() { - String resourceSequence = getProperty("mso.workflow.custom.VolTE.resource.sequence", null); + public static List<String> getResourceSequenceProp(String input) { + String resourceSequence = getProperty("mso.workflow.custom." + input + ".resource.sequence", null); if (resourceSequence != null) { return Arrays.asList(resourceSequence.split(",")); } diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn index ea48104ba7..876f91ff42 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn @@ -451,6 +451,8 @@ CreateVcpeResCustService.prepareCreateAllottedResourceTXC(execution)]]></bpmn2:s <camunda:in source="customerLocation" target="customerLocation" /> <camunda:in source="cloudOwner" target="cloudOwner" /> <camunda:in source="cloudRegionId" target="cloudRegionId" /> + <camunda:in source="serviceInstanceName" target="serviceInstanceName" /> + <camunda:in source="homingModelIds" target="homingModelIds" /> </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_11efpvh</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1jbuf1t</bpmn2:outgoing> @@ -514,6 +516,7 @@ CreateVcpeResCustService.prepareCreateAllottedResourceBRG(execution)]]></bpmn2:s <camunda:in source="serviceModelInfo" target="serviceModelInfo" /> <camunda:in source="globalSubscriberId" target="globalSubscriberId" /> <camunda:in source="serviceDecomposition" target="serviceDecomposition" /> + <camunda:in source="RegionOne_flavorList" target="RegionOne_flavorList" /> </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_0ws7fjn</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1mkdhw9</bpmn2:outgoing> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustServiceV2.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustServiceV2.bpmn index 94b88f7c3c..99b1ff51e9 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustServiceV2.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustServiceV2.bpmn @@ -585,6 +585,7 @@ CreateVcpeResCustService.validateVnfCreate(execution)]]></bpmn2:script> <bpmn2:extensionElements> <camunda:in source="timeoutForPnfEntryNotification" target="timeoutForPnfEntryNotification" /> <camunda:in source="correlationId" target="correlationId" /> + <camunda:in businessKey="#{execution.processBusinessKey}" /> </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_0gj4vud</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0clhseq</bpmn2:outgoing> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVfModuleInfra.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVfModuleInfra.bpmn index f882094851..c0c2f26035 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVfModuleInfra.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVfModuleInfra.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="_pNTO8MRhEeWv36YLr7PC3Q" 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: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="_pNTO8MRhEeWv36YLr7PC3Q" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.8.2" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> <bpmn2:process id="CreateVfModuleInfra" name="CreateVfModuleInfra" isExecutable="true"> <bpmn2:startEvent id="StartEvent_1" name="Start"> <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> @@ -38,6 +38,7 @@ <camunda:in source="CVFMI_usePreload" target="usePreload" /> <camunda:in source="CVFMI_vfModuleInputParams" target="vfModuleInputParams" /> <camunda:in source="CVFMI_aLaCarte" target="aLaCarte" /> + <camunda:out source="DCVFM_getSDNCAdapterResponse" target="DCVFM_getSDNCAdapterResponse" /> </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_1y7d5qk</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_1vx081s</bpmn2:incoming> @@ -215,7 +216,7 @@ exceptionUtil.processJavaException(execution)]]></bpmn2:script> <camunda:in source="CVFMI_vnfId" target="vnfId" /> <camunda:in source="CVFMI_requestId" target="msoRequestId" /> <camunda:in source="CVFMI_vnfName" target="vnfName" /> - <camunda:in source="CVFMO_controllerType" target="controllerType" /> + <camunda:in source="CVFMI_controllerType" target="controllerType" /> <camunda:in source="healthCheckIndex0" target="healthCheckIndex" /> <camunda:out source="errorCode" target="errorCode" /> <camunda:out source="errorText" target="errorText" /> @@ -247,7 +248,8 @@ exceptionUtil.processJavaException(execution)]]></bpmn2:script> <camunda:in source="CVFMI_vnfId" target="vnfId" /> <camunda:in source="CVFMI_requestId" target="msoRequestId" /> <camunda:in source="CVFMI_vnfName" target="vnfName" /> - <camunda:in source="CVFMO_controllerType" target="controllerType" /> + <camunda:in source="CVFMI_controllerType" target="controllerType" /> + <camunda:in source="payload" target="payload" /> <camunda:in source="healthCheckIndex0" target="healthCheckIndex" /> <camunda:out source="errorCode" target="errorConfigScaleOutCode" /> <camunda:out source="errorText" target="errorText" /> @@ -255,7 +257,7 @@ exceptionUtil.processJavaException(execution)]]></bpmn2:script> <camunda:out source="failedActivity" target="failedActivity" /> <camunda:in source="CVFMI_vfModuleId" target="vfModuleId" /> </bpmn2:extensionElements> - <bpmn2:incoming>SequenceFlow_020dbkp</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_09i6f7t</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1tk5ru7</bpmn2:outgoing> </bpmn2:callActivity> <bpmn2:sequenceFlow id="SequenceFlow_1crl7uf" sourceRef="ServiceTask_1" targetRef="UpdateInfraRequestResponseCheck" /> @@ -287,7 +289,7 @@ exceptionUtil.processJavaException(execution)]]></bpmn2:script> <bpmn2:outgoing>SequenceFlow_020dbkp</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_0u8zesf</bpmn2:outgoing> </bpmn2:exclusiveGateway> - <bpmn2:sequenceFlow id="SequenceFlow_020dbkp" name="yes" sourceRef="ExclusiveGateway_0c8x2mq" targetRef="CallActivity_17ukiqm"> + <bpmn2:sequenceFlow id="SequenceFlow_020dbkp" name="yes" sourceRef="ExclusiveGateway_0c8x2mq" targetRef="Task_09om99x"> <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" /> @@ -299,6 +301,14 @@ exceptionUtil.processJavaException(execution)]]></bpmn2:script> def createVfModule = new CreateVfModuleInfra() createVfModule.queryAAIForVnfOrchestrationStatus(execution)]]></bpmn2:script> </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_09i6f7t" sourceRef="Task_09om99x" targetRef="CallActivity_17ukiqm" /> + <bpmn2:scriptTask id="Task_09om99x" name="Retreive Data for Config ScaleOut" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_020dbkp</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_09i6f7t</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def createVfModule = new CreateVfModuleInfra() +createVfModule.retreiveConfigScaleOutData(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" /> @@ -582,7 +592,7 @@ createVfModule.queryAAIForVnfOrchestrationStatus(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="CallActivity_17ukiqm_di" bpmnElement="CallActivity_17ukiqm"> - <dc:Bounds x="472" y="189" width="145" height="80" /> + <dc:Bounds x="472" y="120" width="145" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1crl7uf_di" bpmnElement="SequenceFlow_1crl7uf"> <di:waypoint xsi:type="dc:Point" x="377" y="367" /> @@ -592,36 +602,36 @@ createVfModule.queryAAIForVnfOrchestrationStatus(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_1hncvjy_di" bpmnElement="ExclusiveGateway_1hncvjy" isMarkerVisible="true"> - <dc:Bounds x="675" y="204" width="50" height="50" /> + <dc:Bounds x="675" y="135" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="657" y="170" width="86" height="24" /> + <dc:Bounds x="659" y="101" width="82" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1tk5ru7_di" bpmnElement="SequenceFlow_1tk5ru7"> - <di:waypoint xsi:type="dc:Point" x="617" y="229" /> - <di:waypoint xsi:type="dc:Point" x="675" y="229" /> + <di:waypoint xsi:type="dc:Point" x="617" y="160" /> + <di:waypoint xsi:type="dc:Point" x="675" y="160" /> <bpmndi:BPMNLabel> - <dc:Bounds x="601" y="208" width="90" height="12" /> + <dc:Bounds x="601" y="139" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0td7d9m_di" bpmnElement="SequenceFlow_0td7d9m"> - <di:waypoint xsi:type="dc:Point" x="700" y="254" /> - <di:waypoint xsi:type="dc:Point" x="701" y="327" /> + <di:waypoint xsi:type="dc:Point" x="700" y="185" /> + <di:waypoint xsi:type="dc:Point" x="702" y="327" /> <bpmndi:BPMNLabel> - <dc:Bounds x="706.5002014596164" y="260.46992001430345" width="15" height="12" /> + <dc:Bounds x="708" y="122" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="EndEvent_0a97jcr_di" bpmnElement="EndEvent_0a97jcr"> - <dc:Bounds x="773" y="211" width="36" height="36" /> + <dc:Bounds x="773" y="142" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="701" y="252" width="90" height="12" /> + <dc:Bounds x="701" y="183" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0h5cld9_di" bpmnElement="SequenceFlow_0h5cld9"> - <di:waypoint xsi:type="dc:Point" x="725" y="229" /> - <di:waypoint xsi:type="dc:Point" x="773" y="229" /> + <di:waypoint xsi:type="dc:Point" x="725" y="160" /> + <di:waypoint xsi:type="dc:Point" x="773" y="160" /> <bpmndi:BPMNLabel> - <dc:Bounds x="729" y="235" width="20" height="12" /> + <dc:Bounds x="730" y="166" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_1qozral_di" bpmnElement="ExclusiveGateway_1qozral" isMarkerVisible="true"> @@ -652,9 +662,9 @@ createVfModule.queryAAIForVnfOrchestrationStatus(execution)]]></bpmn2:script> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_020dbkp_di" bpmnElement="SequenceFlow_020dbkp"> <di:waypoint xsi:type="dc:Point" x="545" y="342" /> - <di:waypoint xsi:type="dc:Point" x="545" y="269" /> + <di:waypoint xsi:type="dc:Point" x="545" y="309" /> <bpmndi:BPMNLabel> - <dc:Bounds x="550" y="307" width="20" height="12" /> + <dc:Bounds x="515" y="321.9537912405942" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0u8zesf_di" bpmnElement="SequenceFlow_0u8zesf"> @@ -674,6 +684,16 @@ createVfModule.queryAAIForVnfOrchestrationStatus(execution)]]></bpmn2:script> <bpmndi:BPMNShape id="ScriptTask_19vqej7_di" bpmnElement="Task_1o3z68c"> <dc:Bounds x="460" y="-6" width="100" height="80" /> </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_09i6f7t_di" bpmnElement="SequenceFlow_09i6f7t"> + <di:waypoint xsi:type="dc:Point" x="545" y="229" /> + <di:waypoint xsi:type="dc:Point" x="545" y="200" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="560" y="208.5" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_1s0bky7_di" bpmnElement="Task_09om99x"> + <dc:Bounds x="495" y="229" width="100" height="80" /> + </bpmndi:BPMNShape> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </bpmn2:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModules.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModules.bpmn index 675b8fadb5..8cbc7e97cd 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModules.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModules.bpmn @@ -40,6 +40,7 @@ doCreateVnfAndModules.preProcessRequest(execution)]]></bpmn:script> <camunda:in source="tenantId" target="tenantId" /> <camunda:in source="false" target="usePreload" /> <camunda:in source="aLaCarte" target="aLaCarte" /> + <camunda:in source="RegionOne_flavorList" target="RegionOne_flavorList" /> </bpmn:extensionElements> <bpmn:incoming>SequenceFlow_1hf7k7q</bpmn:incoming> <bpmn:outgoing>SequenceFlow_1ixcnb6</bpmn:outgoing> @@ -127,6 +128,7 @@ doCreateVnfAndModules.validateAddOnModule(execution)]]></bpmn:script> <camunda:in source="tenantId" target="tenantId" /> <camunda:in source="rollbackData" target="rollbackData" /> <camunda:in source="vnfResourceDecomposition" target="vnfResourceDecomposition" /> + <camunda:in source="RegionOne_flavorList" target="RegionOne_flavorList" /> </bpmn:extensionElements> <bpmn:incoming>SequenceFlow_19ohb1a</bpmn:incoming> <bpmn:outgoing>SequenceFlow_07u8e3l</bpmn:outgoing> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateE2EServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateE2EServiceInstance.bpmn index 35cd0399cf..41c9a674ed 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateE2EServiceInstance.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateE2EServiceInstance.bpmn @@ -156,17 +156,17 @@ csi.postConfigRequest(execution)]]></bpmn2:script> <bpmn2:scriptTask id="ScriptTask_1awrp72" name="Pre Process Exception" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_05j3sat</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_19ly8h7</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def dcsi = new DoCreateResources()
-dcsi.preProcessRollback(execution)
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi = new DoUpdateE2EServiceInstance() +dcsi.preProcessRollback(execution) ]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:scriptTask id="ScriptTask_0vc9jgo" name="Post Process Exception" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_19ly8h7</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_02znk15</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def dcsi = new DoCreateResources()
-dcsi.postProcessRollback(execution)
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi = new DoUpdateE2EServiceInstance() +dcsi.postProcessRollback(execution) ]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_05j3sat" sourceRef="StartEvent_06768u3" targetRef="ScriptTask_1awrp72" /> diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstanceTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstanceTest.groovy index 5b5a70006a..c301b65c41 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstanceTest.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstanceTest.groovy @@ -1,6 +1,7 @@ package org.openecomp.mso.bpmn.infrastructure.scripts import com.github.tomakehurst.wiremock.junit.WireMockRule +import org.camunda.bpm.engine.delegate.BpmnError import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity import org.junit.Before import org.junit.BeforeClass @@ -8,18 +9,14 @@ import org.junit.Ignore import org.junit.Rule import org.junit.Test import org.mockito.MockitoAnnotations -import org.openecomp.mso.bpmn.infrastructure.scripts.DoCustomDeleteE2EServiceInstance import org.openecomp.mso.bpmn.mock.FileUtil import org.openecomp.mso.bpmn.vcpe.scripts.GroovyTestBase +import static org.assertj.core.api.Assertions.assertThatThrownBy +import static org.mockito.Matchers.anyString import static org.mockito.Mockito.verify import static org.mockito.Mockito.when -import static org.mockito.Mockito.when -import static org.mockito.Mockito.when -import static org.mockito.Mockito.when -import static org.mockito.Mockito.when -import static org.mockito.Mockito.when -import static org.mockito.Mockito.when +import static org.mockito.Mockito.eq class DoCustomDeleteE2EServiceInstanceTest extends GroovyTestBase { @@ -58,9 +55,8 @@ class DoCustomDeleteE2EServiceInstanceTest extends GroovyTestBase { verify(mex).setVariable("siParamsXml", "") } - @Ignore @Test - public void postProcessAAIGETTest(){ + public void postProcessAAIGETSuccessTest(){ ExecutionEntity mex = setupMock() def map = setupMap(mex) initPreProcess(mex) @@ -70,11 +66,22 @@ class DoCustomDeleteE2EServiceInstanceTest extends GroovyTestBase { when(mex.getVariable("GENGS_service")).thenReturn(aaiGetResponse) DoCustomDeleteE2EServiceInstance instance = new DoCustomDeleteE2EServiceInstance() instance.postProcessAAIGET(mex) - // TODO: what to test here? -// verify(mex).setVariable("subscriptionServiceType", "e2eserviceInstance/delete") + + verify(mex).setVariable(eq("serviceRelationShip"), anyString()) + } + + @Test + public void postProcessAAIGETFailureTest(){ + ExecutionEntity mex = setupMock() + def map = setupMap(mex) + initPreProcess(mex) + when(mex.getVariable("GENGS_FoundIndicator")).thenReturn(false) + when(mex.getVariable("GENGS_SuccessIndicator")).thenReturn(false) + + DoCustomDeleteE2EServiceInstance instance = new DoCustomDeleteE2EServiceInstance() + assertThatThrownBy { instance.postProcessAAIGET(mex) } isInstanceOf BpmnError.class } - @Ignore @Test public void preInitResourcesOperStatusTest(){ ExecutionEntity mex = setupMock() @@ -83,8 +90,8 @@ class DoCustomDeleteE2EServiceInstanceTest extends GroovyTestBase { when(mex.getVariable("serviceRelationShip")).thenReturn("[{\"resourceInstanceId\":\"3333\",\"resourceType\":\"overlay\"},{\"resourceInstanceId\":\"4444\",\"resourceType\":\"underlay\"},{\"resourceInstanceId\":\"1111\",\"resourceType\":\"vIMS\"},{\"resourceInstanceId\":\"222\",\"resourceType\":\"vEPC\"}]") DoCustomDeleteE2EServiceInstance instance = new DoCustomDeleteE2EServiceInstance() instance.preInitResourcesOperStatus(mex) - // TODO: what to test here? -// verify(mex).setVariable("CVFMI_dbAdapterEndpoint", "http://localhost:8080/mso") + + verify(mex).setVariable(eq("CVFMI_initResOperStatusRequest"), anyString()) } @Test @@ -98,7 +105,6 @@ class DoCustomDeleteE2EServiceInstanceTest extends GroovyTestBase { verify(mex).setVariable("resourceType", "overlay") } - @Ignore @Test public void postProcessSDNCDeleteTest(){ ExecutionEntity mex = setupMock() @@ -111,8 +117,7 @@ class DoCustomDeleteE2EServiceInstanceTest extends GroovyTestBase { String response = FileUtil.readResourceFile("__files/GenericFlows/SDNCDeleteResponse.xml") String method = "deleteE2E"; instance.postProcessSDNCDelete(mex, response, method) - // TODO: what to test here? -// verify(mex).setVariable("DDELSI_sdncRequestDataResponseCode", "0") + // following method doesn't do anything currently -> nothing to check } @Test diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/ScaleCustomE2EServiceInstanceTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/ScaleCustomE2EServiceInstanceTest.groovy index e7ffe05424..063f4b571b 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/ScaleCustomE2EServiceInstanceTest.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/ScaleCustomE2EServiceInstanceTest.groovy @@ -89,7 +89,6 @@ class SacleCustomE2EServiceInstanceTest{ <ns:updateServiceOperationStatus xmlns:ns="http://org.openecomp.mso/requestsdb"> <serviceId>56c881ad-6c9d-4b79-aacc-401e5640b47f</serviceId> <operationId>0a5b1651-c56e-4263-8c26-c8f8a6ef72d8</operationId> - <serviceName>XXXX</serviceName> <operationType>SCALE</operationType> <userId></userId> <result>processing</result> @@ -163,7 +162,7 @@ class SacleCustomE2EServiceInstanceTest{ ExecutionEntity mockExecution = mock(ExecutionEntity.class) when(mockExecution.getVariable("serviceInstanceId")).thenReturn("56c881ad-6c9d-4b79-aacc-401e5640b47f") - when(mockExecution.getVariable("serviceInstanceName")).thenReturn("XXXX") + //when(mockExecution.getVariable("serviceInstanceName")).thenReturn("XXXX") when(mockExecution.getVariable("operationId")).thenReturn("0a5b1651-c56e-4263-8c26-c8f8a6ef72d8") ScaleCustomE2EServiceInstance scaleCustomE2EServiceInstance = new ScaleCustomE2EServiceInstance() diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy index a735121002..a8401d7a02 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy @@ -469,7 +469,7 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase { verify(mex).setVariable("createTXCAR", true) verify(mex).setVariable("allottedResourceModelInfoTXC", "modelB") verify(mex).setVariable("allottedResourceRoleTXC", "TXCr") - verify(mex).setVariable("allottedResourceTypeTXC", "TunnelXConn") + verify(mex).setVariable("allottedResourceTypeTXC", "Tunnel XConn") verify(mex).setVariable("parentServiceInstanceIdTXC", "homeB") } @@ -489,7 +489,7 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase { verify(mex, never()).setVariable("createTXCAR", true) verify(mex, never()).setVariable("allottedResourceModelInfoTXC", "modelB") verify(mex, never()).setVariable("allottedResourceRoleTXC", "TXCr") - verify(mex, never()).setVariable("allottedResourceTypeTXC", "TunnelXConn") + verify(mex, never()).setVariable("allottedResourceTypeTXC", "Tunnel XConn") verify(mex, never()).setVariable("parentServiceInstanceIdTXC", "homeB") } @@ -1087,7 +1087,7 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase { private ServiceDecomposition initFilterVnfs(ExecutionEntity mex) { List<VnfResource> vnflst = new LinkedList<>() vnflst.add(makeVnf("", "BRG")) - vnflst.add(makeVnf("2", "TunnelXConn")) + vnflst.add(makeVnf("2", "Tunnel XConn")) vnflst.add(makeVnf("3", "")) vnflst.add(makeVnf("4", "BRG")) vnflst.add(makeVnf("5", "other")) @@ -1149,7 +1149,7 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase { HomingSolution home = mock(HomingSolution.class) when(ar.toJsonStringNoRootName()).thenReturn("json"+id) - when(ar.getAllottedResourceType()).thenReturn("TunnelXConn") + when(ar.getAllottedResourceType()).thenReturn("Tunnel XConn") when(ar.getModelInfo()).thenReturn(mod) when(ar.getAllottedResourceRole()).thenReturn("TXCr") when(ar.getHomingSolution()).thenReturn(home) @@ -1186,7 +1186,7 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase { vnflst.add(makeVnf("A", "BRG")) vnflst.add(makeVnf("B", "")) vnflst.add(makeVnf("C", "")) - vnflst.add(makeVnf("D", "TunnelXConn")) + vnflst.add(makeVnf("D", "Tunnel XConn")) when(mex.getVariable(DBGFLAG)).thenReturn("true") when(mex.getVariable("createVcpeServiceRequest")).thenReturn(request) diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/CreateVcpeResCustService/arGetById.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/CreateVcpeResCustService/arGetById.xml index bb7f4c20fd..f2063442d6 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/CreateVcpeResCustService/arGetById.xml +++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/CreateVcpeResCustService/arGetById.xml @@ -1,9 +1,9 @@ <allotted-resource xmlns="http://org.openecomp.aai.inventory/v9"> <id>ar-1</id> <orchestration-status>Active</orchestration-status> - <role>TunnelXConn</role> - <type>TunnelXConn</type> - <description>TunnelXConn</description> + <role>Tunnel XConn</role> + <type>Tunnel XConn</type> + <description>Tunnel XConn</description> <selflink/> <resource-version>1490627351232</resource-version> <relationship-list> diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json index 81fdcc76d0..e99dd9ccda 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json +++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json @@ -63,8 +63,8 @@ "modelInstanceName" : "Pri_IP_MUX_Demux 1" }, "toscaNodeType" : null, - "allottedResourceType" : "TunnelXConn", - "allottedResourceRole" : "TunnelXConn", + "allottedResourceType" : "Tunnel XConn", + "allottedResourceRole" : "Tunnel XConn", "providingServiceModelInvariantUuid" : null, "nfFunction" : null, "nfType" : null, diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DeleteVcpeResCustService/arGetTXCById.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DeleteVcpeResCustService/arGetTXCById.xml index 65cee9f662..97992fc00b 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DeleteVcpeResCustService/arGetTXCById.xml +++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DeleteVcpeResCustService/arGetTXCById.xml @@ -1,9 +1,9 @@ <allotted-resource xmlns="http://org.openecomp.aai.inventory/v9"> <id>ar-txcA</id> <orchestration-status>Active</orchestration-status> - <role>TunnelXConn</role> - <type>TunnelXConn</type> - <description>TunnelXConn</description> + <role>Tunnel XConn</role> + <type>Tunnel XConn</type> + <description>Tunnel XConn</description> <selflink/> <resource-version>1490627351232</resource-version> <relationship-list> diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml index bb7f4c20fd..f2063442d6 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml +++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml @@ -1,9 +1,9 @@ <allotted-resource xmlns="http://org.openecomp.aai.inventory/v9"> <id>ar-1</id> <orchestration-status>Active</orchestration-status> - <role>TunnelXConn</role> - <type>TunnelXConn</type> - <description>TunnelXConn</description> + <role>Tunnel XConn</role> + <type>Tunnel XConn</type> + <description>Tunnel XConn</description> <selflink/> <resource-version>1490627351232</resource-version> <relationship-list> diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoDeleteAllottedResourceTXC/arGetById.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoDeleteAllottedResourceTXC/arGetById.xml index bb7f4c20fd..f2063442d6 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoDeleteAllottedResourceTXC/arGetById.xml +++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoDeleteAllottedResourceTXC/arGetById.xml @@ -1,9 +1,9 @@ <allotted-resource xmlns="http://org.openecomp.aai.inventory/v9"> <id>ar-1</id> <orchestration-status>Active</orchestration-status> - <role>TunnelXConn</role> - <type>TunnelXConn</type> - <description>TunnelXConn</description> + <role>Tunnel XConn</role> + <type>Tunnel XConn</type> + <description>Tunnel XConn</description> <selflink/> <resource-version>1490627351232</resource-version> <relationship-list> diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/mso.bpmn.urn.properties b/bpmn/MSOInfrastructureBPMN/src/test/resources/mso.bpmn.urn.properties index fc84d9ea85..6dac08dc56 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/resources/mso.bpmn.urn.properties +++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/mso.bpmn.urn.properties @@ -114,10 +114,10 @@ policy.environment=TEST policy.endpoint=http://localhost:28090/pdp/api/
policy.default.disposition=Skip
-appc.client.topic.read=APPC-CL-FUSION-LCM-RESPONSE
-appc.client.topic.write=APPC-CL-FUSION-LCM
-appc.client.topic.sdnc.read=SDNC-LCM-READ
-appc.client.topic.sdnc.write=SDNC-LCM-WRITE
+appc.client.topic.read=APPC-LCM-WRITE
+appc.client.topic.write=APPC-LCM-READ
+appc.client.topic.sdnc.read=SDNC-LCM-WRITE
+appc.client.topic.sdnc.write=SDNC-LCM-READ
appc.client.topic.read.timeout=100
appc.client.response.timeout=300
appc.client.poolMembers=localhost:28090
|