aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus G K Williams <marcus.williams@intel.com>2018-05-31 03:52:10 -0700
committerMarcus G K Williams <marcus.williams@intel.com>2018-05-31 03:52:23 -0700
commitef58615371f366eb8415f69b73ad5e0d52910a11 (patch)
tree3433d2685e87c252e3ab4c4bf30d160dcbcb6cdd
parentd0e24a65c4f84bcd5322b02abd0e19eb1a4d7c78 (diff)
Fix OOF serviceResourceId bug
- Works around a bug in OOF where OOF does not return a serviceResourceId with homing solutions. SO uses serviceResourceId to match a homing deman to a homing request. This patch addes resourceModuleName as another way to match a demand to a request, as currently OOF needs this to be unique. - Changes SO homing processing of key cloudRegionId to key locationId as this is now the key used for cloudRegionId in solutions sent back from OOF Issue-ID: OPTFRA-249 Change-Id: I8e5d9244a227ea4d3d061a758f202144bac270ce Signed-off-by: Marcus G K Williams <marcus.williams@intel.com>
-rw-r--r--bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/OofHoming.groovy15
-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/oofCatalogResp.json2
5 files changed, 23 insertions, 14 deletions
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 d6576b7dce..df6b27f04d 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
@@ -210,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 = ""
@@ -249,9 +257,10 @@ 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) {
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/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"
}