import org.onap.so.client.aai.AAIProperties;
import org.onap.so.client.aai.AAIVersion;
+import org.onap.so.spring.SpringContextHelper;
import org.springframework.context.ApplicationContext;
public class AaiClientPropertiesImpl implements AAIProperties {
import org.onap.so.asdc.installer.ToscaResourceStructure;
import org.onap.so.asdc.installer.VfResourceStructure;
import org.onap.so.asdc.installer.heat.ToscaResourceInstaller;
-import org.onap.so.asdc.tenantIsolation.SpringContextHelper;
import org.onap.so.asdc.tenantIsolation.WatchdogDistribution;
+import org.onap.so.spring.SpringContextHelper;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.ConfigFileApplicationContextInitializer;
import org.springframework.boot.test.context.SpringBootTest;
'/' + UriUtils.encodePathSegment(correlator, 'UTF-8')
}
- /**
- * Constructs a workflow message callback URL for the specified message type and correlator.
- * This type of callback URL is used when a workflow wants an MSO adapter (like the SDNC
- * adapter) to call it back. In other words, this is for callbacks internal to the MSO
- * complex. Use <code>createWorkflowMessageAdapterCallbackURL</code> if the callback
- * will come from outside the MSO complex.
- * @param endpoint endpoint address to contruct URL from
- * @param messageType the message type (e.g. SDNCAResponse or VNFAResponse)
- * @param correlator the correlator value (e.g. a request ID)
- */
- public String createCallbackURL(String endpoint, String messageType, String correlator) {
- if (endpoint == null || endpoint.isEmpty()) {
- ExceptionUtil exceptionUtil = new ExceptionUtil()
- exceptionUtil.buildAndThrowWorkflowException(execution, 2000,
- 'mso:workflow:message:endpoint was not passed in')
- }
-
- while (endpoint.endsWith('/')) {
- endpoint = endpoint.substring(0, endpoint.length()-1)
- }
-
- return endpoint +
- '/' + UriUtils.encodePathSegment(messageType, 'UTF-8') +
- '/' + UriUtils.encodePathSegment(correlator, 'UTF-8')
- }
-
/**
*
* Constructs a workflow message callback URL for the specified message type and correlator.
import org.json.JSONArray
import org.json.JSONObject
+import org.springframework.web.util.UriUtils
import static org.onap.so.bpmn.common.scripts.GenericUtils.*
*/
public void preProcessRequest(DelegateExecution execution) {}
// Not Implemented Method
+
+ /**
+ * Constructs a workflow message callback URL for the specified message type and correlator.
+ * This type of callback URL is used when a workflow wants an MSO adapter (like the SDNC
+ * adapter) to call it back. In other words, this is for callbacks internal to the MSO
+ * complex. Use <code>createWorkflowMessageAdapterCallbackURL</code> if the callback
+ * will come from outside the MSO complex.
+ * @param endpoint endpoint address to contruct URL from
+ * @param messageType the message type (e.g. SDNCAResponse or VNFAResponse)
+ * @param correlator the correlator value (e.g. a request ID)
+ */
+ public String createHomingCallbackURL(String endpoint, String messageType, String correlator) {
+ try {
+ if (endpoint == null || endpoint.isEmpty()) {
+ ExceptionUtil exceptionUtil = new ExceptionUtil()
+ exceptionUtil.buildAndThrowWorkflowException(execution, 2000,
+ 'mso:workflow:message:endpoint was not passed in')
+ }
+
+ utils.log("DEBUG", "passed in endpoint: " + endpoint + " *****", "true")
+
+ while (endpoint.endsWith('/')) {
+ endpoint = endpoint.substring(0, endpoint.length() - 1)
+ }
+ utils.log("DEBUG", "processed endpoint: " + endpoint + " *****", "true")
+
+ return endpoint +
+ '/' + UriUtils.encodePathSegment(messageType, 'UTF-8') +
+ '/' + UriUtils.encodePathSegment(correlator, 'UTF-8')
+ } catch (Exception ex) {
+ utils.log("DEBUG", "createCallbackURL Exception: " + ex + " *****", "true")
+ }
+ }
}
utils.log("DEBUG", "Started Building OOF Request", isDebugEnabled)
String callbackEndpoint = UrnPropertiesReader.getVariable("mso.oof.callbackEndpoint", execution)
utils.log("DEBUG", "mso.oof.callbackEndpoint is: " + callbackEndpoint, isDebugEnabled)
- def callbackUrl = utils.createWorkflowMessageAdapterCallbackURL(callbackEndpoint, "oofResponse", requestId)
- def transactionId = requestId
- //ServiceInstance Info
- ServiceInstance serviceInstance = decomposition.getServiceInstance()
- def serviceInstanceId = ""
- def serviceName = ""
-
- serviceInstanceId = execution.getVariable("serviceInstanceId")
- serviceName = execution.getVariable("subscriptionServiceType")
-
- if (serviceInstanceId == null || serviceInstanceId == "null") {
- utils.log("DEBUG", "Unable to obtain Service Instance Id", isDebugEnabled)
- exceptionUtil.buildAndThrowWorkflowException(execution, 400, "Internal Error - Unable to " +
- "obtain Service Instance Id, execution.getVariable(\"serviceInstanceId\") is null")
- }
- if (serviceName == null || serviceName == "null") {
- utils.log("DEBUG", "Unable to obtain Service Name", isDebugEnabled)
- exceptionUtil.buildAndThrowWorkflowException(execution, 400, "Internal Error - Unable to " +
- "obtain Service Name, execution.getVariable(\"subscriptionServiceType\") is null")
- }
- //Model Info
- ModelInfo model = decomposition.getModelInfo()
- String modelType = model.getModelType()
- String modelInvariantId = model.getModelInvariantUuid()
- String modelVersionId = model.getModelUuid()
- String modelName = model.getModelName()
- String modelVersion = model.getModelVersion()
- //Subscriber Info
- 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
- String requestType = "create"
- List<Resource> resources = decomposition.getServiceResources()
- for(Resource r:resources){
- HomingSolution currentSolution = (HomingSolution) r.getCurrentHomingSolution()
- if(currentSolution != null){
- requestType = "speed changed"
+ try {
+ def callbackUrl = utils.createHomingCallbackURL(callbackEndpoint, "oofResponse", requestId)
+ utils.log("DEBUG", "callbackUrl is: " + callbackUrl, isDebugEnabled)
+
+
+ def transactionId = requestId
+ utils.log("DEBUG", "transactionId is: " + transactionId, isDebugEnabled)
+ //ServiceInstance Info
+ ServiceInstance serviceInstance = decomposition.getServiceInstance()
+ def serviceInstanceId = ""
+ def serviceName = ""
+
+ serviceInstanceId = execution.getVariable("serviceInstanceId")
+ utils.log("DEBUG", "serviceInstanceId is: " + serviceInstanceId, isDebugEnabled)
+ serviceName = execution.getVariable("subscriptionServiceType")
+ utils.log("DEBUG", "serviceName is: " + serviceName, isDebugEnabled)
+
+ if (serviceInstanceId == null || serviceInstanceId == "null") {
+ utils.log("DEBUG", "Unable to obtain Service Instance Id", isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 400, "Internal Error - Unable to " +
+ "obtain Service Instance Id, execution.getVariable(\"serviceInstanceId\") is null")
+ }
+ if (serviceName == null || serviceName == "null") {
+ utils.log("DEBUG", "Unable to obtain Service Name", isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 400, "Internal Error - Unable to " +
+ "obtain Service Name, execution.getVariable(\"subscriptionServiceType\") is null")
+ }
+ //Model Info
+ ModelInfo model = decomposition.getModelInfo()
+ utils.log("DEBUG", "ModelInfo: " + model.toString(), isDebugEnabled)
+ String modelType = model.getModelType()
+ String modelInvariantId = model.getModelInvariantUuid()
+ String modelVersionId = model.getModelUuid()
+ String modelName = model.getModelName()
+ String modelVersion = model.getModelVersion()
+ //Subscriber Info
+ String subscriberId = ""
+ String subscriberName = ""
+ String commonSiteId = ""
+ if (subscriber != null) {
+ subscriberId = subscriber.getGlobalId()
+ subscriberName = subscriber.getName()
+ commonSiteId = subscriber.getCommonSiteId()
}
- }
- //Demands
- String placementDemands = ""
- StringBuilder sb = new StringBuilder()
- List<AllottedResource> allottedResourceList = decomposition.getAllottedResources()
- List<VnfResource> vnfResourceList = decomposition.getVnfResources()
+ //Determine RequestType
+ //TODO Figure out better way to determine this
+ String requestType = "create"
+ List<Resource> resources = decomposition.getServiceResources()
+ for (Resource r : resources) {
+ HomingSolution currentSolution = (HomingSolution) r.getCurrentHomingSolution()
+ if (currentSolution != null) {
+ requestType = "speed changed"
+ }
+ }
- if (allottedResourceList == null || allottedResourceList.isEmpty() ) {
- utils.log("DEBUG", "Allotted Resources List is empty - will try to get service VNFs instead.",
- isDebugEnabled)
- allottedResourceList = decomposition.getVnfResources()
- }
+ //Demands
+ String placementDemands = ""
+ StringBuilder sb = new StringBuilder()
+ List<AllottedResource> allottedResourceList = decomposition.getAllottedResources()
+ List<VnfResource> vnfResourceList = decomposition.getVnfResources()
- if (allottedResourceList == null || allottedResourceList.isEmpty()) {
- utils.log("DEBUG", "Resources List is Empty", isDebugEnabled)
- } else {
- for (AllottedResource resource : allottedResourceList) {
- utils.log("DEBUG", "Allotted Resource: " + resource.toString(),
+ if (allottedResourceList == null || allottedResourceList.isEmpty()) {
+ utils.log("DEBUG", "Allotted Resources List is empty - will try to get service VNFs instead.",
isDebugEnabled)
- def serviceResourceId = resource.getResourceId()
- def resourceModelInvariantId = resource.getModelInfo().getModelInvariantUuid()
- def resourceModelVersionId = resource.getModelInfo().getModelUuid()
- def resourceModelName = resource.getModelInfo().getModelName()
- def resourceModelVersion = resource.getModelInfo().getModelVersion()
- def resourceModelType = resource.getModelInfo().getModelType()
- def tenantId = execution.getVariable("tenantId")
- def requiredCandidatesJson = ""
-
- requiredCandidatesJson = createCandidateJson(
- existingCandidates,
- excludedCandidates,
- requiredCandidates)
-
- String demand =
- " {\n" +
- " \"resourceModuleName\": \"${resourceModelName}\",\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)
+ } else {
+ for (AllottedResource resource : allottedResourceList) {
+ utils.log("DEBUG", "Allotted Resource: " + resource.toString(),
+ isDebugEnabled)
+ def serviceResourceId = resource.getResourceId()
+ def resourceModelInvariantId = resource.getModelInfo().getModelInvariantUuid()
+ def resourceModelVersionId = resource.getModelInfo().getModelUuid()
+ def resourceModelName = resource.getModelInfo().getModelName()
+ def resourceModelVersion = resource.getModelInfo().getModelVersion()
+ def resourceModelType = resource.getModelInfo().getModelType()
+ def tenantId = execution.getVariable("tenantId")
+ def requiredCandidatesJson = ""
+
+ requiredCandidatesJson = createCandidateJson(
+ existingCandidates,
+ excludedCandidates,
+ requiredCandidates)
+
+ String demand =
+ " {\n" +
+ " \"resourceModuleName\": \"${resourceModelName}\",\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(),
+
+ if (vnfResourceList == null || vnfResourceList.isEmpty()) {
+ utils.log("DEBUG", "VNF Resources List is empty",
isDebugEnabled)
- ModelInfo vnfResourceModelInfo = vnfResource.getModelInfo()
- def serviceResourceId = vnfResource.getResourceId()
- def resourceModelInvariantId = vnfResourceModelInfo.getModelInvariantUuid()
- def resourceModelName = vnfResourceModelInfo.getModelName()
- def resourceModelVersion = vnfResourceModelInfo.getModelVersion()
- def resourceModelVersionId = vnfResourceModelInfo.getModelUuid()
- def resourceModelType = vnfResourceModelInfo.getModelType()
- def tenantId = execution.getVariable("tenantId")
- def requiredCandidatesJson = ""
-
-
- String placementDemand =
- " {\n" +
- " \"resourceModuleName\": \"${resourceModelName}\",\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)
+ } else {
+
+ for (VnfResource vnfResource : vnfResourceList) {
+ utils.log("DEBUG", "VNF Resource: " + vnfResource.toString(),
+ isDebugEnabled)
+ ModelInfo vnfResourceModelInfo = vnfResource.getModelInfo()
+ def serviceResourceId = vnfResource.getResourceId()
+ def resourceModelInvariantId = vnfResourceModelInfo.getModelInvariantUuid()
+ def resourceModelName = vnfResourceModelInfo.getModelName()
+ def resourceModelVersion = vnfResourceModelInfo.getModelVersion()
+ def resourceModelVersionId = vnfResourceModelInfo.getModelUuid()
+ def resourceModelType = vnfResourceModelInfo.getModelType()
+ def tenantId = execution.getVariable("tenantId")
+ def requiredCandidatesJson = ""
+
+
+ String placementDemand =
+ " {\n" +
+ " \"resourceModuleName\": \"${resourceModelName}\",\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)
}
- placementDemands = placementDemands.substring(0, placementDemands.length() - 1)
- }
- /* Commenting Out Licensing as OOF doesn't support for Beijing
+ /* Commenting Out Licensing as OOF doesn't support for Beijing
String licenseDemands = ""
sb = new StringBuilder()
if (vnfResourceList.isEmpty() || vnfResourceList == null) {
licenseDemands = licenseDemands.substring(0, licenseDemands.length() - 1)
}*/
- String request =
- "{\n" +
- " \"requestInfo\": {\n" +
- " \"transactionId\": \"${transactionId}\",\n" +
- " \"requestId\": \"${requestId}\",\n" +
- " \"callbackUrl\": \"${callbackUrl}\",\n" +
- " \"sourceId\": \"so\",\n" +
- " \"requestType\": \"${requestType}\"," +
- " \"numSolutions\": 1,\n" +
- " \"optimizers\": [\"placement\"],\n" +
- " \"timeout\": 600\n" +
- " },\n" +
- " \"placementInfo\": {\n" +
- " \"requestParameters\": {\n" +
- " \"customerLatitude\": \"${customerLocation.customerLatitude}\",\n" +
- " \"customerLongitude\": \"${customerLocation.customerLongitude}\",\n" +
- " \"customerName\": \"${customerLocation.customerName}\"\n" +
- " }," +
- " \"subscriberInfo\": { \n" +
- " \"globalSubscriberId\": \"${subscriberId}\",\n" +
- " \"subscriberName\": \"${subscriberName}\",\n" +
- " \"subscriberCommonSiteId\": \"${commonSiteId}\"\n" +
- " },\n" +
- " \"placementDemands\": [\n" +
- " ${placementDemands}\n" +
- " ]\n" +
- " },\n" +
- " \"serviceInfo\": {\n" +
- " \"serviceInstanceId\": \"${serviceInstanceId}\",\n" +
- " \"serviceName\": \"${serviceName}\",\n" +
- " \"modelInfo\": {\n" +
- " \"modelType\": \"${modelType}\",\n" +
- " \"modelInvariantId\": \"${modelInvariantId}\",\n" +
- " \"modelVersionId\": \"${modelVersionId}\",\n" +
- " \"modelName\": \"${modelName}\",\n" +
- " \"modelVersion\": \"${modelVersion}\",\n" +
- " \"modelCustomizationName\": \"\"\n" +
- " }\n" +
- " }\n" +
- "}"
-
-
- utils.log("DEBUG", "Completed Building OOF Request", isDebugEnabled)
- return request
+ String request =
+ "{\n" +
+ " \"requestInfo\": {\n" +
+ " \"transactionId\": \"${transactionId}\",\n" +
+ " \"requestId\": \"${requestId}\",\n" +
+ " \"callbackUrl\": \"${callbackUrl}\",\n" +
+ " \"sourceId\": \"so\",\n" +
+ " \"requestType\": \"${requestType}\"," +
+ " \"numSolutions\": 1,\n" +
+ " \"optimizers\": [\"placement\"],\n" +
+ " \"timeout\": 600\n" +
+ " },\n" +
+ " \"placementInfo\": {\n" +
+ " \"requestParameters\": {\n" +
+ " \"customerLatitude\": \"${customerLocation.customerLatitude}\",\n" +
+ " \"customerLongitude\": \"${customerLocation.customerLongitude}\",\n" +
+ " \"customerName\": \"${customerLocation.customerName}\"\n" +
+ " }," +
+ " \"subscriberInfo\": { \n" +
+ " \"globalSubscriberId\": \"${subscriberId}\",\n" +
+ " \"subscriberName\": \"${subscriberName}\",\n" +
+ " \"subscriberCommonSiteId\": \"${commonSiteId}\"\n" +
+ " },\n" +
+ " \"placementDemands\": [\n" +
+ " ${placementDemands}\n" +
+ " ]\n" +
+ " },\n" +
+ " \"serviceInfo\": {\n" +
+ " \"serviceInstanceId\": \"${serviceInstanceId}\",\n" +
+ " \"serviceName\": \"${serviceName}\",\n" +
+ " \"modelInfo\": {\n" +
+ " \"modelType\": \"${modelType}\",\n" +
+ " \"modelInvariantId\": \"${modelInvariantId}\",\n" +
+ " \"modelVersionId\": \"${modelVersionId}\",\n" +
+ " \"modelName\": \"${modelName}\",\n" +
+ " \"modelVersion\": \"${modelVersion}\",\n" +
+ " \"modelCustomizationName\": \"\"\n" +
+ " }\n" +
+ " }\n" +
+ "}"
+
+
+ utils.log("DEBUG", "Completed Building OOF Request", isDebugEnabled)
+ return request
+ } catch (Exception ex) {
+ utils.log("DEBUG", "buildRequest Exception: " + ex, isDebugEnabled)
+ }
}
/**
public <T> T getRequiredVariable(String key) throws RequiredExecutionVariableExeception;
public void setVariable(String key, Serializable value);
public Map<ResourceKey, String> getLookupMap();
+ public String getFlowToBeCalled();
}
return this.get("lookupKeyMap");
}
+ @Override
+ public String getFlowToBeCalled() {
+ return this.get("flowToBeCalled");
+ }
public DelegateExecution getDelegateExecution() {
return this.execution;
}
if (relatedInstanceList != null) {
for (RelatedInstanceList relatedInstList : relatedInstanceList) {
RelatedInstance relatedInstance = relatedInstList.getRelatedInstance();
- if (relatedInstance.getModelInfo().getModelType().equals(ModelType.networkCollection)) {
+ if (relatedInstance.getModelInfo().getModelType().equals(ModelType.networkInstanceGroup)) {
instanceGroupModelInfo = relatedInstance.getModelInfo();
instanceGroupId = relatedInstance.getInstanceId();
}
when(mockExecution.getVariable("aicCloudRegion")).thenReturn('aicCloudRegion')
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn('true')
when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn('8')
- when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn('/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic')
+ when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn('/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner')
when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
/* Mockito.verify(mockExecution, times(5)).setVariable(captor.capture(), captor.capture())*/
verify(mockExecution).setVariable("prefix", "CVGT_")
verify(mockExecution).setVariable("queryVolumeGroupResponseCode", 200)
- verify(mockExecution).setVariable("queryAAIVolumeGroupResponse", "<volume-group xmlns=\"http://org.openecomp.aai.inventory/v10\"><volume-group-id>17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c</volume-group-id><volume-group-name>MSOTESTVOL103a-vSAMP12_base_module-0_vol</volume-group-name><heat-stack-id>9d1f53e3-3158-44f8-8032-a6bf40bbc9db</heat-stack-id><vnf-type>pcrf-capacity</vnf-type><orchestration-status>Active</orchestration-status><resource-version>0000020</resource-version><relationship-list><relationship><related-to>tenant</related-to><relationship-data><relationship-key>cloud-region.cloud-owner</relationship-key><relationship-value>att-aic</relationship-value></relationship-data><relationship-data><relationship-key>cloud-region.cloud-region-id</relationship-key><relationship-value>RegionOne</relationship-value></relationship-data><relationship-data><relationship-key>tenant.tenant-id</relationship-key><relationship-value>22eb191dd41a4f3c9be370fc638322f4</relationship-value></relationship-data></relationship></relationship-list></volume-group>")
+ verify(mockExecution).setVariable("queryAAIVolumeGroupResponse", "<volume-group xmlns=\"http://org.openecomp.aai.inventory/v10\"><volume-group-id>17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c</volume-group-id><volume-group-name>MSOTESTVOL103a-vSAMP12_base_module-0_vol</volume-group-name><heat-stack-id>9d1f53e3-3158-44f8-8032-a6bf40bbc9db</heat-stack-id><vnf-type>pcrf-capacity</vnf-type><orchestration-status>Active</orchestration-status><resource-version>0000020</resource-version><relationship-list><relationship><related-to>tenant</related-to><relationship-data><relationship-key>cloud-region.cloud-owner</relationship-key><relationship-value>CloudOwner</relationship-value></relationship-data><relationship-data><relationship-key>cloud-region.cloud-region-id</relationship-key><relationship-value>RegionOne</relationship-value></relationship-data><relationship-data><relationship-key>tenant.tenant-id</relationship-key><relationship-value>22eb191dd41a4f3c9be370fc638322f4</relationship-value></relationship-data></relationship></relationship-list></volume-group>")
verify(mockExecution).setVariable("tenantIdsMatch", false)
verify(mockExecution).setVariable("groupNamesMatch", false)
}
private void mockData() {
- stubFor(get(urlMatching("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/aicCloudRegion/volume-groups/volume-group/testVolumeGroupId"))
+ stubFor(get(urlMatching("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/aicCloudRegion/volume-groups/volume-group/testVolumeGroupId"))
.willReturn(aResponse()
.withStatus(200)
- .withBody("<volume-group xmlns=\"http://org.openecomp.aai.inventory/v10\"><volume-group-id>17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c</volume-group-id><volume-group-name>MSOTESTVOL103a-vSAMP12_base_module-0_vol</volume-group-name><heat-stack-id>9d1f53e3-3158-44f8-8032-a6bf40bbc9db</heat-stack-id><vnf-type>pcrf-capacity</vnf-type><orchestration-status>Active</orchestration-status><resource-version>0000020</resource-version><relationship-list><relationship><related-to>tenant</related-to><relationship-data><relationship-key>cloud-region.cloud-owner</relationship-key><relationship-value>att-aic</relationship-value></relationship-data><relationship-data><relationship-key>cloud-region.cloud-region-id</relationship-key><relationship-value>RegionOne</relationship-value></relationship-data><relationship-data><relationship-key>tenant.tenant-id</relationship-key><relationship-value>22eb191dd41a4f3c9be370fc638322f4</relationship-value></relationship-data></relationship></relationship-list></volume-group>")))
+ .withBody("<volume-group xmlns=\"http://org.openecomp.aai.inventory/v10\"><volume-group-id>17ef4658-bd1f-4ef0-9ca0-ea76e2bf122c</volume-group-id><volume-group-name>MSOTESTVOL103a-vSAMP12_base_module-0_vol</volume-group-name><heat-stack-id>9d1f53e3-3158-44f8-8032-a6bf40bbc9db</heat-stack-id><vnf-type>pcrf-capacity</vnf-type><orchestration-status>Active</orchestration-status><resource-version>0000020</resource-version><relationship-list><relationship><related-to>tenant</related-to><relationship-data><relationship-key>cloud-region.cloud-owner</relationship-key><relationship-value>CloudOwner</relationship-value></relationship-data><relationship-data><relationship-key>cloud-region.cloud-region-id</relationship-key><relationship-value>RegionOne</relationship-value></relationship-data><relationship-data><relationship-key>tenant.tenant-id</relationship-key><relationship-value>22eb191dd41a4f3c9be370fc638322f4</relationship-value></relationship-data></relationship></relationship-list></volume-group>")))
}
private ExecutionEntity setupMock() {
}
public static void MockGetNetworkCloudRegion(String responseFile, String cloudRegion) {
- stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/"+cloudRegion))
+ stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/"+cloudRegion))
.willReturn(aResponse()
.withStatus(200)
.withHeader("Content-Type", "text/xml")
}
public static void MockGetNetworkCloudRegion_404(String cloudRegion) {
- stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/"+cloudRegion))
+ stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/"+cloudRegion))
.willReturn(aResponse()
.withStatus(404)));
}
.withStatus(200)
.withHeader("Content-Type", "text/xml")
.withBodyFile("VfModularity/ConfirmVolumeGroupTenantResponse.xml")));
- stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/MDTWNJ21/volume-groups/volume-group/78987"))
+ stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/MDTWNJ21/volume-groups/volume-group/78987"))
.willReturn(aResponse()
.withStatus(200)
.withHeader("Content-Type", "text/xml")
.withBodyFile("VfModularity/VolumeGroup.xml")));
- stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/volume-groups/volume-group/78987"))
+ stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/volume-groups/volume-group/78987"))
.willReturn(aResponse()
.withStatus(200)
.withHeader("Content-Type", "text/xml")
*/
public static void MockGetCloudRegion(String cloudRegionId, int statusCode, String responseFile) {
- stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId))
+ stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/" + cloudRegionId))
.willReturn(aResponse()
.withStatus(statusCode)
.withHeader("Content-Type", "text/xml")
}
public static void MockGetVolumeGroupById(String cloudRegionId, String volumeGroupId, String responseFile, int responseCode) {
- stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId))
+ stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId))
.willReturn(aResponse()
.withStatus(responseCode)
.withHeader("Content-Type", "text/xml")
}
public static void MockPutVolumeGroupById(String cloudRegionId, String volumeGroupId, String responseFile, int statusCode) {
- stubFor(put(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId))
+ stubFor(put(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId))
.willReturn(aResponse()
.withStatus(statusCode)
.withHeader("Content-Type", "text/xml")
}
public static void MockGetVolumeGroupByName(String cloudRegionId, String volumeGroupName, String responseFile, int statusCode) {
- stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups[?]volume-group-name=" + volumeGroupName))
+ stubFor(get(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/" + cloudRegionId + "/volume-groups[?]volume-group-name=" + volumeGroupName))
.willReturn(aResponse()
.withStatus(statusCode)
.withHeader("Content-Type", "text/xml")
}
public static void MockDeleteVolumeGroupById(String cloudRegionId, String volumeGroupId, String resourceVersion, int statusCode) {
- stubFor(delete(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId + "[?]resource-version=" + resourceVersion))
+ stubFor(delete(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId + "[?]resource-version=" + resourceVersion))
.willReturn(aResponse()
.withStatus(statusCode)));
}
public static void MockGetVolumeGroupByName_404(String cloudRegionId, String volumeGroupName) {
- stubFor(get(urlMatching("/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups[?]volume-group-name=" + volumeGroupName))
+ stubFor(get(urlMatching("/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/" + cloudRegionId + "/volume-groups[?]volume-group-name=" + volumeGroupName))
.willReturn(aResponse()
.withStatus(404)));
}
public static void MockDeleteVolumeGroup(String cloudRegionId, String volumeGroupId, String resourceVersion) {
- stubFor(delete(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId + "[?]resource-version=" + resourceVersion))
+ stubFor(delete(urlMatching("/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/" + cloudRegionId + "/volume-groups/volume-group/" + volumeGroupId + "[?]resource-version=" + resourceVersion))
.willReturn(aResponse()
.withStatus(200)));
}
}
public static void MockGetDefaultCloudRegionByCloudRegionId(String cloudRegionId, String responseFile, int statusCode) {
- stubFor(get(urlMatching("/aai/v1[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic/"+cloudRegionId + ".*"))
+ stubFor(get(urlMatching("/aai/v1[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/"+cloudRegionId + ".*"))
.willReturn(aResponse()
.withStatus(statusCode)
.withHeader("Content-Type", "application/json; charset=utf-8")
private static final String RESOURCE_PATH = "src/test/resources/__files/ExecuteBuildingBlock/";
protected ObjectMapper mapper = new ObjectMapper();
- private static final String CLOUD_OWNER = "att-aic";
+ private static final String CLOUD_OWNER = "CloudOwner";
@Spy
private BBInputSetup SPY_bbInputSetup = new BBInputSetup();
},
"cloudRegion": {
"lcp-cloud-region-id" : "myRegionId",
- "cloud-owner": "att-aic"
+ "cloud-owner": "CloudOwner"
},
"userInput": null,
"customer": {
"relatedInstance": {
"instanceId": "{instanceGroupId}",
"modelInfo": {
- "modelType": "networkCollection",
+ "modelType": "networkInstanceGroup",
"modelInvariantId": "9ea660dc-155f-44d3-b45c-cc7648b4f31c",
"modelVersionId": "bb07aad1-ce2d-40c1-85cb-5392f76bb1ef",
"modelName": "{network collection model name}",
<tns:related-to>tenant</tns:related-to>
<tns:relationship-data>
<tns:relationship-key>cloud-region.cloud-owner</tns:relationship-key>
- <tns:relationship-value>att-aic</tns:relationship-value>
+ <tns:relationship-value>CloudOwner</tns:relationship-value>
</tns:relationship-data>
<tns:relationship-data>
<tns:relationship-key>cloud-region.cloud-region-id</tns:relationship-key>
},
{
"related-to": "cloud-region",
- "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtcnj2",
+ "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtcnj2",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "oam-network",
- "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/oam-networks/oam-network/f9263cat-4eaa-43a0-bea4-adcf6e123456",
+ "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/oam-networks/oam-network/f9263cat-4eaa-43a0-bea4-adcf6e123456",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "oam-network",
- "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/oam-networks/oam-network/b9263fab-4eaa-43a0-bea4-adcf6e999999",
+ "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/oam-networks/oam-network/b9263fab-4eaa-43a0-bea4-adcf6e999999",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "oam-network",
- "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/oam-networks/oam-network/cf33dc95-c5d2-48fd-8078-fd949363f63b",
+ "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/oam-networks/oam-network/cf33dc95-c5d2-48fd-8078-fd949363f63b",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "availability-zone",
- "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/availability-zones/availability-zone/mtcnj-esx-az01",
+ "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/availability-zones/availability-zone/mtcnj-esx-az01",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
JSONObject homingDataJson = arr.getJSONObject(0);
JSONArray assignmentInfo = homingDataJson.getJSONArray("assignmentInfo");
Map<String, String> map = utils.entryArrayToMap(execution, assignmentInfo.toString(), "variableName", "variableValue");
- assertEquals(map.get("cloudOwner"), "att-aic");
+ assertEquals(map.get("cloudOwner"), "CloudOwner");
}
@Test
public void entryArrayToMapStringTest() throws IOException {
JSONObject homingDataJson = arr.getJSONObject(0);
JSONArray assignmentInfo = homingDataJson.getJSONArray("assignmentInfo");
Map<String, String> map = utils.entryArrayToMap(assignmentInfo.toString(), "variableName", "variableValue");
- assertEquals(map.get("cloudOwner"), "att-aic");
+ assertEquals(map.get("cloudOwner"), "CloudOwner");
}
@Test
public void getJsonRootPropertyTest() throws IOException {
"variableName": "aicVersion"
},
{
- "variableValue": "att-aic",
+ "variableValue": "CloudOwner",
"variableName": "cloudOwner"
}
],
"variableName": "aicVersion"
},
{
- "variableValue": "att-aic",
+ "variableValue": "CloudOwner",
"variableName": "cloudOwner"
},
{
"variableName": "aicVersion"
},
{
- "variableValue": "att-aic",
+ "variableValue": "CloudOwner",
"variableName": "cloudOwner"
}
],
"variableName": "aicVersion"
},
{
- "variableValue": "att-aic",
+ "variableValue": "CloudOwner",
"variableName": "cloudOwner"
}
],
"variableName": "aicVersion"
},
{
- "variableValue": "att-aic",
+ "variableValue": "CloudOwner",
"variableName": "cloudOwner"
},
{
"variableName": "aicVersion"
},
{
- "variableValue": "att-aic",
+ "variableValue": "CloudOwner",
"variableName": "cloudOwner"
}
],
route-table-reference:
uri: /aai/v11/network/route-table-references/route-table-reference
tenant:
- uri: /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant
+ uri: /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/tenants/tenant
vce:
uri: /aai/v11/network/vces/vce
vpn-binding:
route-table-reference:
uri: /aai/v8/network/route-table-references/route-table-reference
tenant:
- uri: /aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant
+ uri: /aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/tenants/tenant
vce:
uri: /aai/v8/network/vces/vce
vpn-binding:
uri: /aai/v8/network/vpn-bindings/vpn-binding
v9:
cloud-region:
- uri: /aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic
+ uri: /aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner
generic-vnf:
uri: /aai/v9/network/generic-vnfs/generic-vnf
retry:
//System.out.println("resourceVnfHoming.getVnf().getResourceId() is: " + resourceVnfHoming.getVnf().getResourceId());
assertEquals(homingSolutionService("service", "service-instance-01234",
- "MDTNJ01", "test-resource-id-000","att-aic",
+ "MDTNJ01", "test-resource-id-000","CloudOwner",
"mtmnj1a",
"\"f1d563e8-e714-4393-8f99-cc480144a05e\"," +
" \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
//logger.debug("resourceVnfHoming.getVnf().getResourceId() is: " + resourceVnfHoming.getVnf().getResourceId());
assertEquals(homingSolutionService("service", "service-instance-01234",
- "MDTNJ01", "test-resource-id-000","att-aic",
+ "MDTNJ01", "test-resource-id-000","CloudOwner",
"mtmnj1a",
"\"f1d563e8-e714-4393-8f99-cc480144a05e\"," +
" \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
String sniroRequest = (String) getVariableFromHistory(businessKey, "sniroRequest");
assertEquals(FileUtil.readResourceFile("__files/BuildingBlocks/sniroRequest_infravnf").replaceAll("\n", "").replaceAll("\r", "").replaceAll("\t", ""), sniroRequest.replaceAll("\n", "").replaceAll("\r", "").replaceAll("\t", ""));
- assertEquals(homingSolutionService("service", "service-instance-01234", "MDTNJ01", "att-aic", "mtmnj1a", "KDTNJ01", "3.0", "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"", "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""), resourceVnfHomingString);
+ assertEquals(homingSolutionService("service", "service-instance-01234", "MDTNJ01", "CloudOwner", "mtmnj1a", "KDTNJ01", "3.0", "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"", "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""), resourceVnfHomingString);
}
@Test
<related-to>volume-group</related-to>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
<related-to>tenant</related-to>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
route-table-reference:
uri: /aai/v8/network/route-table-references/route-table-reference
tenant:
- uri: /aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant
+ uri: /aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/tenants/tenant
vce:
uri: /aai/v8/network/vces/vce
vpn-binding:
uri: /aai/v8/network/vpn-bindings/vpn-binding
v9:
cloud-region:
- uri: /aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic
+ uri: /aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner
generic-vnf:
uri: /aai/v9/network/generic-vnfs/generic-vnf
global:
<?xml version="1.0" encoding="UTF-8"?>
-<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0">
+<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0">
<bpmn:process id="AssignVfModuleBB" name="AssignVfModuleBB" isExecutable="true">
<bpmn:startEvent id="AssignVfModuleBB_Start">
<bpmn:outgoing>SequenceFlow_1xr6chl</bpmn:outgoing>
<bpmn:incoming>SequenceFlow_14xl505</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="SequenceFlow_14xl505" sourceRef="UpdateVfModuleStatus" targetRef="AssignVfModuleBB_End" />
- <bpmn:serviceTask id="UpdateVfModuleStatus" name=" AAI Update (vf module) " camunda:expression="${AAIUpdateTasks.updateOrchestrationStatusAssignedVfModule(InjectExecution.execute(execution, execution.getVariable("gBuildingBlockExecution")))}">
+ <bpmn:serviceTask id="UpdateVfModuleStatus" name=" AAI Update (vf module) " camunda:expression="${AAIUpdateTasks.updateOrchestrationStatusAssignedOrPendingActivationVfModule(InjectExecution.execute(execution, execution.getVariable("gBuildingBlockExecution")))}">
<bpmn:incoming>SequenceFlow_15hn8si</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_14xl505</bpmn:outgoing>
</bpmn:serviceTask>
try {
String requestId = execution.getVariable("msoRequestId")
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
String source = execution.getVariable("source")
String msoCompletionRequest =
"""<aetgt:MsoCompletionRequest xmlns:aetgt="http://org.onap/so/workflow/schema/v1"
<action>DELETE</action>
<source>${MsoUtils.xmlEscape(source)}</source>
</request-info>
- <aetgt:status-message>Service Instance was deleted successfully.</aetgt:status-message>
- <aetgt:mso-bpel-name>DeleteGenericALaCarteServiceInstance</aetgt:mso-bpel-name>
+ <status-message>Service Instance was deleted successfully.</status-message>
+ <serviceInstanceId>${MsoUtils.xmlEscape(serviceInstanceId)}</serviceInstanceId>
+ <mso-bpel-name>DeleteGenericALaCarteServiceInstance</mso-bpel-name>
</aetgt:MsoCompletionRequest>"""
// Format Response
AaiUtil aaiUtil = new AaiUtil(this)
- AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegion, groupId).queryParam("resource-version", resourceVersion)
+ AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegion, groupId).resourceVersion(resourceVersion)
def deleteAAIVolumeGrpIdRequest = aaiUtil.createAaiUri(uri)
- if(resourceVersion !=null){
- deleteAAIVolumeGrpIdRequest = deleteAAIVolumeGrpIdRequest +'?resource-version=' + UriUtils.encode(resourceVersion, 'UTF-8')
- }
-
msoLogger.debug("Delete AAI volume group : " + deleteAAIVolumeGrpIdRequest)
APIResponse response = aaiUtil.executeAAIDeleteCall(execution, deleteAAIVolumeGrpIdRequest)
try {
String requestId = execution.getVariable("msoRequestId")
execution.setVariable("prefix", Prefix)
+
+ def rollbackData = execution.getVariable("rollbackData")
+ if (rollbackData == null) {
+ rollbackData = new RollbackData()
+ }
+ execution.setVariable("rollbackData", rollbackData)
setBasicDBAuthHeader(execution, isDebugEnabled)
//Inputs
throw e;
} catch (Exception ex) {
//start rollback set up
- RollbackData rollbackData = new RollbackData()
+ def rollbackData = execution.getVariable("rollbackData")
+ if (rollbackData == null) {
+ rollbackData = new RollbackData()
+ }
def disableRollback = execution.getVariable("disableRollback")
rollbackData.put("SERVICEINSTANCE", "disableRollback", disableRollback.toString())
rollbackData.put("SERVICEINSTANCE", "rollbackAAI", "true")
def sdncRequestId3 = UUID.randomUUID().toString()
String sdncDeactivate = sdncDelete.replace(">delete<", ">deactivate<").replace(">${sdncRequestId2}<", ">${sdncRequestId3}<")
def rollbackData = execution.getVariable("rollbackData")
- rollbackData.put("SERVICEINSTANCE", "sdncDeactivate", sdncDeactivate)
- rollbackData.put("SERVICEINSTANCE", "sdncDelete", sdncDelete)
- execution.setVariable("rollbackData", rollbackData)
+ if (rollbackData != null) {
+ rollbackData.put("SERVICEINSTANCE", "sdncDeactivate", sdncDeactivate)
+ rollbackData.put("SERVICEINSTANCE", "sdncDelete", sdncDelete)
+ execution.setVariable("rollbackData", rollbackData)
- msoLogger.debug("rollbackData:\n" + rollbackData.toString())
+ msoLogger.debug("rollbackData:\n" + rollbackData.toString())
+ }
} catch (BpmnError e) {
throw e;
msoLogger.debug("Good response from SDNC Adapter for service-instance topology assign: \n" + response)
def rollbackData = execution.getVariable("rollbackData")
- rollbackData.put("SERVICEINSTANCE", "rollbackSDNC", "true")
- execution.setVariable("rollbackData", rollbackData)
+ if (rollbackData != null) {
+ rollbackData.put("SERVICEINSTANCE", "rollbackSDNC", "true")
+ execution.setVariable("rollbackData", rollbackData)
+ }
}else{
msoLogger.debug("Bad Response from SDNC Adapter for service-instance assign")
def vfModuleName = execution.getVariable('DCVFM_vfModuleName')
AaiUtil aaiUriUtil = new AaiUtil(this)
- AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.VF_MODULES, vnfId).queryParam("vf-module-name",vfModuleName)
+ AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.VF_MODULE, vnfId).queryParam("vf-module-name",vfModuleName)
String endPoint = aaiUriUtil.createAaiUri(uri)
try {
AaiUtil aaiUtil = new AaiUtil(this)
- AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegion, volumeGroupId).queryParam("resource-version", resourceVersion)
+ AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegion, volumeGroupId).resourceVersion(resourceVersion)
def deleteAAIVolumeGrpIdRequest = aaiUtil.createAaiUri(uri)
msoLogger.debug('Delete AAI volume group : ' + deleteAAIVolumeGrpIdRequest)
AaiUtil aaiUtil = new AaiUtil(this)
- AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegion, groupId).queryParam("resource-version", resourceVersion)
+ AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegion, groupId).resourceVersion(resourceVersion)
def deleteAAIVolumeGrpIdRequest = aaiUtil.createAaiUri(uri)
msoLogger.debug('Delete AAI volume group : ' + deleteAAIVolumeGrpIdRequest)
String returnCode = response.getStatusCode()
String aaiResponseAsString = response.getResponseBodyAsString()
- msoLogger.debug("AAI delete volume group return code: " + returnCode)
- msoLogger.debug("AAI delete volume group response: " + aaiResponseAsString)
msoLogger.debug("AAI delete volume group return code: " + returnCode)
msoLogger.debug("AAI delete volume group response: " + aaiResponseAsString)
def volumeGroupId = execution.getVariable('UPDVfModVol_volumeGroupId')
def aicCloudRegion = execution.getVariable('UPDVfModVol_aicCloudRegion')
def endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) +
- '/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/' + UriUtils.encode(aicCloudRegion, "UTF-8") +
+ '/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/' + UriUtils.encode(aicCloudRegion, "UTF-8") +
'/volume-groups/volume-group/' + UriUtils.encode(volumeGroupId, "UTF-8")
msoLogger.debug('Sending GET to AAI endpoint \'' + endPoint + '\'')
<relationship-list>
<relationship>
<related-to>tenant</related-to>
- <related-link>https://aai-ext1.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn16/tenants/tenant/6accefef3cb442ff9e644d589fb04107</related-link>
+ <related-link>https://aai-ext1.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn16/tenants/tenant/6accefef3cb442ff9e644d589fb04107</related-link>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
</relationship>
<relationship>
<related-to>cloud-region</related-to>
- <related-link>https://aai-ext1.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn16</related-link>
+ <related-link>https://aai-ext1.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn16</related-link>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
<relationship-list>
<relationship>
<related-to>cloud-region</related-to>
- <related-link>https://localhost:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/
+ <related-link>https://localhost:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/
</related-link>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<related-to-property>
<property-key>cloud-region.owner-defined-type</property-key>
</relationship>
<relationship>
<related-to>tenant</related-to>
- <related-link>https://localhost:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant/4ae1d3446a4c48b2bec44b6cfba06d68/</related-link>
+ <related-link>https://localhost:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/tenants/tenant/4ae1d3446a4c48b2bec44b6cfba06d68/</related-link>
<relationship-data>
<relationship-key>tenant.tenant-id</relationship-key>
<relationship-value>4ae1d3446a4c48b2bec44b6cfba06d68
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
when(mockExecution.getVariable("prefix")).thenReturn(Prefix)
when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(expectedvIPRNetworkRequest)
when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:8090")
- // old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+ // old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn("8")
- when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+ when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
//
when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
when(mockExecution.getVariable("prefix")).thenReturn(Prefix)
when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(expectedvIPRNetworkRequest)
when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:8090")
- // old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+ // old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn("8")
- when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+ when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
//
when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
when(mockExecution.getVariable("prefix")).thenReturn(Prefix)
when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(vnfRequestFakeRegion)
when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:8090")
- //old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+ //old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn("8")
- when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+ when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
//
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
</relationship>
<relationship>
<related-to>cloud-region</related-to>
- <related-link>cloud-infrastructure/cloud-regions/cloud-region/att-aic/RDM2WAGPLCP/</related-link>
+ <related-link>cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RDM2WAGPLCP/</related-link>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(expectedNetworkRequest)
when(mockExecution.getVariable(Prefix + "lcpCloudRegion")).thenReturn("RDM2WAGPLCP")
when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:8090")
- // old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+ // old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn("8")
- when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+ when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
when(mockExecution.getVariable("mso.msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(vnfRequestCloudRegionNotFound)
when(mockExecution.getVariable(Prefix + "lcpCloudRegion")).thenReturn("MDTWNJ21")
when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:8090")
- // old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+ // old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn("8")
- when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+ when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
when(mockExecution.getVariable("mso.msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(expectedNetworkRequest)
when(mockExecution.getVariable(Prefix + "lcpCloudRegion")).thenReturn("RDM2WAGPLCP")
when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:8090")
- // old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+ // old: when(mockExecution.getVariable("mso.workflow.default.aai.cloud-infrastructure.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn("8")
- when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+ when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
//
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
<relationship-list>
<relationship>
<related-to>cloud-region</related-to>
- <related-link>https://localhost:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/
+ <related-link>https://localhost:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/
</related-link>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<related-to-property>
<property-key>cloud-region.owner-defined-type</property-key>
</relationship>
<relationship>
<related-to>tenant</related-to>
- <related-link>https://localhost:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant/4ae1d3446a4c48b2bec44b6cfba06d68/</related-link>
+ <related-link>https://localhost:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/tenants/tenant/4ae1d3446a4c48b2bec44b6cfba06d68/</related-link>
<relationship-data>
<relationship-key>tenant.tenant-id</relationship-key>
<relationship-value>4ae1d3446a4c48b2bec44b6cfba06d68
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(expectedNetworkRequest)
when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:8090")
when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn("8")
- when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+ when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
when(mockExecution.getVariable("mso.msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(expectedNetworkRequest)
when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:8090")
when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn("8")
- when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+ when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
when(mockExecution.getVariable("mso.msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(vnfRequestFakeRegion)
when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:8090")
when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn("8")
- when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+ when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/')
when(mockExecution.getVariable("mso.msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7")
ExecutionEntity mockExecution = setupMock()
when(mockExecution.getVariable("prefix")).thenReturn(prefix)
when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
- when(mockExecution.getVariable(prefix + "aicCloudRegion")).thenReturn("att-aic")
+ when(mockExecution.getVariable(prefix + "aicCloudRegion")).thenReturn("CloudOwner")
when(mockExecution.getVariable("mso.workflow.default.aai.v8.cloud-region.uri")).thenReturn("/aai/v8/cloud-infrastructure/cloud-regions/cloud-region")
when(mockExecution.getVariable("mso.workflow.default.aai.cloud-region.version")).thenReturn("8")
when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090")
DoUpdateVfModule obj = new DoUpdateVfModule()
obj.prepConfirmVolumeGroupTenant(mockExecution)
- Mockito.verify(mockExecution).setVariable(prefix + "queryCloudRegionRequest", "http://localhost:28090/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic")
+ Mockito.verify(mockExecution).setVariable(prefix + "queryCloudRegionRequest", "http://localhost:28090/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner")
Mockito.verify(mockExecution).setVariable(prefix + "queryCloudRegionReturnCode", "200")
Mockito.verify(mockExecution).setVariable(prefix + "cloudRegionForVolume", "AAIAIC25")
Mockito.verify(mockExecution).setVariable(prefix + "isCloudRegionGood", true)
}
private static void mockData() {
- stubFor(get(urlMatching(".*/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/att-aic"))
+ stubFor(get(urlMatching(".*/aai/v[0-9]+/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner"))
.willReturn(aResponse()
.withStatus(200).withHeader("Content-Type", "text/xml")
.withBodyFile("DoUpdateVfModule/cloudRegion_AAIResponse_Success.xml")))
{
- "cloud-owner": "att-aic",
+ "cloud-owner": "CloudOwner",
"cloud-region-id": "mdt1",
"cloud-type": "openstack",
"owner-defined-type": "lcp",
{
"related-to": "vserver",
"relationship-label": "tosca.relationships.HostedOn",
- "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/1b3f44e5-d96d-4aac-bd9a-310e8cfb0af5",
+ "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/1b3f44e5-d96d-4aac-bd9a-310e8cfb0af5",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
{
"related-to": "vserver",
"relationship-label": "tosca.relationships.HostedOn",
- "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/14551849-1e70-45cd-bc5d-a256d49548a2",
+ "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/14551849-1e70-45cd-bc5d-a256d49548a2",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
{
"related-to": "vserver",
"relationship-label": "tosca.relationships.HostedOn",
- "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/48bd7f11-408f-417c-b834-b41c1b98f7d7",
+ "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/48bd7f11-408f-417c-b834-b41c1b98f7d7",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
"relationship": [
{
"relatedTo": "vserver",
- "relatedLink": "/aai/v10/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant/8862-tenantl-LB1113/vservers/vserver/8862-Lvserver-LB1113",
+ "relatedLink": "/aai/v10/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/tenants/tenant/8862-tenantl-LB1113/vservers/vserver/8862-Lvserver-LB1113",
"relationshipData": [
{
"relationshipKey": "cloud-region.cloud-owner",
- "relationshipValue": "att-aic"
+ "relationshipValue": "CloudOwner"
},
{
"relationshipKey": "cloud-region.cloud-region-id",
},
{
"related-to": "cloud-region",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "tenant",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "cloud-region",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "tenant",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
{
- "cloud-owner": "att-aic",
+ "cloud-owner": "CloudOwner",
"cloud-region-id": "mtn6",
"cloud-type": "openstack",
"owner-defined-type": "LCP",
{
- "cloud-owner": "att-aic",
+ "cloud-owner": "CloudOwner",
"cloud-region-id": "mtn6",
"cloud-type": "openstack",
"owner-defined-type": "LCP",
{
- "cloud-owner": "att-aic",
+ "cloud-owner": "CloudOwner",
"cloud-region-id": "ERROR",
"cloud-type": "openstack",
"owner-defined-type": "LCP",
{
"related-to": "cloud-region",
"relationship-label": "org.onap.relationships.inventory.Uses",
- "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/DYH1A",
+ "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/DYH1A",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
{
"related-to": "tenant",
"relationship-label": "org.onap.relationships.inventory.Uses",
- "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/DYH1A/tenants/tenant/2871503957144f72b3cf481b379828ec",
+ "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/DYH1A/tenants/tenant/2871503957144f72b3cf481b379828ec",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "cloud-region",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "tenant",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
</relationship>
<relationship>
<related-to>cloud-region</related-to>
- <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6</related-link>
+ <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6</related-link>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
</relationship>
<relationship>
<related-to>tenant</related-to>
- <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
+ <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
},
{
"related-to": "cloud-region",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
</relationship>
<relationship>
<related-to>cloud-region</related-to>
- <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6</related-link>
+ <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6</related-link>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
</relationship>
<relationship>
<related-to>tenant</related-to>
- <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
+ <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
</rest:headers>
<rest:payload contentType="text/xml">
<l3-network xmlns="http://org.openecomp.aai.inventory/v8">
- <cloud-owner>att-aic</cloud-owner>
+ <cloud-owner>CloudOwner</cloud-owner>
<cloud-region-id>RDM2WAGPLCP</cloud-region-id>
<cloud-region-version>2.5</cloud-region-version>
<complex-name>RDM2WAGPLCP</complex-name>
</rest:headers>
<rest:payload contentType="text/xml">
<l3-network xmlns="http://org.openecomp.aai.inventory/v8">
- <cloud-owner>att-aic</cloud-owner>
+ <cloud-owner>CloudOwner</cloud-owner>
<cloud-region-id>RDM2WAGPLCP</cloud-region-id>
<cloud-region-version>3.0</cloud-region-version>
<complex-name>RDM2WAGPLCP</complex-name>
<relationship-list>
<relationship>
<related-to>tenant</related-to>
- <related-link>https://aai-conexus-e2e.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant/396d61752cf04c3b8ca2afcb4ee049e9/</related-link>
+ <related-link>https://aai-conexus-e2e.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/tenants/tenant/396d61752cf04c3b8ca2afcb4ee049e9/</related-link>
<relationship-data>
<relationship-key>tenant.tenant-id</relationship-key>
<relationship-value>396d61752cf04c3b8ca2afcb4ee049e9</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
<relationship-list>
<relationship>
<related-to>tenant</related-to>
- <related-link>https://aai-ext1.test.com:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/e444c311b27a45dc9522f2370d70f90f/</related-link>
+ <related-link>https://aai-ext1.test.com:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/e444c311b27a45dc9522f2370d70f90f/</related-link>
<relationship-data>
<relationship-key>tenant.tenant-id</relationship-key>
<relationship-value>e444c311b27a45dc9522f2370d70f90f</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
</relationship>
<relationship>
<related-to>tenant</related-to>
- <related-link>https://localhost:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
+ <related-link>https://localhost:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
<relationship-data>
<relationship-key>tenant.tenant-id</relationship-key>
<relationship-value>fba1bd1e195a404cacb9ce17a9b2b421</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
</relationship>
<relationship>
<related-to>vf-module</related-to>
- <related-link>https://localhost:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
+ <related-link>https://localhost:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
<relationship-data>
<relationship-key>vf-module.vf-module-id</relationship-key>
<relationship-value>fba1bd1e195a404cacb9ce17a9b2b421</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
</rest:headers>
<rest:payload contentType="text/xml">
<l3-network xmlns="http://org.openecomp.aai.inventory/v8">
- <cloud-owner>att-aic</cloud-owner>
+ <cloud-owner>CloudOwner</cloud-owner>
<cloud-region-id>RDM2WAGPLCP</cloud-region-id>
<cloud-region-version>2.5</cloud-region-version>
<complex-name>RDM2WAGPLCP</complex-name>
</rest:headers>
<rest:payload contentType="text/xml">
<l3-network xmlns="http://org.openecomp.aai.inventory/v8">
- <cloud-owner>att-aic</cloud-owner>
+ <cloud-owner>CloudOwner</cloud-owner>
<cloud-region-id>RDM2WAGPLCP</cloud-region-id>
<cloud-region-version>3.0</cloud-region-version>
<complex-name>RDM2WAGPLCP</complex-name>
</relationship>
<relationship>
<related-to>cloud-region</related-to>
- <related-link>cloud-infrastructure/cloud-regions/cloud-region/att-aic/RDM2WAGPLCP/</related-link>
+ <related-link>cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RDM2WAGPLCP/</related-link>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
</relationship>
<relationship>
<related-to>tenant</related-to>
- <related-link>https://aai-ext1.test.com:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
+ <related-link>https://aai-ext1.test.com:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
<relationship-data>
<relationship-key>tenant.tenant-id</relationship-key>
<relationship-value>fba1bd1e195a404cacb9ce17a9b2b421</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
</rest:headers>
<rest:payload contentType="text/xml">
<l3-network xmlns="http://org.openecomp.aai.inventory/v8">
- <cloud-owner>att-aic</cloud-owner>
+ <cloud-owner>CloudOwner</cloud-owner>
<cloud-region-id>RDM2WAGPLCP</cloud-region-id>
<cloud-region-version>2.5</cloud-region-version>
<complex-name>RDM2WAGPLCP</complex-name>
<generic-vnf-service>
<cloud-region-id>FRN1</cloud-region-id>
<outer-vlan-tag>4027</outer-vlan-tag>
- <cloud-owner>att-aic</cloud-owner>
+ <cloud-owner>CloudOwner</cloud-owner>
<service-ecomp-model-information>
<model-uuid>b73c6911-be64-448a-bb4b-7b7a7006507a</model-uuid>
<model-version>5.0</model-version>
</rest:headers>
<rest:payload contentType="text/xml">
<l3-network xmlns="http://org.openecomp.aai.inventory/v8">
- <cloud-owner>att-aic</cloud-owner>
+ <cloud-owner>CloudOwner</cloud-owner>
<cloud-region-id>RDM2WAGPLCP</cloud-region-id>
<cloud-region-version>2.5</cloud-region-version>
<complex-name>RDM2WAGPLCP</complex-name>
</rest:headers>
<rest:payload contentType="text/xml">
<l3-network xmlns="http://org.openecomp.aai.inventory/v8">
- <cloud-owner>att-aic</cloud-owner>
+ <cloud-owner>CloudOwner</cloud-owner>
<cloud-region-id>RDM2WAGPLCP</cloud-region-id>
<cloud-region-version>2.5</cloud-region-version>
<complex-name>RDM2WAGPLCP</complex-name>
<generic-vnf-service>
<cloud-region-id>FRN1</cloud-region-id>
<outer-vlan-tag>4027</outer-vlan-tag>
- <cloud-owner>att-aic</cloud-owner>
+ <cloud-owner>CloudOwner</cloud-owner>
<service-ecomp-model-information>
<model-uuid>b73c6911-be64-448a-bb4b-7b7a7006507a</model-uuid>
<model-version>5.0</model-version>
<relationship-list>
<relationship>
<related-to>tenant</related-to>
- <related-link>/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
+ <related-link>/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
<relationship-data>
<relationship-key>tenant.tenant-id</relationship-key>
<relationship-value>fba1bd1e195a404cacb9ce17a9b2b421</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
<relationship-list>
<relationship>
<related-to>volume-group</related-to>
- <related-link>https://aai-ext1.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/volume-groups/volume-group/064bd1c6-e377-4009-a744-e958eec6e727/</related-link>
+ <related-link>https://aai-ext1.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/volume-groups/volume-group/064bd1c6-e377-4009-a744-e958eec6e727/</related-link>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
<related-to>volume-group</related-to>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
<related-to>tenant</related-to>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
{
- "cloud-owner": "att-aic",
+ "cloud-owner": "CloudOwner",
"cloud-region-id": "mdt1",
"cloud-type": "openstack",
"owner-defined-type": "lcp",
{
"related-to": "vserver",
"relationship-label": "tosca.relationships.HostedOn",
- "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/1b3f44e5-d96d-4aac-bd9a-310e8cfb0af5",
+ "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/1b3f44e5-d96d-4aac-bd9a-310e8cfb0af5",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
{
"related-to": "vserver",
"relationship-label": "tosca.relationships.HostedOn",
- "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/14551849-1e70-45cd-bc5d-a256d49548a2",
+ "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/14551849-1e70-45cd-bc5d-a256d49548a2",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
{
"related-to": "vserver",
"relationship-label": "tosca.relationships.HostedOn",
- "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/48bd7f11-408f-417c-b834-b41c1b98f7d7",
+ "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn23a/tenants/tenant/e6beab145f6b49098277ac163ac1b4f3/vservers/vserver/48bd7f11-408f-417c-b834-b41c1b98f7d7",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
"relationship": [
{
"relatedTo": "vserver",
- "relatedLink": "/aai/v10/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant/8862-tenantl-LB1113/vservers/vserver/8862-Lvserver-LB1113",
+ "relatedLink": "/aai/v10/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/tenants/tenant/8862-tenantl-LB1113/vservers/vserver/8862-Lvserver-LB1113",
"relationshipData": [
{
"relationshipKey": "cloud-region.cloud-owner",
- "relationshipValue": "att-aic"
+ "relationshipValue": "CloudOwner"
},
{
"relationshipKey": "cloud-region.cloud-region-id",
},
{
"related-to": "cloud-region",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "tenant",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "cloud-region",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "tenant",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
{
- "cloud-owner": "att-aic",
+ "cloud-owner": "CloudOwner",
"cloud-region-id": "mtn6",
"cloud-type": "openstack",
"owner-defined-type": "LCP",
{
- "cloud-owner": "att-aic",
+ "cloud-owner": "CloudOwner",
"cloud-region-id": "mtn6",
"cloud-type": "openstack",
"owner-defined-type": "LCP",
{
- "cloud-owner": "att-aic",
+ "cloud-owner": "CloudOwner",
"cloud-region-id": "ERROR",
"cloud-type": "openstack",
"owner-defined-type": "LCP",
{
"related-to": "cloud-region",
"relationship-label": "org.onap.relationships.inventory.Uses",
- "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/DYH1A",
+ "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/DYH1A",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
{
"related-to": "tenant",
"relationship-label": "org.onap.relationships.inventory.Uses",
- "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/DYH1A/tenants/tenant/2871503957144f72b3cf481b379828ec",
+ "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/DYH1A/tenants/tenant/2871503957144f72b3cf481b379828ec",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "cloud-region",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "tenant",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
</relationship>
<relationship>
<related-to>cloud-region</related-to>
- <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6</related-link>
+ <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6</related-link>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
</relationship>
<relationship>
<related-to>tenant</related-to>
- <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
+ <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
},
{
"related-to": "cloud-region",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
</relationship>
<relationship>
<related-to>cloud-region</related-to>
- <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6</related-link>
+ <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6</related-link>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
</relationship>
<relationship>
<related-to>tenant</related-to>
- <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
+ <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
</rest:headers>
<rest:payload contentType="text/xml">
<l3-network xmlns="http://org.openecomp.aai.inventory/v8">
- <cloud-owner>att-aic</cloud-owner>
+ <cloud-owner>CloudOwner</cloud-owner>
<cloud-region-id>RDM2WAGPLCP</cloud-region-id>
<cloud-region-version>2.5</cloud-region-version>
<complex-name>RDM2WAGPLCP</complex-name>
</rest:headers>
<rest:payload contentType="text/xml">
<l3-network xmlns="http://org.openecomp.aai.inventory/v8">
- <cloud-owner>att-aic</cloud-owner>
+ <cloud-owner>CloudOwner</cloud-owner>
<cloud-region-id>RDM2WAGPLCP</cloud-region-id>
<cloud-region-version>3.0</cloud-region-version>
<complex-name>RDM2WAGPLCP</complex-name>
<relationship-list>
<relationship>
<related-to>tenant</related-to>
- <related-link>https://aai-conexus-e2e.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant/396d61752cf04c3b8ca2afcb4ee049e9/</related-link>
+ <related-link>https://aai-conexus-e2e.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/tenants/tenant/396d61752cf04c3b8ca2afcb4ee049e9/</related-link>
<relationship-data>
<relationship-key>tenant.tenant-id</relationship-key>
<relationship-value>396d61752cf04c3b8ca2afcb4ee049e9</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
<relationship-list>
<relationship>
<related-to>tenant</related-to>
- <related-link>https://aai-ext1.test.com:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/e444c311b27a45dc9522f2370d70f90f/</related-link>
+ <related-link>https://aai-ext1.test.com:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/e444c311b27a45dc9522f2370d70f90f/</related-link>
<relationship-data>
<relationship-key>tenant.tenant-id</relationship-key>
<relationship-value>e444c311b27a45dc9522f2370d70f90f</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
</relationship>
<relationship>
<related-to>tenant</related-to>
- <related-link>https://localhost:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
+ <related-link>https://localhost:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
<relationship-data>
<relationship-key>tenant.tenant-id</relationship-key>
<relationship-value>fba1bd1e195a404cacb9ce17a9b2b421</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
</relationship>
<relationship>
<related-to>vf-module</related-to>
- <related-link>https://localhost:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
+ <related-link>https://localhost:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
<relationship-data>
<relationship-key>vf-module.vf-module-id</relationship-key>
<relationship-value>fba1bd1e195a404cacb9ce17a9b2b421</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
</rest:headers>
<rest:payload contentType="text/xml">
<l3-network xmlns="http://org.openecomp.aai.inventory/v8">
- <cloud-owner>att-aic</cloud-owner>
+ <cloud-owner>CloudOwner</cloud-owner>
<cloud-region-id>RDM2WAGPLCP</cloud-region-id>
<cloud-region-version>2.5</cloud-region-version>
<complex-name>RDM2WAGPLCP</complex-name>
</rest:headers>
<rest:payload contentType="text/xml">
<l3-network xmlns="http://org.openecomp.aai.inventory/v8">
- <cloud-owner>att-aic</cloud-owner>
+ <cloud-owner>CloudOwner</cloud-owner>
<cloud-region-id>RDM2WAGPLCP</cloud-region-id>
<cloud-region-version>3.0</cloud-region-version>
<complex-name>RDM2WAGPLCP</complex-name>
</relationship>
<relationship>
<related-to>cloud-region</related-to>
- <related-link>cloud-infrastructure/cloud-regions/cloud-region/att-aic/RDM2WAGPLCP/</related-link>
+ <related-link>cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RDM2WAGPLCP/</related-link>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
</relationship>
<relationship>
<related-to>tenant</related-to>
- <related-link>https://aai-ext1.test.com:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
+ <related-link>https://aai-ext1.test.com:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
<relationship-data>
<relationship-key>tenant.tenant-id</relationship-key>
<relationship-value>fba1bd1e195a404cacb9ce17a9b2b421</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
</rest:headers>
<rest:payload contentType="text/xml">
<l3-network xmlns="http://org.openecomp.aai.inventory/v8">
- <cloud-owner>att-aic</cloud-owner>
+ <cloud-owner>CloudOwner</cloud-owner>
<cloud-region-id>RDM2WAGPLCP</cloud-region-id>
<cloud-region-version>2.5</cloud-region-version>
<complex-name>RDM2WAGPLCP</complex-name>
<generic-vnf-service>
<cloud-region-id>FRN1</cloud-region-id>
<outer-vlan-tag>4027</outer-vlan-tag>
- <cloud-owner>att-aic</cloud-owner>
+ <cloud-owner>CloudOwner</cloud-owner>
<service-ecomp-model-information>
<model-uuid>b73c6911-be64-448a-bb4b-7b7a7006507a</model-uuid>
<model-version>5.0</model-version>
</rest:headers>
<rest:payload contentType="text/xml">
<l3-network xmlns="http://org.openecomp.aai.inventory/v8">
- <cloud-owner>att-aic</cloud-owner>
+ <cloud-owner>CloudOwner</cloud-owner>
<cloud-region-id>RDM2WAGPLCP</cloud-region-id>
<cloud-region-version>2.5</cloud-region-version>
<complex-name>RDM2WAGPLCP</complex-name>
</rest:headers>
<rest:payload contentType="text/xml">
<l3-network xmlns="http://org.openecomp.aai.inventory/v8">
- <cloud-owner>att-aic</cloud-owner>
+ <cloud-owner>CloudOwner</cloud-owner>
<cloud-region-id>RDM2WAGPLCP</cloud-region-id>
<cloud-region-version>2.5</cloud-region-version>
<complex-name>RDM2WAGPLCP</complex-name>
<generic-vnf-service>
<cloud-region-id>FRN1</cloud-region-id>
<outer-vlan-tag>4027</outer-vlan-tag>
- <cloud-owner>att-aic</cloud-owner>
+ <cloud-owner>CloudOwner</cloud-owner>
<service-ecomp-model-information>
<model-uuid>b73c6911-be64-448a-bb4b-7b7a7006507a</model-uuid>
<model-version>5.0</model-version>
<relationship-list>
<relationship>
<related-to>tenant</related-to>
- <related-link>/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
+ <related-link>/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mdt1/tenants/tenant/fba1bd1e195a404cacb9ce17a9b2b421/</related-link>
<relationship-data>
<relationship-key>tenant.tenant-id</relationship-key>
<relationship-value>fba1bd1e195a404cacb9ce17a9b2b421</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
<relationship-list>
<relationship>
<related-to>volume-group</related-to>
- <related-link>https://aai-ext1.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/volume-groups/volume-group/064bd1c6-e377-4009-a744-e958eec6e727/</related-link>
+ <related-link>https://aai-ext1.test.com:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/volume-groups/volume-group/064bd1c6-e377-4009-a744-e958eec6e727/</related-link>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
<related-to>volume-group</related-to>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
<related-to>tenant</related-to>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
@Component
public class AAIUpdateTasks {
private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, AAIUpdateTasks.class);
+ private static final String MULTI_STAGE_DESIGN_OFF = "false";
+ private static final String MULTI_STAGE_DESIGN_ON = "true";
@Autowired
private AAIServiceInstanceResources aaiServiceInstanceResources;
@Autowired
}
}
+ public void updateOrchestrationStatusAssignedOrPendingActivationVfModule(BuildingBlockExecution execution) {
+ try {
+ VfModule vfModule = extractPojosForBB.extractByKey(execution, ResourceKey.VF_MODULE_ID, execution.getLookupMap().get(ResourceKey.VF_MODULE_ID));
+ vfModule.setHeatStackId("");
+ GenericVnf vnf = extractPojosForBB.extractByKey(execution, ResourceKey.GENERIC_VNF_ID, execution.getLookupMap().get(ResourceKey.GENERIC_VNF_ID));
+ String multiStageDesign = MULTI_STAGE_DESIGN_OFF;
+ if (vnf.getModelInfoGenericVnf() != null) {
+ multiStageDesign = vnf.getModelInfoGenericVnf().getMultiStageDesign();
+ }
+ if (multiStageDesign != null && multiStageDesign.equalsIgnoreCase(MULTI_STAGE_DESIGN_ON)) {
+ aaiVfModuleResources.updateOrchestrationStatusVfModule(vfModule,vnf,OrchestrationStatus.PENDING_ACTIVATION);
+ }
+ else {
+ aaiVfModuleResources.updateOrchestrationStatusVfModule(vfModule,vnf,OrchestrationStatus.ASSIGNED);
+ }
+ } catch (Exception ex) {
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex);
+ }
+ }
+
public void updateOrchestrationStatusCreatedVfModule(BuildingBlockExecution execution) {
try {
VfModule vfModule = extractPojosForBB.extractByKey(execution, ResourceKey.VF_MODULE_ID, execution.getLookupMap().get(ResourceKey.VF_MODULE_ID));
import org.onap.so.bpmn.common.BuildingBlockExecution;
import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey;
import org.onap.so.bpmn.servicedecomposition.tasks.ExtractPojosForBB;
+import org.onap.so.client.exception.BBObjectNotFoundException;
import org.onap.so.client.exception.ExceptionBuilder;
import org.onap.so.client.exception.OrchestrationStatusValidationException;
import org.onap.so.db.catalog.beans.BuildingBlockDetail;
+import org.onap.so.db.catalog.beans.OrchestrationAction;
import org.onap.so.db.catalog.beans.OrchestrationStatus;
import org.onap.so.db.catalog.beans.OrchestrationStatusStateTransitionDirective;
import org.onap.so.db.catalog.beans.OrchestrationStatusValidationDirective;
+import org.onap.so.db.catalog.beans.ResourceType;
import org.onap.so.db.catalog.client.CatalogDbClient;
import org.onap.so.logger.MsoLogger;
import org.springframework.beans.factory.annotation.Autowired;
private static final String UNKNOWN_RESOURCE_TYPE = "Building Block (%s) not set up correctly in Orchestration_Status_Validation table in CatalogDB. ResourceType=(%s), TargetAction=(%s)";
private static final String ORCHESTRATION_VALIDATION_FAIL = "Orchestration Status Validation failed. ResourceType=(%s), TargetAction=(%s), OrchestrationStatus=(%s)";
private static final String ORCHESTRATION_STATUS_VALIDATION_RESULT = "orchestrationStatusValidationResult";
+ private static final String MULTI_STAGE_DESIGN_OFF = "false";
+ private static final String MULTI_STAGE_DESIGN_ON = "true";
@Autowired
public void validateOrchestrationStatus(BuildingBlockExecution execution) {
try {
+ OrchestrationStatusValidationDirective previousOrchestrationStatusValidationResult = execution.getVariable(ORCHESTRATION_STATUS_VALIDATION_RESULT);
+
execution.setVariable(ORCHESTRATION_STATUS_VALIDATION_RESULT, null);
- String buildingBlockFlowName = (String) execution.getVariable("flowToBeCalled");
+ String buildingBlockFlowName = execution.getFlowToBeCalled();
BuildingBlockDetail buildingBlockDetail = catalogDbClient.getBuildingBlockDetail(buildingBlockFlowName);
}
OrchestrationStatusStateTransitionDirective orchestrationStatusStateTransitionDirective = catalogDbClient.getOrchestrationStatusStateTransitionDirective(buildingBlockDetail.getResourceType(), orchestrationStatus, buildingBlockDetail.getTargetAction());
+ if(ResourceType.VF_MODULE.equals(buildingBlockDetail.getResourceType()) && OrchestrationAction.CREATE.equals(buildingBlockDetail.getTargetAction()) &&
+ OrchestrationStatus.PENDING_ACTIVATION.equals(orchestrationStatus)) {
+ org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf genericVnf = extractPojosForBB.extractByKey(execution, ResourceKey.GENERIC_VNF_ID, execution.getLookupMap().get(ResourceKey.GENERIC_VNF_ID));
+ orchestrationStatusStateTransitionDirective = processPossibleSecondStageofVfModuleCreate(execution, previousOrchestrationStatusValidationResult,
+ genericVnf, orchestrationStatusStateTransitionDirective);
+ }
+
if (orchestrationStatusStateTransitionDirective.getFlowDirective() == OrchestrationStatusValidationDirective.FAIL) {
throw new OrchestrationStatusValidationException(String.format(ORCHESTRATION_VALIDATION_FAIL, buildingBlockDetail.getResourceType(), buildingBlockDetail.getTargetAction(), orchestrationStatus));
}
execution.setVariable(ORCHESTRATION_STATUS_VALIDATION_RESULT, orchestrationStatusStateTransitionDirective.getFlowDirective());
- } catch (Exception e) {
+ }catch(BBObjectNotFoundException ex){
+ if(execution.getFlowToBeCalled().contains("Unassign")){
+ execution.setVariable(ORCHESTRATION_STATUS_VALIDATION_RESULT, OrchestrationStatusValidationDirective.SILENT_SUCCESS);
+ }else{
+ exceptionBuilder.buildAndThrowWorkflowException(execution, 7000, ex);
+ }
+ }catch (Exception e) {
exceptionBuilder.buildAndThrowWorkflowException(execution, 7000, e);
}
}
+
+ private OrchestrationStatusStateTransitionDirective processPossibleSecondStageofVfModuleCreate(BuildingBlockExecution execution, OrchestrationStatusValidationDirective previousOrchestrationStatusValidationResult,
+ org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf genericVnf, OrchestrationStatusStateTransitionDirective orchestrationStatusStateTransitionDirective) {
+ if (previousOrchestrationStatusValidationResult != null && previousOrchestrationStatusValidationResult.equals(OrchestrationStatusValidationDirective.SILENT_SUCCESS)) {
+ String multiStageDesign = "false";
+ if (genericVnf.getModelInfoGenericVnf() != null) {
+ multiStageDesign = genericVnf.getModelInfoGenericVnf().getMultiStageDesign();
+ }
+ if (multiStageDesign != null && multiStageDesign.equalsIgnoreCase("true")) {
+ orchestrationStatusStateTransitionDirective.setFlowDirective(OrchestrationStatusValidationDirective.CONTINUE);
+ }
+ }
+ return orchestrationStatusStateTransitionDirective;
+ }
}
execution.setVariable("homing", true);
execution.setVariable("callHoming", true);
execution.setVariable("homingSolution", params.get(HOMINGSOLUTION));
+ execution.setVariable("homingService", params.get(HOMINGSOLUTION));
}
}
}
import org.onap.so.bpmn.servicedecomposition.bbobjects.Subnet;
import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup;
+import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoGenericVnf;
import org.onap.so.db.catalog.beans.OrchestrationStatus;
import org.springframework.beans.factory.annotation.Autowired;
aaiUpdateTasks.updateOrchestrationStatusAssignedVfModule(execution);
}
+ @Test
+ public void updateOrchestrationStatusAssignedOrPendingActivationVfModuleNoMultiStageTest() throws Exception {
+ ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
+ modelInfoGenericVnf.setMultiStageDesign("false");
+ genericVnf.setModelInfoGenericVnf(modelInfoGenericVnf);
+ doNothing().when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.ASSIGNED);
+ aaiUpdateTasks.updateOrchestrationStatusAssignedOrPendingActivationVfModule(execution);
+ verify(aaiVfModuleResources, times(1)).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.ASSIGNED);
+ assertEquals("", vfModule.getHeatStackId());
+ }
+
+ @Test
+ public void updateOrchestrationStatusAssignedOrPendingActivationVfModuleWithMultiStageTest() throws Exception {
+ ModelInfoGenericVnf modelInfoGenericVnf = new ModelInfoGenericVnf();
+ modelInfoGenericVnf.setMultiStageDesign("true");
+ genericVnf.setModelInfoGenericVnf(modelInfoGenericVnf);
+ doNothing().when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.PENDING_ACTIVATION);
+ aaiUpdateTasks.updateOrchestrationStatusAssignedOrPendingActivationVfModule(execution);
+ verify(aaiVfModuleResources, times(1)).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.PENDING_ACTIVATION);
+ assertEquals("", vfModule.getHeatStackId());
+ }
+
+ @Test
+ public void updateOrchestrationStatusAssignedOrPendingActivationVfModuleExceptionTest() throws Exception {
+ doThrow(Exception.class).when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.ASSIGNED);
+
+ expectedException.expect(BpmnError.class);
+
+ aaiUpdateTasks.updateOrchestrationStatusAssignedOrPendingActivationVfModule(execution);
+ }
+
@Test
public void updateOrchestrationStatusCreatedVfModuleTest() throws Exception {
doNothing().when(aaiVfModuleResources).updateOrchestrationStatusVfModule(vfModule, genericVnf, OrchestrationStatus.CREATED);
import static org.mockito.Mockito.doReturn;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import org.camunda.bpm.engine.delegate.BpmnError;
import org.junit.Test;
import org.onap.so.bpmn.BaseTaskTest;
import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey;
+import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoGenericVnf;
import org.onap.so.db.catalog.beans.BuildingBlockDetail;
import org.onap.so.db.catalog.beans.OrchestrationAction;
import org.onap.so.db.catalog.beans.OrchestrationStatus;
orchestrationStatusValidator.validateOrchestrationStatus(execution);
}
+
+ @Test
+ public void test_validateOrchestrationStatus_unassignNotFound() throws Exception{
+ String flowToBeCalled = "UnassignServiceInstanceBB";
+
+ execution.setVariable("flowToBeCalled", flowToBeCalled);
+
+ BuildingBlockDetail buildingBlockDetail = new BuildingBlockDetail();
+ buildingBlockDetail.setBuildingBlockName("UnassignServiceInstanceBB");
+ buildingBlockDetail.setId(1);
+ buildingBlockDetail.setResourceType(ResourceType.SERVICE);
+ buildingBlockDetail.setTargetAction(OrchestrationAction.UNASSIGN);
+
+ doReturn(buildingBlockDetail).when(catalogDbClient).getBuildingBlockDetail(flowToBeCalled);
+
+ lookupKeyMap = new HashMap<ResourceKey, String>();
+
+ orchestrationStatusValidator.validateOrchestrationStatus(execution);
+
+ assertEquals(OrchestrationStatusValidationDirective.SILENT_SUCCESS,execution.getVariable("orchestrationStatusValidationResult"));
+ }
+
+ @Test
+ public void test_validateOrchestrationStatusSecondStageOfMultiStageEnabledVfModule() throws Exception {
+ String flowToBeCalled = "CreateVfModuleBB";
+
+ execution.setVariable("orchestrationStatusValidationResult", OrchestrationStatusValidationDirective.SILENT_SUCCESS);
+
+ execution.setVariable("flowToBeCalled", flowToBeCalled);
+
+ GenericVnf genericVnf = buildGenericVnf();
+ ModelInfoGenericVnf modelInfoGenericVnf = genericVnf.getModelInfoGenericVnf();
+ modelInfoGenericVnf.setMultiStageDesign("true");
+ setGenericVnf().setModelInfoGenericVnf(modelInfoGenericVnf);
+ setVfModule().setOrchestrationStatus(OrchestrationStatus.PENDING_ACTIVATION);
+
+ BuildingBlockDetail buildingBlockDetail = new BuildingBlockDetail();
+ buildingBlockDetail.setBuildingBlockName("CreateVfModuleBB");
+ buildingBlockDetail.setId(1);
+ buildingBlockDetail.setResourceType(ResourceType.VF_MODULE);
+ buildingBlockDetail.setTargetAction(OrchestrationAction.CREATE);
+
+ doReturn(buildingBlockDetail).when(catalogDbClient).getBuildingBlockDetail(flowToBeCalled);
+
+ OrchestrationStatusStateTransitionDirective orchestrationStatusStateTransitionDirective = new OrchestrationStatusStateTransitionDirective();
+ orchestrationStatusStateTransitionDirective.setFlowDirective(OrchestrationStatusValidationDirective.FAIL);
+ orchestrationStatusStateTransitionDirective.setId(1);
+ orchestrationStatusStateTransitionDirective.setOrchestrationStatus(OrchestrationStatus.PENDING_ACTIVATION);
+ orchestrationStatusStateTransitionDirective.setResourceType(ResourceType.VF_MODULE);
+ orchestrationStatusStateTransitionDirective.setTargetAction(OrchestrationAction.CREATE);
+
+ doReturn(orchestrationStatusStateTransitionDirective).when(catalogDbClient).getOrchestrationStatusStateTransitionDirective(ResourceType.VF_MODULE, OrchestrationStatus.PENDING_ACTIVATION, OrchestrationAction.CREATE);
+
+ orchestrationStatusValidator.validateOrchestrationStatus(execution);
+
+ assertEquals(OrchestrationStatusValidationDirective.CONTINUE, execution.getVariable("orchestrationStatusValidationResult"));
+ }
+
+
+ @Test
+ public void test_validateOrchestrationStatusSecondStageOfMultiStageWrongPrevStatusVfModule() throws Exception {
+ String flowToBeCalled = "CreateVfModuleBB";
+
+ execution.setVariable("orchestrationStatusValidationResult", OrchestrationStatusValidationDirective.CONTINUE);
+
+ execution.setVariable("flowToBeCalled", flowToBeCalled);
+
+ GenericVnf genericVnf = buildGenericVnf();
+ ModelInfoGenericVnf modelInfoGenericVnf = genericVnf.getModelInfoGenericVnf();
+ modelInfoGenericVnf.setMultiStageDesign("true");
+ setGenericVnf().setModelInfoGenericVnf(modelInfoGenericVnf);
+ setVfModule().setOrchestrationStatus(OrchestrationStatus.PENDING_ACTIVATION);
+
+ BuildingBlockDetail buildingBlockDetail = new BuildingBlockDetail();
+ buildingBlockDetail.setBuildingBlockName("CreateVfModuleBB");
+ buildingBlockDetail.setId(1);
+ buildingBlockDetail.setResourceType(ResourceType.VF_MODULE);
+ buildingBlockDetail.setTargetAction(OrchestrationAction.CREATE);
+
+ doReturn(buildingBlockDetail).when(catalogDbClient).getBuildingBlockDetail(flowToBeCalled);
+
+ OrchestrationStatusStateTransitionDirective orchestrationStatusStateTransitionDirective = new OrchestrationStatusStateTransitionDirective();
+ orchestrationStatusStateTransitionDirective.setFlowDirective(OrchestrationStatusValidationDirective.SILENT_SUCCESS);
+ orchestrationStatusStateTransitionDirective.setId(1);
+ orchestrationStatusStateTransitionDirective.setOrchestrationStatus(OrchestrationStatus.PENDING_ACTIVATION);
+ orchestrationStatusStateTransitionDirective.setResourceType(ResourceType.VF_MODULE);
+ orchestrationStatusStateTransitionDirective.setTargetAction(OrchestrationAction.CREATE);
+
+ doReturn(orchestrationStatusStateTransitionDirective).when(catalogDbClient).getOrchestrationStatusStateTransitionDirective(ResourceType.VF_MODULE, OrchestrationStatus.PENDING_ACTIVATION, OrchestrationAction.CREATE);
+
+ orchestrationStatusValidator.validateOrchestrationStatus(execution);
+
+ assertEquals(OrchestrationStatusValidationDirective.SILENT_SUCCESS, execution.getVariable("orchestrationStatusValidationResult"));
+ }
+
+ @Test
+ public void test_validateOrchestrationStatusSecondStageOfMultiStageDisabledVfModule() throws Exception {
+ String flowToBeCalled = "CreateVfModuleBB";
+
+ execution.setVariable("orchestrationStatusValidationResult", OrchestrationStatusValidationDirective.SILENT_SUCCESS);
+
+ execution.setVariable("flowToBeCalled", flowToBeCalled);
+
+ GenericVnf genericVnf = buildGenericVnf();
+ ModelInfoGenericVnf modelInfoGenericVnf = genericVnf.getModelInfoGenericVnf();
+ modelInfoGenericVnf.setMultiStageDesign("false");
+ setGenericVnf().setModelInfoGenericVnf(modelInfoGenericVnf);
+ setVfModule().setOrchestrationStatus(OrchestrationStatus.PENDING_ACTIVATION);
+
+ BuildingBlockDetail buildingBlockDetail = new BuildingBlockDetail();
+ buildingBlockDetail.setBuildingBlockName("CreateVfModuleBB");
+ buildingBlockDetail.setId(1);
+ buildingBlockDetail.setResourceType(ResourceType.VF_MODULE);
+ buildingBlockDetail.setTargetAction(OrchestrationAction.CREATE);
+
+ doReturn(buildingBlockDetail).when(catalogDbClient).getBuildingBlockDetail(flowToBeCalled);
+
+ OrchestrationStatusStateTransitionDirective orchestrationStatusStateTransitionDirective = new OrchestrationStatusStateTransitionDirective();
+ orchestrationStatusStateTransitionDirective.setFlowDirective(OrchestrationStatusValidationDirective.SILENT_SUCCESS);
+ orchestrationStatusStateTransitionDirective.setId(1);
+ orchestrationStatusStateTransitionDirective.setOrchestrationStatus(OrchestrationStatus.PENDING_ACTIVATION);
+ orchestrationStatusStateTransitionDirective.setResourceType(ResourceType.VF_MODULE);
+ orchestrationStatusStateTransitionDirective.setTargetAction(OrchestrationAction.CREATE);
+
+ doReturn(orchestrationStatusStateTransitionDirective).when(catalogDbClient).getOrchestrationStatusStateTransitionDirective(ResourceType.VF_MODULE, OrchestrationStatus.PENDING_ACTIVATION, OrchestrationAction.CREATE);
+
+ orchestrationStatusValidator.validateOrchestrationStatus(execution);
+
+ assertEquals(OrchestrationStatusValidationDirective.SILENT_SUCCESS, execution.getVariable("orchestrationStatusValidationResult"));
+ }
+
+ @Test
+ public void test_validateOrchestrationStatusSecondStageOfMultiStageWrongOrchStatusVfModule() throws Exception {
+ String flowToBeCalled = "CreateVfModuleBB";
+
+ execution.setVariable("orchestrationStatusValidationResult", OrchestrationStatusValidationDirective.SILENT_SUCCESS);
+
+ execution.setVariable("flowToBeCalled", flowToBeCalled);
+
+ GenericVnf genericVnf = buildGenericVnf();
+ ModelInfoGenericVnf modelInfoGenericVnf = genericVnf.getModelInfoGenericVnf();
+ modelInfoGenericVnf.setMultiStageDesign("true");
+ setGenericVnf().setModelInfoGenericVnf(modelInfoGenericVnf);
+ setVfModule().setOrchestrationStatus(OrchestrationStatus.ASSIGNED);
+
+ BuildingBlockDetail buildingBlockDetail = new BuildingBlockDetail();
+ buildingBlockDetail.setBuildingBlockName("CreateVfModuleBB");
+ buildingBlockDetail.setId(1);
+ buildingBlockDetail.setResourceType(ResourceType.VF_MODULE);
+ buildingBlockDetail.setTargetAction(OrchestrationAction.CREATE);
+
+ doReturn(buildingBlockDetail).when(catalogDbClient).getBuildingBlockDetail(flowToBeCalled);
+
+ OrchestrationStatusStateTransitionDirective orchestrationStatusStateTransitionDirective = new OrchestrationStatusStateTransitionDirective();
+ orchestrationStatusStateTransitionDirective.setFlowDirective(OrchestrationStatusValidationDirective.SILENT_SUCCESS);
+ orchestrationStatusStateTransitionDirective.setId(1);
+ orchestrationStatusStateTransitionDirective.setOrchestrationStatus(OrchestrationStatus.PENDING_ACTIVATION);
+ orchestrationStatusStateTransitionDirective.setResourceType(ResourceType.VF_MODULE);
+ orchestrationStatusStateTransitionDirective.setTargetAction(OrchestrationAction.CREATE);
+
+ doReturn(orchestrationStatusStateTransitionDirective).when(catalogDbClient).getOrchestrationStatusStateTransitionDirective(ResourceType.VF_MODULE, OrchestrationStatus.ASSIGNED, OrchestrationAction.CREATE);
+
+ orchestrationStatusValidator.validateOrchestrationStatus(execution);
+
+ assertEquals(OrchestrationStatusValidationDirective.SILENT_SUCCESS, execution.getVariable("orchestrationStatusValidationResult"));
+ }
+
+ @Test
+ public void test_validateOrchestrationStatusSecondStageOfMultiStageWrongTargetActionVfModule() throws Exception {
+ String flowToBeCalled = "CreateVfModuleBB";
+
+ execution.setVariable("orchestrationStatusValidationResult", OrchestrationStatusValidationDirective.SILENT_SUCCESS);
+
+ execution.setVariable("flowToBeCalled", flowToBeCalled);
+
+ GenericVnf genericVnf = buildGenericVnf();
+ ModelInfoGenericVnf modelInfoGenericVnf = genericVnf.getModelInfoGenericVnf();
+ modelInfoGenericVnf.setMultiStageDesign("true");
+ setGenericVnf().setModelInfoGenericVnf(modelInfoGenericVnf);
+ setVfModule().setOrchestrationStatus(OrchestrationStatus.PENDING_ACTIVATION);
+
+ BuildingBlockDetail buildingBlockDetail = new BuildingBlockDetail();
+ buildingBlockDetail.setBuildingBlockName("CreateVfModuleBB");
+ buildingBlockDetail.setId(1);
+ buildingBlockDetail.setResourceType(ResourceType.VF_MODULE);
+ buildingBlockDetail.setTargetAction(OrchestrationAction.ACTIVATE);
+
+ doReturn(buildingBlockDetail).when(catalogDbClient).getBuildingBlockDetail(flowToBeCalled);
+
+ OrchestrationStatusStateTransitionDirective orchestrationStatusStateTransitionDirective = new OrchestrationStatusStateTransitionDirective();
+ orchestrationStatusStateTransitionDirective.setFlowDirective(OrchestrationStatusValidationDirective.SILENT_SUCCESS);
+ orchestrationStatusStateTransitionDirective.setId(1);
+ orchestrationStatusStateTransitionDirective.setOrchestrationStatus(OrchestrationStatus.PENDING_ACTIVATION);
+ orchestrationStatusStateTransitionDirective.setResourceType(ResourceType.VF_MODULE);
+ orchestrationStatusStateTransitionDirective.setTargetAction(OrchestrationAction.ACTIVATE);
+
+ doReturn(orchestrationStatusStateTransitionDirective).when(catalogDbClient).getOrchestrationStatusStateTransitionDirective(ResourceType.VF_MODULE, OrchestrationStatus.PENDING_ACTIVATION, OrchestrationAction.ACTIVATE);
+
+ orchestrationStatusValidator.validateOrchestrationStatus(execution);
+
+ assertEquals(OrchestrationStatusValidationDirective.SILENT_SUCCESS, execution.getVariable("orchestrationStatusValidationResult"));
+ }
}
},
{
"related-to": "cloud-region",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "tenant",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "cloud-region",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "tenant",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
{
- "cloud-owner": "att-aic",
+ "cloud-owner": "CloudOwner",
"cloud-region-id": "mtn6",
"cloud-type": "openstack",
"owner-defined-type": "LCP",
{
- "cloud-owner": "att-aic",
+ "cloud-owner": "CloudOwner",
"cloud-region-id": "mtn6",
"cloud-type": "openstack",
"owner-defined-type": "LCP",
{
- "cloud-owner": "att-aic",
+ "cloud-owner": "CloudOwner",
"cloud-region-id": "ERROR",
"cloud-type": "openstack",
"owner-defined-type": "LCP",
{
"related-to": "cloud-region",
"relationship-label": "org.onap.relationships.inventory.Uses",
- "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/DYH1A",
+ "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/DYH1A",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
{
"related-to": "tenant",
"relationship-label": "org.onap.relationships.inventory.Uses",
- "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/DYH1A/tenants/tenant/2871503957144f72b3cf481b379828ec",
+ "related-link": "/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/DYH1A/tenants/tenant/2871503957144f72b3cf481b379828ec",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "cloud-region",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "tenant",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
</relationship>
<relationship>
<related-to>cloud-region</related-to>
- <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6</related-link>
+ <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6</related-link>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
</relationship>
<relationship>
<related-to>tenant</related-to>
- <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
+ <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
},
{
"related-to": "cloud-region",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
</relationship>
<relationship>
<related-to>cloud-region</related-to>
- <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6</related-link>
+ <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6</related-link>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
</relationship>
<relationship>
<related-to>tenant</related-to>
- <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
+ <related-link>/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8</related-link>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
},
"cloudRegion" : {
"lcp-cloud-region-id" : "DYH1A",
- "cloud-owner" : "att-aic",
+ "cloud-owner" : "CloudOwner",
"tenant-id" : "7f3db563322146a688601ade1294a749",
"complex" : "c1",
"cloud-region-version" : "aic3.0"
{
"related-to": "cloud-region",
"relationship-label": "org.onap.relationships.inventory.Uses",
- "related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/att-aic/DYH1A",
+ "related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/DYH1A",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
{
"related-to": "tenant",
"relationship-label": "org.onap.relationships.inventory.Uses",
- "related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/att-aic/DYH1A/tenants/tenant/7f3db563322146a688601ade1294a749",
+ "related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/DYH1A/tenants/tenant/7f3db563322146a688601ade1294a749",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "cloud-region",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "tenant",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtn6/tenants/tenant/0422ffb57ba042c0800a29dc85ca70f8",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
{
- "cloud-owner": "att-aic",
+ "cloud-owner": "CloudOwner",
"cloud-region-id": "mtn6",
"cloud-type": "openstack",
"owner-defined-type": "LCP",
"assignmentInfo": [
{
"variableName": "cloudOwner",
- "variableValue": "att-aic"
+ "variableValue": "CloudOwner"
},
{
"variableName": "vnfHostName",
<related-to>volume-group</related-to>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
<related-to>tenant</related-to>
<relationship-data>
<relationship-key>cloud-region.cloud-owner</relationship-key>
- <relationship-value>att-aic</relationship-value>
+ <relationship-value>CloudOwner</relationship-value>
</relationship-data>
<relationship-data>
<relationship-key>cloud-region.cloud-region-id</relationship-key>
<artifactId>logging-slf4j</artifactId>
<version>1.2.2</version>
</dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-test</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
<resources>
<include>**/*.java</include>
</includes>
</resource>
- </resources>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>default-test</id>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <includes>
+ <include>**/NonSpringSuite.java</include>
+ </includes>
+ </configuration>
+ </execution>
+ <execution>
+ <id>spring-tests</id>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <includes>
+ <include>**/SpringSuite.java</include>
+ </includes>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
</build>
</project>
package org.onap.so.constants;
+import java.util.Optional;
+
+import org.onap.so.spring.SpringContextHelper;
+import org.springframework.context.ApplicationContext;
+
public enum Defaults {
- CLOUD_OWNER("att-aic");
-
-
- private final String value;
+ CLOUD_OWNER("org.onap.so.cloud-owner", "CloudOwner");
- private Defaults(String value) {
- this.value = value;
+ private final String propName;
+ private final String defaultValue;
+
+ private Defaults(String propName, String defaultValue) {
+ this.defaultValue = defaultValue;
+ this.propName = propName;
}
@Override
public String toString() {
- return this.value;
+ Optional<ApplicationContext> context = getAppContext();
+ if (context.isPresent()) {
+ return context.get().getEnvironment().getProperty(this.propName, this.defaultValue);
+ } else {
+ return this.defaultValue;
+ }
+
+ }
+
+ protected Optional<ApplicationContext> getAppContext() {
+ return Optional.ofNullable(SpringContextHelper.getAppContext());
}
}
configuration,
connectionPoint,
pnf,
- networkCollection
+ networkInstanceGroup
}
* ============LICENSE_END=========================================================
*/
-package org.onap.so.bpmn.common;
+package org.onap.so.spring;
-import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
private static ApplicationContext context;
@Override
- public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+ public void setApplicationContext(ApplicationContext applicationContext) {
context = applicationContext;
}
* ============LICENSE_START=======================================================
* ONAP - SO
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 - 2018 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* ============LICENSE_END=========================================================
*/
-package org.onap.so.asdc.tenantIsolation;
+package org.onap.so;
-import org.springframework.beans.BeansException;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.ApplicationContextAware;
-import org.springframework.stereotype.Component;
+import org.junit.runner.RunWith;
+import org.onap.so.test.categories.SpringAware;
-@Component
-public class SpringContextHelper implements ApplicationContextAware {
+import com.googlecode.junittoolbox.ExcludeCategories;
+import com.googlecode.junittoolbox.SuiteClasses;
+import com.googlecode.junittoolbox.WildcardPatternSuite;
- private static ApplicationContext context;
+@RunWith(WildcardPatternSuite.class)
+@ExcludeCategories({SpringAware.class})
+@SuiteClasses({"**/*Test.class"})
+public class NonSpringSuite {
- @Override
- public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
- context = applicationContext;
- }
-
- public static ApplicationContext getAppContext() {
- return context;
- }
}
* ============LICENSE_START=======================================================
* ONAP - SO
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Modifications Copyright (C) 2018 IBM.
+ * Copyright (C) 2017 - 2018 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* ============LICENSE_END=========================================================
*/
-package org.onap.so.apihandlerinfra;
-
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.ApplicationContextAware;
-import org.springframework.stereotype.Component;
+package org.onap.so;
-@Component
-public class SpringContextHelper implements ApplicationContextAware {
+import org.junit.runner.RunWith;
+import org.onap.so.test.categories.SpringAware;
- private static ApplicationContext context;
+import com.googlecode.junittoolbox.IncludeCategories;
+import com.googlecode.junittoolbox.SuiteClasses;
+import com.googlecode.junittoolbox.WildcardPatternSuite;
- @Override
- public void setApplicationContext(ApplicationContext applicationContext) {
- context = applicationContext;
- }
+@RunWith(WildcardPatternSuite.class)
+@IncludeCategories({SpringAware.class})
+@SuiteClasses({"**/*Test.class"})
+public class SpringSuite {
- public static ApplicationContext getAppContext() {
- return context;
- }
}
--- /dev/null
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.constants;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+import org.onap.so.spring.SpringContextHelper;
+import org.onap.so.test.categories.SpringAware;
+import org.springframework.boot.test.context.ConfigFileApplicationContextInitializer;
+import org.springframework.test.context.ActiveProfiles;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@ContextConfiguration(classes = SpringContextHelper.class, initializers = ConfigFileApplicationContextInitializer.class)
+@ActiveProfiles("test")
+@Category(SpringAware.class)
+public class DefaultsTest {
+
+ @Test
+ public void checkValue() {
+
+ assertEquals("CloudOwner", Defaults.CLOUD_OWNER.toString());
+ }
+}
cloudConfiguration.setLcpCloudRegionId("myRegionId");
ObjectMapper mapper = new ObjectMapper();
- assertEquals("{\"cloudOwner\":\"att-aic\",\"lcpCloudRegionId\":\"myRegionId\"}", mapper.writeValueAsString(cloudConfiguration));
+ assertEquals("{\"cloudOwner\":\"CloudOwner\",\"lcpCloudRegionId\":\"myRegionId\"}", mapper.writeValueAsString(cloudConfiguration));
}
--- /dev/null
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.test.categories;
+
+public interface SpringAware {
+ /* category marker */
+}
},
{
"related-to": "cloud-region",
- "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/mtcnj2",
+ "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mtcnj2",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "oam-network",
- "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/oam-networks/oam-network/f9263cat-4eaa-43a0-bea4-adcf6e123456",
+ "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/oam-networks/oam-network/f9263cat-4eaa-43a0-bea4-adcf6e123456",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "oam-network",
- "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/oam-networks/oam-network/b9263fab-4eaa-43a0-bea4-adcf6e999999",
+ "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/oam-networks/oam-network/b9263fab-4eaa-43a0-bea4-adcf6e999999",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "oam-network",
- "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/oam-networks/oam-network/cf33dc95-c5d2-48fd-8078-fd949363f63b",
+ "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/oam-networks/oam-network/cf33dc95-c5d2-48fd-8078-fd949363f63b",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
},
{
"related-to": "availability-zone",
- "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/availability-zones/availability-zone/mtcnj-esx-az01",
+ "related-link": "https://localhost:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/AAIAIC25/availability-zones/availability-zone/mtcnj-esx-az01",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "att-aic"
+ "relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
--- /dev/null
+org:
+ onap:
+ so:
+ cloud-owner: CloudOwner
\ No newline at end of file
import java.net.MalformedURLException;
import java.net.URL;
-import org.onap.so.apihandlerinfra.SpringContextHelper;
import org.onap.so.client.aai.AAIProperties;
import org.onap.so.client.aai.AAIVersion;
+import org.onap.so.spring.SpringContextHelper;
import org.springframework.context.ApplicationContext;
public class AaiClientPropertiesImpl implements AAIProperties {
import javax.ws.rs.core.MediaType;
-import org.onap.so.apihandlerinfra.SpringContextHelper;
import org.onap.so.client.grm.GRMProperties;
+import org.onap.so.spring.SpringContextHelper;
import org.springframework.context.ApplicationContext;
public class GrmClientPropertiesImpl implements GRMProperties {
import java.util.HashMap;
import java.util.Map;
-import org.onap.so.apihandlerinfra.SpringContextHelper;
import org.onap.so.client.dmaap.DmaapProperties;
+import org.onap.so.spring.SpringContextHelper;
import org.springframework.context.ApplicationContext;
public class DmaapPropertiesImpl implements DmaapProperties {
if(!( relatedInstanceModelInfo.getModelType().equals(ModelType.volumeGroup) ||
relatedInstanceModelInfo.getModelType().equals(ModelType.connectionPoint) ||
relatedInstanceModelInfo.getModelType().equals(ModelType.pnf) ||
- relatedInstanceModelInfo.getModelType().equals(ModelType.networkCollection))) {
+ relatedInstanceModelInfo.getModelType().equals(ModelType.networkInstanceGroup))) {
if(empty (relatedInstanceModelInfo.getModelInvariantId ())) {
throw new ValidationException ("modelInvariantId in relatedInstance");
RequestError realResponse = mapper.readValue(response.getBody(), RequestError.class);
assertEquals("Unable to save instance to db due to error contacting requestDb: org.springframework.web.client.HttpServerErrorException: 500 Server Error", realResponse.getServiceException().getText());
}
+ @Test
+ public void vnfUpdateWithNetworkInstanceGroup() throws IOException{
+ stubFor(post(urlPathEqualTo("/mso/async/services/WorkflowActionBB"))
+ .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+ .withBodyFile("Camunda/TestResponse.json").withStatus(org.apache.http.HttpStatus.SC_OK)));
+
+ stubFor(get(urlMatching(".*/vnfResourceCustomization/2ccae1b4-7d9e-46fa-a452-9180ce008d17"))
+ .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+ .withBody(getWiremockResponseForCatalogdb("vnfResourceCustomization_Response.json"))
+ .withStatus(org.apache.http.HttpStatus.SC_OK)));
+
+ stubFor(get(urlMatching(".*/vnfResourceCustomization/68dc9a92-214c-11e7-93ae-92361f002674/vnfResources"))
+ .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+ .withBody(getWiremockResponseForCatalogdb("vnfResources_Response.json"))
+ .withStatus(org.apache.http.HttpStatus.SC_OK)));
+
+ stubFor(get(urlMatching(".*/vnfRecipe/search/findFirstVnfRecipeByNfRoleAndAction" +
+ "[?]nfRole=GR-API-DEFAULT&action=updateInstance"))
+ .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+ .withBody(getWiremockResponseForCatalogdb("UpdateVnfRecipe_Response.json"))
+ .withStatus(org.apache.http.HttpStatus.SC_OK)));
+ HttpHeaders headers = new HttpHeaders();
+ headers.set(MsoLogger.CLIENT_ID, "VID");
+ //expect
+ ServiceInstancesResponse expectedResponse = new ServiceInstancesResponse();
+ RequestReferences requestReferences = new RequestReferences();
+ requestReferences.setInstanceId("1882939");
+ expectedResponse.setRequestReferences(requestReferences);
+ uri = servInstanceuri + "v7/serviceInstances/e05864f0-ab35-47d0-8be4-56fd9619ba3c/vnfs/f501ce76-a9bc-4601-9837-74fd9f4d5eca";
+ ResponseEntity<String> response = sendRequest(inputStream("/VnfwithNeteworkInstanceGroup.json"), uri, HttpMethod.PUT, headers);
+
+ ObjectMapper mapper = new ObjectMapper();
+ mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+
+ //then
+ assertEquals(Response.Status.ACCEPTED.getStatusCode(), response.getStatusCode().value());
+ ServiceInstancesResponse realResponse = mapper.readValue(response.getBody(), ServiceInstancesResponse.class);
+ assertThat(realResponse, sameBeanAs(expectedResponse).ignoring("requestReferences.requestId"));
+ }
}
public class RelatedInstancesValidationTest extends BaseTest{
@Test
- public void testCreateVnfNetworkCollection() throws IOException, ValidationException {
- String requestJson = new String(Files.readAllBytes(Paths.get("src/test/resources/MsoRequestTest/RelatedInstances/v7CreateVnfNetworkCollection.json")));
+ public void testCreateVnfNetworkInstanceGroup() throws IOException, ValidationException {
+ String requestJson = new String(Files.readAllBytes(Paths.get("src/test/resources/MsoRequestTest/RelatedInstances/v7CreateVnfNetworkInstanceGroup.json")));
ObjectMapper mapper = new ObjectMapper();
ServiceInstancesRequest sir = mapper.readValue(requestJson, ServiceInstancesRequest.class);
ValidationInformation info = new ValidationInformation(sir, new HashMap<String, String>(), Action.createInstance,
"relatedInstance": {
"instanceId": "0fd90c0c-0e3a-46e2-abb5-4c4820d5985b",
"modelInfo": {
- "modelType": "networkCollection"
+ "modelType": "networkInstanceGroup"
}
}
}
--- /dev/null
+{
+ "requestDetails":{
+ "requestInfo":{
+ "productFamilyId":"e433710f-9217-458d-a79d-1c7aff376d87",
+ "source":"VID",
+ "suppressRollback":false,
+ "requestorId":"xxxxxx"
+ },
+ "lineOfBusiness":{
+ "lineOfBusinessName":"line_of_business"
+ },
+ "cloudConfiguration":{
+ "lcpCloudRegionId":"DYH1A",
+ "tenantId":"7f3db563322146a688601ade1294a747"
+ },
+ "platform":{
+
+ },
+ "modelInfo":{
+ "modelCustomizationId":"2ccae1b4-7d9e-46fa-a452-9180ce008d17",
+ "modelCustomizationName":"test_name",
+ "modelVersionId":"0f161f68-9cd8-41f3-872d-41e58d83d318",
+ "modelName":"modelName",
+ "modelInvariantId":"f501ce76-a9bc-4601-9837-74fd9f4d5ecb",
+ "modelType":"vnf",
+ "modelVersion":"7.0"
+ },
+ "requestParameters":{
+ "userParams":[
+
+ ],
+ "testApi":"GR_API"
+ },
+ "relatedInstanceList":[
+ {
+ "relatedInstance":{
+ "instanceId":"e05864f0-ab35-47d0-8be4-56fd9619ba3c",
+ "modelInfo":{
+ "modelVersionId":"ecd348d8-41f6-447a-93a6-4300db495688",
+ "modelName":"Subinterface_SVC_ym161d",
+ "modelInvariantId":"4c1147bd-de97-43d5-b05e-5faa9aba220d",
+ "modelType":"service",
+ "modelVersion":"5.0"
+ }
+ }
+ },
+ {
+ "relatedInstance":{
+ "instanceId":"1b53f649-8969-443f-8ca4-d70f2ec6de0b",
+ "modelInfo":{
+ "modelType":"networkInstanceGroup"
+ }
+ }
+ }
+ ]
+ }
+}
\ No newline at end of file
final CriteriaBuilder cb = entityManager.getCriteriaBuilder();
final CriteriaQuery<InfraActiveRequests> crit = cb.createQuery(InfraActiveRequests.class);
final Root<InfraActiveRequests> tableRoot = crit.from(InfraActiveRequests.class);
+ InfraActiveRequests infraActiveRequests = null;
if (instanceName != null && !instanceName.equals("")) {
}
}
}
-
- predicates.add(tableRoot.get(REQUEST_STATUS)
+ if(!predicates.isEmpty()){
+ predicates.add(tableRoot.get(REQUEST_STATUS)
.in(Arrays.asList("PENDING", "IN_PROGRESS", "TIMEOUT", "PENDING_MANUAL_TASK")));
- final Order order = cb.desc(tableRoot.get(START_TIME));
-
- final List<InfraActiveRequests> dupList = executeInfraQuery(crit, predicates, order);
-
- InfraActiveRequests infraActiveRequests = null;
-
- if (dupList != null && !dupList.isEmpty()) {
- infraActiveRequests = dupList.get(0);
+ final Order order = cb.desc(tableRoot.get(START_TIME));
+
+ final List<InfraActiveRequests> dupList = executeInfraQuery(crit, predicates, order);
+
+ if (dupList != null && !dupList.isEmpty()) {
+ infraActiveRequests = dupList.get(0);
+ }
}
return infraActiveRequests;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.onap.so.db.request.data.repository.InfraActiveRequestsRepositoryImpl.ACTION;
import static org.onap.so.db.request.data.repository.InfraActiveRequestsRepositoryImpl.REQUEST_ID;
objUnderTest.getInfraActiveRequests(null, START_TIME_IN_MILISEC, END_TIME_IN_MILISEC, MAX_LIMIT);
assertTrue(actualRequests.isEmpty());
}
+
+ @Test
+ public void checkInstanceNameDuplicateNullInstanceNameTest(){
+ Map<String, String> instanceIdMap = new HashMap<>();
+ instanceIdMap.put("serviceInstanceId", "e05864f0-ab35-47d0-8be4-56fd9619ba3b");
+ InfraActiveRequests results = objUnderTest.checkInstanceNameDuplicate((HashMap<String, String>)instanceIdMap, null, "vnf");
+ assertNull(results);
+ }
}
('SERVICE', 'PENDING_ACTIVATION', 'ACTIVATE', 'FAIL'),
('VNF', 'PENDING_ACTIVATION', 'ACTIVATE', 'FAIL'),
('VOLUME_GROUP', 'PENDING_ACTIVATION', 'ACTIVATE', 'FAIL'),
-('VF_MODULE', 'PENDING_ACTIVATION', 'ACTIVATE', 'FAIL'),
+('VF_MODULE', 'PENDING_ACTIVATION', 'ACTIVATE', 'SILENT_SUCCESS'),
('NETWORK', 'PENDING_ACTIVATION', 'ACTIVATE', 'FAIL'),
('SERVICE', 'PENDING', 'ACTIVATE', 'FAIL'),
('VNF', 'PENDING', 'ACTIVATE', 'FAIL'),
('VF_MODULE', 'PENDING_DELETE', 'CREATE', 'CONTINUE'),
('NETWORK', 'PENDING_DELETE', 'CREATE', 'CONTINUE'),
('VOLUME_GROUP', 'PENDING_ACTIVATION', 'CREATE', 'FAIL'),
-('VF_MODULE', 'PENDING_ACTIVATION', 'CREATE', 'FAIL'),
+('VF_MODULE', 'PENDING_ACTIVATION', 'CREATE', 'SILENT_SUCCESS'),
('NETWORK', 'PENDING_ACTIVATION', 'CREATE', 'FAIL'),
('VOLUME_GROUP', 'PENDING', 'CREATE', 'CONTINUE'),
('VF_MODULE', 'PENDING', 'CREATE', 'FAIL'),
camunda:
rest:
api:
- url: http://bpmn-infra:8081/engine-rest/engine/
+ url: http://so-bpmn-infra.onap:8081/sobpmnengine/engine/
engine: default
- auth: Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==
+ auth: Basic YXBpaEJwbW46cGFzc3dvcmQxJA==
mso:
database:
rest:
api:
- url: http://so-request-db-adapter:8083/infraActiveRequests/
+ url: http://so-request-db-adapter.onap:8083/infraActiveRequests/
auth: Basic YnBlbDpwYXNzd29yZDEk
+