aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryAllottedResourceCustomization.java4
-rw-r--r--bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/OofHoming.groovy42
-rw-r--r--bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/OofUtils.groovy120
-rw-r--r--bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerAction.java1
-rw-r--r--bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerClient.java18
-rw-r--r--bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/OofHomingTest.java42
-rw-r--r--bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/appc/ApplicationControllerClientTest.java5
-rw-r--r--bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCallback2AR1Vnf6
-rw-r--r--bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCallback2AR1Vnf2Net10
-rw-r--r--bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCallbackInfraVnf4
-rw-r--r--bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCallbackNoSolutionFound24
-rw-r--r--bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCatalogResp.json2
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleInfra.groovy2
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoScaleVFCNetworkServiceInstance.groovy7
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/ScaleCustomE2EServiceInstance.groovy7
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy64
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DeleteVcpeResCustService.groovy4
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn2
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVfModuleInfra.bpmn1
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModules.bpmn2
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/ScaleCustomE2EServiceInstanceTest.groovy3
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy10
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/CreateVcpeResCustService/arGetById.xml6
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json4
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DeleteVcpeResCustService/arGetTXCById.xml6
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml6
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/__files/VCPE/DoDeleteAllottedResourceTXC/arGetById.xml6
27 files changed, 260 insertions, 148 deletions
diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryAllottedResourceCustomization.java b/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryAllottedResourceCustomization.java
index 450ffd6d93..b249b58d48 100644
--- a/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryAllottedResourceCustomization.java
+++ b/adapters/mso-catalog-db-adapter/src/main/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryAllottedResourceCustomization.java
@@ -96,8 +96,8 @@ public class QueryAllottedResourceCustomization extends CatalogQuery {
put(valueMap, "MODEL_CUSTOMIZATION_UUID", o.getModelCustomizationUuid());
put(valueMap, "MODEL_INSTANCE_NAME", o.getModelInstanceName());
put(valueMap, "TOSCA_NODE_TYPE", arNull ? null : o.getAllottedResource().getToscaNodeType());
- put(valueMap, "ALLOTTED_RESOURCE_TYPE", arNull ? null : o.getAllottedResource().getSubcategory());
- put(valueMap, "ALLOTTED_RESOURCE_ROLE", o.getTargetNetworkRole());
+ put(valueMap, "ALLOTTED_RESOURCE_TYPE", o.getNfType());
+ put(valueMap, "ALLOTTED_RESOURCE_ROLE", o.getNfRole());
put(valueMap, "NF_TYPE", o.getNfType());
put(valueMap, "NF_ROLE", o.getNfRole());
put(valueMap, "NF_FUNCTION", o.getNfFunction());
diff --git a/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/OofHoming.groovy b/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/OofHoming.groovy
index f0f239b50f..1b5a2ecdcb 100644
--- a/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/OofHoming.groovy
+++ b/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/OofHoming.groovy
@@ -28,6 +28,7 @@ import org.openecomp.mso.bpmn.common.scripts.SDNCAdapterUtils
import org.openecomp.mso.bpmn.core.domain.CloudFlavor
import org.openecomp.mso.bpmn.core.domain.InventoryType
import org.openecomp.mso.bpmn.core.domain.Resource
+import org.openecomp.mso.bpmn.core.domain.ResourceType
import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition
import org.openecomp.mso.bpmn.core.domain.Subscriber
import org.openecomp.mso.bpmn.core.domain.VnfResource
@@ -73,6 +74,8 @@ class OofHoming extends AbstractServiceTaskProcessor {
utils.log("DEBUG", "Incoming Request Id is: " + requestId, isDebugEnabled)
String serviceInstanceId = execution.getVariable("serviceInstanceId")
utils.log("DEBUG", "Incoming Service Instance Id is: " + serviceInstanceId, isDebugEnabled)
+ String serviceInstanceName = execution.getVariable("serviceInstanceName")
+ utils.log("DEBUG", "Incoming Service Instance Name is: " + serviceInstanceName, isDebugEnabled)
ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
utils.log("DEBUG", "Incoming Service Decomposition is: " + serviceDecomposition, isDebugEnabled)
String subscriberInfo = execution.getVariable("subscriberInfo")
@@ -86,21 +89,24 @@ class OofHoming extends AbstractServiceTaskProcessor {
if (isBlank(requestId) ||
isBlank(serviceInstanceId) ||
+ isBlank(serviceInstanceName) ||
isBlank(serviceDecomposition.toString()) ||
- isBlank(subscriberInfo) ||
- isBlank(customerLocation.toString()) ||
- isBlank(cloudOwner) ||
- isBlank(cloudRegionId)) {
+ isBlank(customerLocation.toString())) {
exceptionUtil.buildAndThrowWorkflowException(execution, 4000,
"A required input variable is missing or null")
} else {
- String subId = jsonUtil.getJsonValue(subscriberInfo, "globalSubscriberId")
- String subName = jsonUtil.getJsonValue(subscriberInfo, "subscriberName")
- String subCommonSiteId = ""
- if (jsonUtil.jsonElementExist(subscriberInfo, "subscriberCommonSiteId")) {
- subCommonSiteId = jsonUtil.getJsonValue(subscriberInfo, "subscriberCommonSiteId")
+ Subscriber subscriber = null
+ if (isBlank(subscriberInfo)) {
+ subscriber = new Subscriber("", "", "")
+ } else {
+ String subId = jsonUtil.getJsonValue(subscriberInfo, "globalSubscriberId")
+ String subName = jsonUtil.getJsonValue(subscriberInfo, "subscriberName")
+ String subCommonSiteId = ""
+ if (jsonUtil.jsonElementExist(subscriberInfo, "subscriberCommonSiteId")) {
+ subCommonSiteId = jsonUtil.getJsonValue(subscriberInfo, "subscriberCommonSiteId")
+ }
+ subscriber = new Subscriber(subId, subName, subCommonSiteId)
}
- Subscriber subscriber = new Subscriber(subId, subName, subCommonSiteId)
//Authentication
def authHeader = ""
@@ -205,9 +211,16 @@ class OofHoming extends AbstractServiceTaskProcessor {
JSONObject placement = arrSol.getJSONObject(j)
utils.log("DEBUG", "****** JSONObject is: " + placement + " *****", "true")
String jsonServiceResourceId = placement.getString("serviceResourceId")
+ String jsonResourceModuleName = placement.getString("resourceModuleName")
for (Resource resource : resourceList) {
String serviceResourceId = resource.getResourceId()
- if (serviceResourceId.equalsIgnoreCase(jsonServiceResourceId)) {
+ String resourceModuleName = ""
+ if (resource.getResourceType() == ResourceType.ALLOTTED_RESOURCE ||
+ resource.getResourceType() == ResourceType.VNF) {
+ resourceModuleName = resource.getNfFunction()
+ }
+ if (serviceResourceId.equalsIgnoreCase(jsonServiceResourceId) ||
+ resourceModuleName.equalsIgnoreCase(jsonResourceModuleName)) {
JSONObject solution = placement.getJSONObject("solution")
String solutionType = solution.getString("identifierType")
String inventoryType = ""
@@ -244,14 +257,17 @@ class OofHoming extends AbstractServiceTaskProcessor {
flavorsArrayList.add(cloudFlavor)
}
}
- Map<String, String> assignmentMap = jsonUtil.entryArrayToMap(execution, assignmentArr.toString(), "key", "value")
+ Map<String, String> assignmentMap = jsonUtil.entryArrayToMap(execution,
+ assignmentArr.toString(), "key", "value")
String cloudOwner = assignmentMap.get("cloudOwner")
- String cloudRegionId = assignmentMap.get("cloudRegionId")
+ String cloudRegionId = assignmentMap.get("locationId")
resource.getHomingSolution().setCloudOwner(cloudOwner)
resource.getHomingSolution().setCloudRegionId(cloudRegionId)
if (flavorsArrayList != null && flavorsArrayList.size != 0) {
resource.getHomingSolution().setFlavors(flavorsArrayList)
execution.setVariable(cloudRegionId + "_flavorList", flavorsArrayList)
+ utils.log("DEBUG", "***** _flavorList is: " + flavorsArrayList.toString() +
+ " *****", "true")
}
if (inventoryType.equalsIgnoreCase("service")) {
diff --git a/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/OofUtils.groovy b/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/OofUtils.groovy
index f07a477bb3..b61739f32c 100644
--- a/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/OofUtils.groovy
+++ b/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/OofUtils.groovy
@@ -1,19 +1,21 @@
package org.openecomp.mso.bpmn.common.scripts
-import org.apache.commons.lang3.StringUtils
-import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
import org.openecomp.mso.bpmn.common.scripts.MsoUtils
import org.openecomp.mso.bpmn.core.domain.HomingSolution
import org.openecomp.mso.bpmn.core.domain.ModelInfo
import org.openecomp.mso.bpmn.core.domain.Resource
+import org.openecomp.mso.bpmn.core.domain.AllottedResource
import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition
import org.openecomp.mso.bpmn.core.domain.ServiceInstance
import org.openecomp.mso.bpmn.core.domain.Subscriber
import org.openecomp.mso.bpmn.core.domain.VnfResource
import org.openecomp.mso.bpmn.core.json.JsonUtils
+import java.lang.reflect.Array
+
import static org.openecomp.mso.bpmn.common.scripts.GenericUtils.*
class OofUtils {
@@ -47,7 +49,7 @@ class OofUtils {
String buildRequest(DelegateExecution execution,
String requestId,
ServiceDecomposition decomposition,
- Subscriber subscriber,
+ Subscriber subscriber = null,
Map customerLocation,
ArrayList existingCandidates = null,
ArrayList excludedCandidates = null,
@@ -82,9 +84,14 @@ class OofUtils {
String modelName = model.getModelName()
String modelVersion = model.getModelVersion()
//Subscriber Info
- String subscriberId = subscriber.getGlobalId()
- String subscriberName = subscriber.getName()
- String commonSiteId = subscriber.getCommonSiteId()
+ String subscriberId = ""
+ String subscriberName = ""
+ String commonSiteId = ""
+ if (subscriber != null){
+ subscriberId = subscriber.getGlobalId()
+ subscriberName = subscriber.getName()
+ commonSiteId = subscriber.getCommonSiteId()
+ }
//Determine RequestType
//TODO Figure out better way to determine this
@@ -100,27 +107,39 @@ class OofUtils {
//Demands
String placementDemands = ""
StringBuilder sb = new StringBuilder()
- List<Resource> resourceList = decomposition.getServiceAllottedResources()
+ List<AllottedResource> allottedResourceList = decomposition.getServiceAllottedResources()
List<VnfResource> vnfResourceList = decomposition.getServiceVnfs()
- if (resourceList.isEmpty() || resourceList == null) {
+ if (allottedResourceList.isEmpty() || allottedResourceList == null) {
utils.log("DEBUG", "Allotted Resources List is empty - will try to get service VNFs instead.",
isDebugEnabled)
- resourceList = decomposition.getServiceVnfs()
+ allottedResourceList = decomposition.getServiceVnfs()
}
- if (resourceList.isEmpty() || resourceList == null) {
+ if (allottedResourceList.isEmpty() || allottedResourceList == null) {
utils.log("DEBUG", "Resources List is Empty", isDebugEnabled)
} else {
- for (Resource resource : resourceList) {
- ModelInfo resourceModelInfo = resource.getModelInfo()
+ for (AllottedResource resource : allottedResourceList) {
+ utils.log("DEBUG", "Allotted Resource: " + resource.toString(),
+ isDebugEnabled)
def serviceResourceId = resource.getResourceId()
- def resourceModuleName = resource.getResourceType()
- def resouceModelInvariantId = resourceModelInfo.getModelInvariantUuid()
- def resouceModelName = resourceModelInfo.getModelName()
- def resouceModelVersion = resourceModelInfo.getModelVersion()
- def resouceModelVersionId = resourceModelInfo.getModelUuid()
- def resouceModelType = resourceModelInfo.getModelType()
+ def resourceModuleName = resource.getNfFunction()
+ utils.log("DEBUG", "resourceModuleName: " + resourceModuleName,
+ isDebugEnabled)
+ def resourceModelInvariantId = "no-resourceModelInvariantId"
+ def resourceModelVersionId = "no-resourceModelVersionId"
+
+ List modelIdLst = execution.getVariable("homingModelIds")
+ utils.log("DEBUG", "Incoming modelIdLst is: " + modelIdLst.toString(), isDebugEnabled)
+ for (Map modelId : modelIdLst )
+ if (resourceModuleName == modelId.resourceModuleName) {
+ resourceModelInvariantId = modelId.resourceModelInvariantId
+ resourceModelVersionId = modelId.resourceModelVersionId
+ }
+
+ def resourceModelName = "" //Optional
+ def resourceModelVersion = "" //Optional
+ def resourceModelType = "" //Optional
def tenantId = "" //Optional
def requiredCandidatesJson = ""
@@ -130,22 +149,56 @@ class OofUtils {
requiredCandidates)
String demand =
- "{\n" +
- "\"resourceModuleName\": \"${resourceModuleName}\",\n" +
- "\"serviceResourceId\": \"${serviceResourceId}\",\n" +
- "\"tenantId\": \"${tenantId}\",\n" +
- "\"resourceModelInfo\": {\n" +
- " \"modelInvariantId\": \"${resouceModelInvariantId}\",\n" +
- " \"modelVersionId\": \"${resouceModelVersionId}\",\n" +
- " \"modelName\": \"${resouceModelName}\",\n" +
- " \"modelType\": \"${resouceModelType}\",\n" +
- " \"modelVersion\": \"${resouceModelVersion}\",\n" +
- " \"modelCustomizationName\": \"\"\n" +
- " }" + requiredCandidatesJson + "\n" +
- "},"
+ " {\n" +
+ " \"resourceModuleName\": \"${resourceModuleName}\",\n" +
+ " \"serviceResourceId\": \"${serviceResourceId}\",\n" +
+ " \"tenantId\": \"${tenantId}\",\n" +
+ " \"resourceModelInfo\": {\n" +
+ " \"modelInvariantId\": \"${resourceModelInvariantId}\",\n" +
+ " \"modelVersionId\": \"${resourceModelVersionId}\",\n" +
+ " \"modelName\": \"${resourceModelName}\",\n" +
+ " \"modelType\": \"${resourceModelType}\",\n" +
+ " \"modelVersion\": \"${resourceModelVersion}\",\n" +
+ " \"modelCustomizationName\": \"\"\n" +
+ " }" + requiredCandidatesJson + "\n" +
+ " },"
placementDemands = sb.append(demand)
}
+ for (VnfResource vnfResource : vnfResourceList) {
+ utils.log("DEBUG", "VNF Resource: " + vnfResource.toString(),
+ isDebugEnabled)
+ ModelInfo vnfResourceModelInfo = vnfResource.getModelInfo()
+ def serviceResourceId = vnfResource.getResourceId()
+ def resourceModuleName = vnfResource.getNfFunction()
+ utils.log("DEBUG", "resourceModuleName: " + resourceModuleName,
+ isDebugEnabled)
+ def resourceModelInvariantId = vnfResourceModelInfo.getModelInvariantUuid()
+ def resourceModelName = vnfResourceModelInfo.getModelName()
+ def resourceModelVersion = vnfResourceModelInfo.getModelVersion()
+ def resourceModelVersionId = vnfResourceModelInfo.getModelUuid()
+ def resourceModelType = vnfResourceModelInfo.getModelType()
+ def tenantId = "" //Optional
+ def requiredCandidatesJson = ""
+
+
+ String placementDemand =
+ " {\n" +
+ " \"resourceModuleName\": \"${resourceModuleName}\",\n" +
+ " \"serviceResourceId\": \"${serviceResourceId}\",\n" +
+ " \"tenantId\": \"${tenantId}\",\n" +
+ " \"resourceModelInfo\": {\n" +
+ " \"modelInvariantId\": \"${resourceModelInvariantId}\",\n" +
+ " \"modelVersionId\": \"${resourceModelVersionId}\",\n" +
+ " \"modelName\": \"${resourceModelName}\",\n" +
+ " \"modelType\": \"${resourceModelType}\",\n" +
+ " \"modelVersion\": \"${resourceModelVersion}\",\n" +
+ " \"modelCustomizationName\": \"\"\n" +
+ " }" + requiredCandidatesJson + "\n" +
+ " },"
+
+ placementDemands = sb.append(placementDemand)
+ }
placementDemands = placementDemands.substring(0, placementDemands.length() - 1)
}
@@ -271,11 +324,14 @@ class OofUtils {
} else {
return
}
- } else if (JsonUtils.jsonElementExist(response, "requestError") == true) {
+ } else if (response.contains("error") || response.contains("Error") ) {
String errorMessage = ""
if (response.contains("policyException")) {
String text = jsonUtil.getJsonValue(response, "requestError.policyException.text")
errorMessage = "OOF Async Callback Response contains a Request Error Policy Exception: " + text
+ } else if (response.contains("Unable to find any candidate for demand")) {
+ errorMessage = "OOF Async Callback Response contains error: Unable to find any candidate for " +
+ "demand *** Response: " + response.toString()
} else if (response.contains("serviceException")) {
String text = jsonUtil.getJsonValue(response, "requestError.serviceException.text")
errorMessage = "OOF Async Callback Response contains a Request Error Service Exception: " + text
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerAction.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerAction.java
index 713e25abf0..3c00627bff 100644
--- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerAction.java
+++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerAction.java
@@ -84,6 +84,7 @@ public class ApplicationControllerAction {
}
break;
case ConfigModify:
+ case ConfigScaleOut:
appCStatus = payloadAction(action, msoRequestId, vnfId, payload, controllerType);
break;
case UpgradePreCheck:
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerClient.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerClient.java
index 4255df3e87..414f3e21ca 100644
--- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerClient.java
+++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerClient.java
@@ -142,21 +142,15 @@ public class ApplicationControllerClient {
Properties properties = new Properties();
Map<String, String> globalProperties = PropertyConfiguration.getInstance()
.getProperties("mso.bpmn.urn.properties");
- if (controllerType==null || controllerType.length()==0 || controllerType.equalsIgnoreCase("appc")) {
- properties.put("topic.read", globalProperties.get("appc.client.topic.read"));
- properties.put("topic.write", globalProperties.get("appc.client.topic.write"));
- } else {
- properties.put("topic.read", globalProperties.get("appc.client.topic." + controllerType + ".read"));
- properties.put("topic.write", globalProperties.get("appc.client.topic." + controllerType + ".write"));
- }
- properties.put("topic.sdnc.read", globalProperties.get("appc.client.topic.sdnc.read"));
- properties.put("topic.sdnc.write", globalProperties.get("appc.client.topic.sdnc.write"));
- properties.put("sdnc-topic.read", globalProperties.get("appc.client.topic.sdnc.read"));
- properties.put("sdnc-topic.write", globalProperties.get("appc.client.topic.sdnc.write"));
+
+ properties.put("topic.read", globalProperties.get("appc.client.topic.read"));
+ properties.put("topic.write", globalProperties.get("appc.client.topic.write"));
+ properties.put("SDNC-topic.read", globalProperties.get("appc.client.topic.sdnc.read"));
+ properties.put("SDNC-topic.write", globalProperties.get("appc.client.topic.sdnc.write"));
properties.put("topic.read.timeout", globalProperties.get("appc.client.topic.read.timeout"));
properties.put("client.response.timeout", globalProperties.get("appc.client.response.timeout"));
properties.put("poolMembers", globalProperties.get("appc.client.poolMembers"));
- properties.put("client.controllerType", controllerType);
+ properties.put("controllerType", controllerType);
properties.put("client.key", globalProperties.get("appc.client.key"));
properties.put("client.secret", globalProperties.get("appc.client.secret"));
properties.put("client.name", CLIENT_NAME);
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/OofHomingTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/OofHomingTest.java
index 283f3c6116..1f64fb55f8 100644
--- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/OofHomingTest.java
+++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/OofHomingTest.java
@@ -41,6 +41,7 @@ import org.openecomp.mso.bpmn.mock.FileUtil;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
@@ -97,7 +98,7 @@ public class OofHomingTest extends WorkflowTest {
List<AllottedResource> arList = new ArrayList<AllottedResource>();
AllottedResource ar = new AllottedResource();
ar.setResourceId("testResourceIdAR");
- ar.setResourceInstanceName("testARInstanceName");
+ ar.setNfFunction("testARFunctionName");
ModelInfo arModel = new ModelInfo();
arModel.setModelCustomizationUuid("testModelCustomizationUuidAR");
arModel.setModelInvariantUuid("testModelInvariantIdAR");
@@ -108,7 +109,7 @@ public class OofHomingTest extends WorkflowTest {
ar.setModelInfo(arModel);
AllottedResource ar2 = new AllottedResource();
ar2.setResourceId("testResourceIdAR2");
- ar2.setResourceInstanceName("testAR2InstanceName");
+ ar2.setNfFunction("testAR2FunctionName");
ModelInfo arModel2 = new ModelInfo();
arModel2.setModelCustomizationUuid("testModelCustomizationUuidAR2");
arModel2.setModelInvariantUuid("testModelInvariantIdAR2");
@@ -123,7 +124,7 @@ public class OofHomingTest extends WorkflowTest {
List<VnfResource> vnfList = new ArrayList<VnfResource>();
VnfResource vnf = new VnfResource();
vnf.setResourceId("testResourceIdVNF");
- vnf.setResourceInstanceName("testVnfInstanceName");
+ vnf.setNfFunction("testVnfFunctionName");
ArrayList<CloudFlavor> flavors = new ArrayList<>();
CloudFlavor flavor1 = new CloudFlavor("flavorLabel1xxx", "vimFlavorxxx");
CloudFlavor flavor2 = new CloudFlavor("flavorLabel2xxx", "vimFlavorxxx");
@@ -478,9 +479,9 @@ public class OofHomingTest extends WorkflowTest {
//Get Variables
WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey,
"WorkflowException");
-
- assertEquals("WorkflowException[processKey=Homing,errorCode=400,errorMessage=No solution found " +
- "for plan 08e1b8cf-144a-4bac-b293-d5e2eedc97e8]", workflowException.toString());
+ Boolean errorMatch = workflowException.toString().contains("WorkflowException[processKey=Homing,errorCode=400,errorMessage=OOF Async Callback " +
+ "Response contains error: Unable to find any candidate for demand *** Response:");
+ assert(errorMatch);
}
@Test
@@ -546,7 +547,8 @@ public class OofHomingTest extends WorkflowTest {
variables.put("customerLocation", customerLocation);
variables.put("cloudOwner", "amazon");
variables.put("cloudRegionId", "TNZED");
- variables.put("isDebugLogEnabled", "true");
+ variables.put("vgMuxInfraModelInvariantId", "testModelInvariantIdAR");
+ variables.put("vgMuxInfraModelId", "testArModelUuid");
// variables.put("mso-request-id", "testRequestId");
variables.put("msoRequestId", "testRequestId");
variables.put("serviceInstanceId", "testServiceInstanceId123");
@@ -589,6 +591,8 @@ public class OofHomingTest extends WorkflowTest {
variables.put("customerLocation", customerLocation);
variables.put("cloudOwner", "amazon");
variables.put("cloudRegionId", "TNZED");
+ variables.put("vgMuxInfraModelInvariantId", "testModelInvariantIdAR");
+ variables.put("vgMuxInfraModelId", "testArModelUuid");
variables.put("isDebugLogEnabled", "true");
variables.put("msoRequestId", "testRequestId");
variables.put("serviceInstanceId", "testServiceInstanceId123");
@@ -609,6 +613,8 @@ public class OofHomingTest extends WorkflowTest {
variables.put("customerLocation", customerLocation);
variables.put("cloudOwner", "amazon");
variables.put("cloudRegionId", "TNZED");
+ variables.put("vgMuxInfraModelInvariantId", "testModelInvariantIdAR");
+ variables.put("vgMuxInfraModelId", "testArModelUuid");
variables.put("isDebugLogEnabled", "true");
// variables.put("mso-request-id", "testRequestId");
variables.put("msoRequestId", "testRequestId");
@@ -720,16 +726,20 @@ public class OofHomingTest extends WorkflowTest {
"\"timeout\":600},\"placementInfo\":{\"requestParameters\":{\"customerLatitude\":" +
"\"32.89748\",\"customerLongitude\":\"-97.040443\",\"customerName\":\"xyz\"},\"subscriberInfo\":" +
"{\"globalSubscriberId\":\"SUB12_0322_DS_1201\",\"subscriberName\":\"SUB_12_0322_DS_1201\"," +
- "\"subscriberCommonSiteId\":\"\"},\"placementDemands\":[{\"resourceModuleName\":\"ALLOTTED_RESOURCE\"" +
+ "\"subscriberCommonSiteId\":\"\"},\"placementDemands\":[{\"resourceModuleName\":\"testARFunctionName\"" +
",\"serviceResourceId\":\"testResourceIdAR\",\"tenantId\":" +
- "\"\",\"resourceModelInfo\":{\"modelInvariantId\":\"testModelInvariantIdAR\"," +
- "\"modelVersionId\":\"testARModelUuid\",\"modelName\":\"testModelNameAR\",\"modelType\":" +
- "\"testModelTypeAR\",\"modelVersion\":\"testModelVersionAR\",\"modelCustomizationName\":\"\"}}," +
- "{\"resourceModuleName\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR2\"," +
- "\"tenantId\":\"\",\"resourceModelInfo\":{\"modelInvariantId\":\"testModelInvariantIdAR2\"," +
- "\"modelVersionId\":\"testAr2ModelUuid\",\"modelName\":\"testModelNameAR2\"," +
- "\"modelType\":\"testModelTypeAR2\",\"modelVersion\":\"testModelVersionAR2\"," +
- "\"modelCustomizationName\":\"\"}}]},\"serviceInfo\":" +
+ "\"\",\"resourceModelInfo\":{\"modelInvariantId\":\"no-resourceModelInvariantId\"," +
+ "\"modelVersionId\":\"no-resourceModelVersionId\",\"modelName\":\"\",\"modelType\":" +
+ "\"\",\"modelVersion\":\"\",\"modelCustomizationName\":\"\"}}," +
+ "{\"resourceModuleName\":\"testAR2FunctionName\",\"serviceResourceId\":\"testResourceIdAR2\"," +
+ "\"tenantId\":\"\",\"resourceModelInfo\":{\"modelInvariantId\":\"no-resourceModelInvariantId\"," +
+ "\"modelVersionId\":\"no-resourceModelVersionId\",\"modelName\":\"\"," +
+ "\"modelType\":\"\",\"modelVersion\":\"\"," +
+ "\"modelCustomizationName\":\"\"}},{\"resourceModuleName\":\"testVnfFunctionName\",\"serviceResourceId\":\"" +
+ "testResourceIdVNF\",\"tenantId\":\"\",\"resourceModelInfo\":{\"modelInvariantId\"" +
+ ":\"testModelInvariantIdVNF\",\"modelVersionId\":\"testVnfModelUuid\",\"modelName\":\"" +
+ "testModelNameVNF\",\"modelType\":\"testModelTypeVNF\",\"modelVersion\":\"testModelVersionVNF\"" +
+ ",\"modelCustomizationName\":\"\"}}]},\"serviceInfo\":" +
"{\"serviceInstanceId\":\"testServiceInstanceId123\"," +
"\"serviceName\":\"testServiceName\",\"modelInfo\":{\"modelType\":\"\",\"modelInvariantId\":" +
"\"testModelInvariantId\",\"modelVersionId\":\"testModelUuid\",\"modelName\":\"testModelName\"," +
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/appc/ApplicationControllerClientTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/appc/ApplicationControllerClientTest.java
index ec093bebbd..6c2b23b926 100644
--- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/appc/ApplicationControllerClientTest.java
+++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/appc/ApplicationControllerClientTest.java
@@ -99,14 +99,15 @@ public class ApplicationControllerClientTest {
Properties properties = client.getLCMProperties();
assertEquals(properties.get("topic.read"), "APPC-TEST-AMDOCS2");
assertEquals(properties.get("topic.write"), "APPC-TEST-AMDOCS1-DEV3");
- assertEquals(properties.get("topic.sdnc.read"), "SDNC-LCM-READ");
- assertEquals(properties.get("topic.sdnc.write"), "SDNC-LCM-WRITE");
+ assertEquals(properties.get("SDNC-topic.read"), "SDNC-LCM-READ");
+ assertEquals(properties.get("SDNC-topic.write"), "SDNC-LCM-WRITE");
assertEquals(properties.get("topic.read.timeout"), "120000");
assertEquals(properties.get("client.response.timeout"), "120000");
assertEquals(properties.get("poolMembers"),
"uebsb93kcdc.it.att.com:3904,uebsb92kcdc.it.att.com:3904,uebsb91kcdc.it.att.com:3904");
assertEquals(properties.get("client.key"), "iaEMAfjsVsZnraBP");
assertEquals(properties.get("client.secret"), "wcivUjsjXzmGFBfxMmyJu9dz");
+ assertEquals(properties.get("controllerType"), "appc");
}
} \ No newline at end of file
diff --git a/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCallback2AR1Vnf b/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCallback2AR1Vnf
index 808723828a..53cd70c514 100644
--- a/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCallback2AR1Vnf
+++ b/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCallback2AR1Vnf
@@ -54,7 +54,7 @@
"value": "False"
},
{
- "key": "cloudRegionId",
+ "key": "locationId",
"value": "dfwtx"
}
]
@@ -79,7 +79,7 @@
"value": "False"
},
{
- "key": "cloudRegionId",
+ "key": "locationId",
"value": "testCloudRegionId2"
}
]
@@ -100,7 +100,7 @@
"value": "aic"
},
{
- "key": "cloudRegionId",
+ "key": "locationId",
"value": "testCloudRegionId3"
},
{ "key":"flavors",
diff --git a/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCallback2AR1Vnf2Net b/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCallback2AR1Vnf2Net
index 8766df8dba..d95587746b 100644
--- a/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCallback2AR1Vnf2Net
+++ b/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCallback2AR1Vnf2Net
@@ -55,7 +55,7 @@
{ "key": "cloudOwner", "value": "aic" },
{ "key": "vnfHostName", "value": "MDTNJ01" },
{ "key": "isRehome", "value": "False" },
- { "key": "cloudRegionId", "value": "dfwtx" }
+ { "key": "locationId", "value": "dfwtx" }
]
},
{
@@ -69,7 +69,7 @@
{ "key": "cloudOwner", "value": "aic" },
{ "key": "vnfHostName", "value": "testVnfHostname2" },
{ "key": "isRehome", "value": "False" },
- { "key": "cloudRegionId", "value": "testCloudRegionId2" }
+ { "key": "locationId", "value": "testCloudRegionId2" }
]
},
{
@@ -83,7 +83,7 @@
{ "key": "cloudOwner", "value": "aic" },
{ "key": "vnfHostName", "value": "testVnfHostNameNet" },
{ "key": "isRehome", "value": "False" },
- { "key": "cloudRegionId", "value": "testCloudRegionIdNet" }
+ { "key": "locationId", "value": "testCloudRegionIdNet" }
]
},
{
@@ -96,7 +96,7 @@
},
"assignmentInfo": [
{ "key": "cloudOwner", "value": "aic" },
- { "key": "cloudRegionId", "value": "testCloudRegionIdNet2" }
+ { "key": "locationId", "value": "testCloudRegionIdNet2" }
]
},
{
@@ -109,7 +109,7 @@
},
"assignmentInfo": [
{ "key": "cloudOwner", "value": "aic" },
- { "key": "cloudRegionId", "value": "testCloudRegionId3" },
+ { "key": "locationId", "value": "testCloudRegionId3" },
{ "key":"flavors", "value":{ "flavorLabel1xxx":"vimFlavorxxx", "flavorLabel2xxx":"vimFlavorxxx"}}
]
}
diff --git a/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCallbackInfraVnf b/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCallbackInfraVnf
index 8e6f2d46be..15e601bae8 100644
--- a/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCallbackInfraVnf
+++ b/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCallbackInfraVnf
@@ -17,7 +17,7 @@
{ "key": "cloudOwner", "value": "amazon" },
{ "key": "vnfHostName", "value": "ahr344gh" },
{ "key": "isRehome", "value": "False" },
- { "key": "cloudRegionId", "value": "1ac71fb8-ad43-4e16-9459-c3f372b8236d" }
+ { "key": "locationId", "value": "1ac71fb8-ad43-4e16-9459-c3f372b8236d" }
]
},
{
@@ -30,7 +30,7 @@
},
"assignmentInfo": [
{ "key": "cloudOwner", "value": "amazon" },
- { "key": "cloudRegionId", "value": "1ac71fb8-ad43-4e16-9459-c3f372b8236d" },
+ { "key": "locationId", "value": "1ac71fb8-ad43-4e16-9459-c3f372b8236d" },
{ "key":"flavors", "value":{ "flavorLabel1xxx":"vimFlavorxxx", "flavorLabel2xxx":"vimFlavorxxx"}}
]
}
diff --git a/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCallbackNoSolutionFound b/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCallbackNoSolutionFound
index 8bb29f0c0a..2024df401b 100644
--- a/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCallbackNoSolutionFound
+++ b/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCallbackNoSolutionFound
@@ -1,10 +1,18 @@
{
- "solutions": {
- "placementSolutions": [],
- "licenseSolutions": []
- },
- "transactionId": "08e1b8cf-144a-4bac-b293-d5e2eedc97e8",
- "requestId": "02c2e322-5839-4c97-9d46-0a5fa6bb642e",
- "requestStatus": "completed",
- "statusMessage": "No solution found for plan 08e1b8cf-144a-4bac-b293-d5e2eedc97e8"
+ "plans":[
+ {
+ "name":"356fdb73-cef2-4dda-8865-31fd6733d6e4",
+ "message":"Unable to find any candidate for demand vGW",
+ "links":[
+ [
+ {
+ "rel":"self",
+ "href":"http://172.17.0.6:8091/v1/plans/1c15e194-6df5-43fe-a5ff-42e6093b8ddd"
+ }
+ ]
+ ],
+ "id":"1c15e194-6df5-43fe-a5ff-42e6093b8ddd",
+ "status":"error"
+ }
+ ]
} \ No newline at end of file
diff --git a/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCatalogResp.json b/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCatalogResp.json
index 09026d1d8c..889431663d 100644
--- a/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCatalogResp.json
+++ b/bpmn/MSOCommonBPMN/src/test/resources/__files/BuildingBlocks/oofCatalogResp.json
@@ -37,7 +37,7 @@
},
"nfRole": "",
"nfType": "",
- "nfFunction": "",
+ "nfFunction": "ADIoDvCE",
"nfNamingCode": "",
"multiStageDesign": "N"
}
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 6637d3c667..5282c9cdb2 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
@@ -318,7 +318,7 @@ 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);
}
}
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 321741b721..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
@@ -103,6 +103,7 @@ public class DoScaleVFCNetworkServiceInstance extends AbstractServiceTaskProcess
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()
@@ -112,15 +113,19 @@ public class DoScaleVFCNetworkServiceInstance extends AbstractServiceTaskProcess
String returnCode = apiResponse.getStatusCode()
String aaiResponseAsString = apiResponse.getResponseBodyAsString()
- String jobId = "";
+ String jobId = ""
if (returnCode == "200" || returnCode == "202") {
jobId = jsonUtil.getJsonValue(aaiResponseAsString, "jobId")
}
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/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/vcpe/scripts/CreateVcpeResCustService.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy
index ce117d3655..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")
@@ -199,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)
@@ -422,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()
}
}
@@ -456,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/resources/process/CreateVcpeResCustService.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn
index 9342e34f59..876f91ff42 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn
@@ -452,6 +452,7 @@ CreateVcpeResCustService.prepareCreateAllottedResourceTXC(execution)]]></bpmn2:s
<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>
@@ -515,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/CreateVfModuleInfra.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVfModuleInfra.bpmn
index b04220957e..b71a4ad4f5 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVfModuleInfra.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVfModuleInfra.bpmn
@@ -249,6 +249,7 @@ exceptionUtil.processJavaException(execution)]]></bpmn2:script>
<camunda:in source="CVFMI_requestId" target="msoRequestId" />
<camunda:in source="CVFMI_vnfName" target="vnfName" />
<camunda:in source="CVFMO_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" />
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/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>