summaryrefslogtreecommitdiffstats
path: root/mso-api-handlers/mso-api-handler-infra/src
diff options
context:
space:
mode:
authorRob Daugherty <rd472p@att.com>2018-09-10 12:34:33 +0000
committerGerrit Code Review <gerrit@onap.org>2018-09-10 12:34:33 +0000
commitc8e5d9f69a133fb0c9919257fc340811152526ef (patch)
treecb14cae392575f4fe38eb3e213fb508187c71b68 /mso-api-handlers/mso-api-handler-infra/src
parent0ca2380f86cf7ea460017590f8a33967c8fc380b (diff)
parent69455a268648881f4b5a0c4547d769c2e6ecc2c1 (diff)
Merge "added generic fabric support to SO"
Diffstat (limited to 'mso-api-handlers/mso-api-handler-infra/src')
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/E2EServiceInstances.java2
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/MsoRequest.java5
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/OrchestrationRequests.java68
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/ServiceInstances.java4
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/CloudOrchestration.java4
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/CloudResourcesOrchestration.java4
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/TenantIsolationRequest.java4
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/process/ActivateVnfOperationalEnvironment.java2
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/process/ActivateVnfStatusOperationalEnvironment.java2
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ManualTasksTest.java9
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/OrchestrationRequestsTest.java106
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ServiceInstancesTest.java8
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/OrchestrationFilterResponse.json189
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/OrchestrationList.json299
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/RequestProcessingData.json24
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/getRequestProcessingData.json8
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/schema.sql71
17 files changed, 757 insertions, 52 deletions
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/E2EServiceInstances.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/E2EServiceInstances.java
index 8f8cf0898d..1a95aa0e09 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/E2EServiceInstances.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/E2EServiceInstances.java
@@ -58,10 +58,10 @@ import org.onap.so.db.catalog.beans.Service;
import org.onap.so.db.catalog.beans.ServiceRecipe;
import org.onap.so.db.catalog.client.CatalogDbClient;
import org.onap.so.db.request.beans.OperationStatus;
+import org.onap.so.db.request.client.RequestsDbClient;
import org.onap.so.logger.MessageEnum;
import org.onap.so.logger.MsoAlarmLogger;
import org.onap.so.logger.MsoLogger;
-import org.onap.so.requestsdb.client.RequestsDbClient;
import org.onap.so.serviceinstancebeans.ModelInfo;
import org.onap.so.serviceinstancebeans.ModelType;
import org.onap.so.serviceinstancebeans.RequestDetails;
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/MsoRequest.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/MsoRequest.java
index 1a1b45ac8e..753e712d71 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/MsoRequest.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/MsoRequest.java
@@ -62,10 +62,11 @@ import org.onap.so.apihandlerinfra.vnfbeans.RequestStatusType;
import org.onap.so.apihandlerinfra.vnfbeans.VnfInputs;
import org.onap.so.apihandlerinfra.vnfbeans.VnfRequest;
import org.onap.so.db.request.beans.InfraActiveRequests;
+import org.onap.so.db.request.client.RequestsDbClient;
+import org.onap.so.db.request.data.repository.InfraActiveRequestsRepository;
import org.onap.so.exceptions.ValidationException;
import org.onap.so.logger.MessageEnum;
import org.onap.so.logger.MsoLogger;
-import org.onap.so.requestsdb.client.RequestsDbClient;
import org.onap.so.serviceinstancebeans.CloudConfiguration;
import org.onap.so.serviceinstancebeans.InstanceDirection;
import org.onap.so.serviceinstancebeans.ModelInfo;
@@ -741,4 +742,4 @@ public class MsoRequest {
return vnfType;
}
-} \ No newline at end of file
+}
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/OrchestrationRequests.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/OrchestrationRequests.java
index 753b4c48d4..50d2639b2d 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/OrchestrationRequests.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/OrchestrationRequests.java
@@ -23,6 +23,7 @@ package org.onap.so.apihandlerinfra;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -48,11 +49,12 @@ import org.onap.so.apihandlerinfra.exceptions.ValidateException;
import org.onap.so.apihandlerinfra.logging.AlarmLoggerInfo;
import org.onap.so.apihandlerinfra.logging.ErrorLoggerInfo;
import org.onap.so.db.request.beans.InfraActiveRequests;
+import org.onap.so.db.request.beans.RequestProcessingData;
+import org.onap.so.db.request.client.RequestsDbClient;
import org.onap.so.exceptions.ValidationException;
import org.onap.so.logger.MessageEnum;
import org.onap.so.logger.MsoAlarmLogger;
import org.onap.so.logger.MsoLogger;
-import org.onap.so.requestsdb.client.RequestsDbClient;
import org.onap.so.serviceinstancebeans.GetOrchestrationListResponse;
import org.onap.so.serviceinstancebeans.GetOrchestrationResponse;
import org.onap.so.serviceinstancebeans.InstanceReferences;
@@ -97,10 +99,11 @@ public class OrchestrationRequests {
GetOrchestrationResponse orchestrationResponse = new GetOrchestrationResponse();
- InfraActiveRequests requestDB = null;
-
+ InfraActiveRequests infraActiveRequest = null;
+ List<org.onap.so.db.request.beans.RequestProcessingData> requestProcessingData = null;
try {
- requestDB = requestsDbClient.getInfraActiveRequestbyRequestId(requestId);
+ infraActiveRequest = requestsDbClient.getInfraActiveRequestbyRequestId(requestId);
+ requestProcessingData = requestsDbClient.getRequestProcessingDataBySoRequestId(requestId);
} catch (Exception e) {
msoLogger.error(e);
@@ -115,8 +118,8 @@ public class OrchestrationRequests {
throw validateException;
}
-
- if(requestDB == null) {
+
+ if(infraActiveRequest == null) {
ErrorLoggerInfo errorLoggerInfo = new ErrorLoggerInfo.Builder(MessageEnum.APIH_BPEL_COMMUNICATE_ERROR, MsoLogger.ErrorCode.BusinessProcesssError).build();
@@ -126,8 +129,11 @@ public class OrchestrationRequests {
throw validateException;
}
-
- Request request = mapInfraActiveRequestToRequest(requestDB);
+
+ Request request = mapInfraActiveRequestToRequest(infraActiveRequest);
+ if(!requestProcessingData.isEmpty()){
+ request.setRequestProcessingData(mapRequestProcessingData(requestProcessingData));
+ }
request.setRequestId(requestId);
orchestrationResponse.setRequest(request);
@@ -171,8 +177,12 @@ public class OrchestrationRequests {
List<RequestList> requestLists = new ArrayList<>();
for(InfraActiveRequests infraActive : activeRequests){
+ List<RequestProcessingData> requestProcessingData = requestsDbClient.getRequestProcessingDataBySoRequestId(infraActive.getRequestId());
RequestList requestList = new RequestList();
Request request = mapInfraActiveRequestToRequest(infraActive);
+ if(!requestProcessingData.isEmpty()){
+ request.setRequestProcessingData(mapRequestProcessingData(requestProcessingData));
+ }
requestList.setRequest(request);
requestLists.add(requestList);
}
@@ -337,4 +347,46 @@ public class OrchestrationRequests {
return request;
}
+
+ public List<org.onap.so.serviceinstancebeans.RequestProcessingData> mapRequestProcessingData(List<org.onap.so.db.request.beans.RequestProcessingData> processingData){
+ List<org.onap.so.serviceinstancebeans.RequestProcessingData> addedRequestProcessingData = new ArrayList<>();
+ org.onap.so.serviceinstancebeans.RequestProcessingData finalProcessingData = new org.onap.so.serviceinstancebeans.RequestProcessingData();
+ String currentGroupingId = null;
+ HashMap<String, String> tempMap = new HashMap<>();
+ List<HashMap<String, String>> tempList = new ArrayList<>();
+ for(RequestProcessingData data : processingData){
+ String groupingId = data.getGroupingId();
+ String tag = data.getTag();
+ if(currentGroupingId == null || !currentGroupingId.equals(groupingId)){
+ if(!tempMap.isEmpty()){
+ tempList.add(tempMap);
+ finalProcessingData.setDataPairs(tempList);
+ addedRequestProcessingData.add(finalProcessingData);
+ }
+ finalProcessingData = new org.onap.so.serviceinstancebeans.RequestProcessingData();
+ if(groupingId != null){
+ finalProcessingData.setGroupingId(groupingId);
+ }
+ if(tag != null){
+ finalProcessingData.setTag(tag);
+ }
+ currentGroupingId = groupingId;
+ tempMap = new HashMap<>();
+ tempList = new ArrayList<>();
+ if(data.getName() != null && data.getValue() != null){
+ tempMap.put(data.getName(), data.getValue());
+ }
+ }else{
+ if(data.getName() != null && data.getValue() != null){
+ tempMap.put(data.getName(), data.getValue());
+ }
+ }
+ }
+ if(tempMap.size() > 0){
+ tempList.add(tempMap);
+ finalProcessingData.setDataPairs(tempList);
+ }
+ addedRequestProcessingData.add(finalProcessingData);
+ return addedRequestProcessingData;
+ }
}
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/ServiceInstances.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/ServiceInstances.java
index a7dac34aa0..672ab13868 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/ServiceInstances.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/ServiceInstances.java
@@ -58,10 +58,10 @@ import org.onap.so.db.catalog.beans.VnfResource;
import org.onap.so.db.catalog.beans.VnfResourceCustomization;
import org.onap.so.db.catalog.client.CatalogDbClient;
import org.onap.so.db.request.beans.InfraActiveRequests;
+import org.onap.so.db.request.client.RequestsDbClient;
import org.onap.so.exceptions.ValidationException;
import org.onap.so.logger.MessageEnum;
import org.onap.so.logger.MsoLogger;
-import org.onap.so.requestsdb.client.RequestsDbClient;
import org.onap.so.serviceinstancebeans.CloudConfiguration;
import org.onap.so.serviceinstancebeans.ModelInfo;
import org.onap.so.serviceinstancebeans.ModelType;
@@ -1656,4 +1656,4 @@ public class ServiceInstances {
infraActiveRequestsClient.save(aq);
}
}
-} \ No newline at end of file
+}
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/CloudOrchestration.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/CloudOrchestration.java
index cfe32a3833..d743c440e7 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/CloudOrchestration.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/CloudOrchestration.java
@@ -40,7 +40,6 @@ import javax.ws.rs.core.Response;
import org.apache.http.HttpStatus;
import org.onap.so.apihandler.common.ErrorNumbers;
import org.onap.so.apihandlerinfra.Constants;
-import org.onap.so.requestsdb.client.RequestsDbClient;
import org.onap.so.apihandlerinfra.Status;
import org.onap.so.apihandlerinfra.exceptions.ApiException;
import org.onap.so.apihandlerinfra.exceptions.DuplicateRequestException;
@@ -51,6 +50,7 @@ import org.onap.so.apihandlerinfra.tenantisolationbeans.OperationalEnvironment;
import org.onap.so.apihandlerinfra.tenantisolationbeans.RequestReferences;
import org.onap.so.apihandlerinfra.tenantisolationbeans.TenantSyncResponse;
import org.onap.so.db.request.beans.InfraActiveRequests;
+import org.onap.so.db.request.client.RequestsDbClient;
import org.onap.so.exceptions.ValidationException;
import org.onap.so.logger.MessageEnum;
import org.onap.so.logger.MsoLogger;
@@ -237,4 +237,4 @@ public class CloudOrchestration {
private String getRequestId(ContainerRequestContext requestContext) {
return requestContext.getProperty("requestId").toString();
}
-} \ No newline at end of file
+}
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/CloudResourcesOrchestration.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/CloudResourcesOrchestration.java
index 3b7a326f3e..a35f40baf6 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/CloudResourcesOrchestration.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/CloudResourcesOrchestration.java
@@ -44,7 +44,6 @@ import org.onap.so.apihandler.common.ErrorNumbers;
import org.onap.so.apihandler.common.ResponseBuilder;
import org.onap.so.apihandlerinfra.Constants;
import org.onap.so.apihandlerinfra.Messages;
-import org.onap.so.requestsdb.client.RequestsDbClient;
import org.onap.so.apihandlerinfra.exceptions.ApiException;
import org.onap.so.apihandlerinfra.exceptions.ValidateException;
import org.onap.so.apihandlerinfra.logging.AlarmLoggerInfo;
@@ -56,6 +55,7 @@ import org.onap.so.apihandlerinfra.tenantisolationbeans.Request;
import org.onap.so.apihandlerinfra.tenantisolationbeans.RequestDetails;
import org.onap.so.apihandlerinfra.tenantisolationbeans.RequestStatus;
import org.onap.so.db.request.beans.InfraActiveRequests;
+import org.onap.so.db.request.client.RequestsDbClient;
import org.onap.so.exceptions.ValidationException;
import org.onap.so.logger.MessageEnum;
import org.onap.so.logger.MsoAlarmLogger;
@@ -294,4 +294,4 @@ public class CloudResourcesOrchestration {
return request;
}
-} \ No newline at end of file
+}
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/TenantIsolationRequest.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/TenantIsolationRequest.java
index b13008b3d3..855a5433f3 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/TenantIsolationRequest.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/TenantIsolationRequest.java
@@ -30,7 +30,6 @@ import javax.ws.rs.core.MultivaluedMap;
import org.apache.commons.lang3.StringUtils;
import org.onap.so.apihandlerinfra.Constants;
-import org.onap.so.requestsdb.client.RequestsDbClient;
import org.onap.so.apihandlerinfra.Status;
import org.onap.so.apihandlerinfra.tenantisolationbeans.Action;
import org.onap.so.apihandlerinfra.tenantisolationbeans.Manifest;
@@ -44,6 +43,7 @@ import org.onap.so.apihandlerinfra.tenantisolationbeans.ResourceType;
import org.onap.so.apihandlerinfra.tenantisolationbeans.ServiceModelList;
import org.onap.so.apihandlerinfra.vnfbeans.RequestStatusType;
import org.onap.so.db.request.beans.InfraActiveRequests;
+import org.onap.so.db.request.client.RequestsDbClient;
import org.onap.so.exceptions.ValidationException;
import org.onap.so.logger.MessageEnum;
import org.onap.so.logger.MsoLogger;
@@ -384,4 +384,4 @@ public class TenantIsolationRequest {
public void setOperationalEnvironmentId(String operationalEnvironmentId) {
this.operationalEnvironmentId = operationalEnvironmentId;
}
-} \ No newline at end of file
+}
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/process/ActivateVnfOperationalEnvironment.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/process/ActivateVnfOperationalEnvironment.java
index e89b5c8d42..ac9a000d3b 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/process/ActivateVnfOperationalEnvironment.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/process/ActivateVnfOperationalEnvironment.java
@@ -27,7 +27,7 @@ import javax.ws.rs.core.Response;
import org.apache.http.HttpStatus;
import org.json.JSONObject;
import org.onap.so.apihandler.common.ErrorNumbers;
-import org.onap.so.requestsdb.client.RequestsDbClient;
+import org.onap.so.db.request.client.RequestsDbClient;
import org.onap.so.apihandlerinfra.exceptions.ApiException;
import org.onap.so.apihandlerinfra.exceptions.ValidateException;
import org.onap.so.apihandlerinfra.logging.ErrorLoggerInfo;
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/process/ActivateVnfStatusOperationalEnvironment.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/process/ActivateVnfStatusOperationalEnvironment.java
index 6eb5157568..66cfd349df 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/process/ActivateVnfStatusOperationalEnvironment.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/process/ActivateVnfStatusOperationalEnvironment.java
@@ -28,7 +28,7 @@ import javax.ws.rs.core.Response;
import org.apache.http.HttpStatus;
import org.json.JSONObject;
import org.onap.so.apihandler.common.ErrorNumbers;
-import org.onap.so.requestsdb.client.RequestsDbClient;
+import org.onap.so.db.request.client.RequestsDbClient;
import org.onap.so.apihandlerinfra.exceptions.ApiException;
import org.onap.so.apihandlerinfra.exceptions.ValidateException;
import org.onap.so.apihandlerinfra.logging.ErrorLoggerInfo;
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ManualTasksTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ManualTasksTest.java
index 5d6aa43a9b..76d4b48a36 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ManualTasksTest.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ManualTasksTest.java
@@ -39,6 +39,7 @@ import javax.ws.rs.core.Response;
import org.apache.http.HttpStatus;
import org.apache.log4j.MDC;
import org.junit.Test;
+import org.onap.logging.ref.slf4j.ONAPLogConstants;
import org.onap.so.apihandlerinfra.tasksbeans.RequestDetails;
import org.onap.so.apihandlerinfra.tasksbeans.RequestInfo;
import org.onap.so.apihandlerinfra.tasksbeans.TaskRequestReference;
@@ -110,8 +111,8 @@ public class ManualTasksTest extends BaseTest{
logEvent.getMarker().getName().equals("ENTRY")
){
Map<String,String> mdc = logEvent.getMDCPropertyMap();
- assertNotNull(mdc.get(MsoLogger.BEGINTIME));
- assertNotNull(mdc.get(MsoLogger.REQUEST_ID));
+ assertNotNull(mdc.get(ONAPLogConstants.MDCs.ENTRY_TIMESTAMP));
+ assertNotNull(mdc.get(ONAPLogConstants.MDCs.REQUEST_ID));
assertNotNull(mdc.get(MsoLogger.INVOCATION_ID));
assertEquals("UNKNOWN",mdc.get(MsoLogger.PARTNERNAME));
assertEquals("tasks/v1/55/complete",mdc.get(MsoLogger.SERVICE_NAME));
@@ -119,9 +120,9 @@ public class ManualTasksTest extends BaseTest{
}else if(logEvent.getLoggerName().equals("org.onap.so.logging.jaxrs.filter.jersey.JaxRsFilterLogging") &&
logEvent.getMarker().getName().equals("EXIT")){
Map<String,String> mdc = logEvent.getMDCPropertyMap();
- assertNotNull(mdc.get(MsoLogger.BEGINTIME));
+ assertNotNull(mdc.get(ONAPLogConstants.MDCs.ENTRY_TIMESTAMP));
assertNotNull(mdc.get(MsoLogger.ENDTIME));
- assertNotNull(mdc.get(MsoLogger.REQUEST_ID));
+ assertNotNull(mdc.get(ONAPLogConstants.MDCs.REQUEST_ID));
assertNotNull(mdc.get(MsoLogger.INVOCATION_ID));
assertEquals("202",mdc.get(MsoLogger.RESPONSECODE));
assertEquals("UNKNOWN",mdc.get(MsoLogger.PARTNERNAME));
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/OrchestrationRequestsTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/OrchestrationRequestsTest.java
index 582bc12077..9df66edc07 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/OrchestrationRequestsTest.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/OrchestrationRequestsTest.java
@@ -20,41 +20,56 @@
package org.onap.so.apihandlerinfra;
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
+import static com.github.tomakehurst.wiremock.client.WireMock.any;
+import static com.github.tomakehurst.wiremock.client.WireMock.equalTo;
+import static com.github.tomakehurst.wiremock.client.WireMock.equalToJson;
+import static com.github.tomakehurst.wiremock.client.WireMock.get;
+import static com.github.tomakehurst.wiremock.client.WireMock.post;
+import static com.github.tomakehurst.wiremock.client.WireMock.stubFor;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
+import static com.shazam.shazamcrest.MatcherAssert.assertThat;
+import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
+import static org.junit.Assert.assertEquals;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
import org.apache.http.HttpStatus;
import org.junit.Ignore;
import org.junit.Test;
import org.onap.so.apihandler.common.ErrorNumbers;
import org.onap.so.db.request.beans.InfraActiveRequests;
+import org.onap.so.db.request.client.RequestsDbClient;
import org.onap.so.db.request.data.repository.InfraActiveRequestsRepository;
import org.onap.so.exceptions.ValidationException;
-import org.onap.so.requestsdb.client.RequestsDbClient;
-import org.onap.so.serviceinstancebeans.*;
+import org.onap.so.serviceinstancebeans.GetOrchestrationListResponse;
+import org.onap.so.serviceinstancebeans.GetOrchestrationResponse;
+import org.onap.so.serviceinstancebeans.Request;
+import org.onap.so.serviceinstancebeans.RequestError;
+import org.onap.so.serviceinstancebeans.RequestProcessingData;
+import org.onap.so.serviceinstancebeans.ServiceException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.web.util.UriComponentsBuilder;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import static com.github.tomakehurst.wiremock.client.WireMock.*;
-import static com.shazam.shazamcrest.MatcherAssert.assertThat;
-import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
-import static org.junit.Assert.assertEquals;
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
public class OrchestrationRequestsTest extends BaseTest {
@Autowired
@@ -62,6 +77,9 @@ public class OrchestrationRequestsTest extends BaseTest {
@Autowired
private RequestsDbClient requestsDbClient;
+
+ @Autowired
+ private OrchestrationRequests orchReq;
private static final String CHECK_HTML = "<!DOCTYPE html><html><head><meta charset=\"ISO-8859-1\"><title></title></head><body></body></html>";
private static final GetOrchestrationListResponse ORCHESTRATION_LIST = generateOrchestrationList();
@@ -162,9 +180,14 @@ public class OrchestrationRequestsTest extends BaseTest {
List<String> values = new ArrayList<>();
values.add("EQUALS");
values.add("vfModule");
+
+ ObjectMapper mapper = new ObjectMapper();
+ GetOrchestrationListResponse testResponse = mapper.readValue(new File("src/test/resources/OrchestrationRequest/OrchestrationFilterResponse.json"),
+ GetOrchestrationListResponse.class);
Map<String, List<String>> orchestrationMap = new HashMap<>();
orchestrationMap.put("modelType", values);
+ List<GetOrchestrationResponse> testResponses = new ArrayList<>();
List<InfraActiveRequests> requests = requestsDbClient.getOrchestrationFiltersFromInfraActive(orchestrationMap);
HttpEntity<Request> entity = new HttpEntity<Request>(null, headers);
@@ -175,8 +198,11 @@ public class OrchestrationRequestsTest extends BaseTest {
ResponseEntity<GetOrchestrationListResponse> response = restTemplate.exchange(builder.toUriString(),
HttpMethod.GET, entity, GetOrchestrationListResponse.class);
+ assertThat(response.getBody(),
+ sameBeanAs(testResponse).ignoring("requestList.request.startTime").ignoring("requestList.request.requestStatus.finishTime"));
assertEquals(Response.Status.OK.getStatusCode(), response.getStatusCode().value());
assertEquals(requests.size(), response.getBody().getRequestList().size());
+
}
@Test
@@ -334,12 +360,48 @@ public class OrchestrationRequestsTest extends BaseTest {
assertEquals("7.0.0", response.getHeaders().get("X-LatestVersion").get(0));
assertEquals("requestId", response.getHeaders().get("X-TransactionID").get(0));
}
+ @Test
+ public void mapRequestProcessingDataTest() throws JsonParseException, JsonMappingException, IOException{
+ RequestProcessingData entry = new RequestProcessingData();
+ RequestProcessingData secondEntry = new RequestProcessingData();
+ List<HashMap<String, String>> expectedList = new ArrayList<>();
+ HashMap<String, String> expectedMap = new HashMap<>();
+ List<HashMap<String, String>> secondExpectedList = new ArrayList<>();
+ HashMap<String, String> secondExpectedMap = new HashMap<>();
+ List<RequestProcessingData> expectedDataList = new ArrayList<>();
+ entry.setGroupingId("7d2e8c07-4d10-456d-bddc-37abf38ca714");
+ entry.setTag("pincFabricConfigRequest");
+ expectedMap.put("requestAction", "assign");
+ expectedMap.put("pincFabricId", "testId");
+ expectedList.add(expectedMap);
+ entry.setDataPairs(expectedList);
+ secondEntry.setGroupingId("7d2e8c07-4d10-456d-bddc-37abf38ca715");
+ secondEntry.setTag("pincFabricConfig");
+ secondExpectedMap.put("requestAction", "unassign");
+ secondExpectedList.add(secondExpectedMap);
+ secondEntry.setDataPairs(secondExpectedList);
+ expectedDataList.add(entry);
+ expectedDataList.add(secondEntry);
+
+ List<org.onap.so.db.request.beans.RequestProcessingData> processingData = new ArrayList<>();
+ List<RequestProcessingData> actualProcessingData = new ArrayList<>();
+ ObjectMapper mapper = new ObjectMapper();
+ processingData = mapper.readValue(new File("src/test/resources/OrchestrationRequest/RequestProcessingData.json"),
+ new TypeReference<List<org.onap.so.db.request.beans.RequestProcessingData>>(){});
+ actualProcessingData = orchReq.mapRequestProcessingData(processingData);
+ assertThat(actualProcessingData,sameBeanAs(expectedDataList));
+ }
public void setupTestGetOrchestrationRequest() throws Exception{
//For testGetOrchestrationRequest
stubFor(any(urlPathEqualTo("/infraActiveRequests/00032ab7-na18-42e5-965d-8ea592502018")).willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
.withBody(new String(Files.readAllBytes(Paths.get("src/test/resources/OrchestrationRequest/getOrchestrationRequest.json"))))
.withStatus(HttpStatus.SC_OK)));
+ stubFor(get(urlPathEqualTo("/requestProcessingData/search/findBySoRequestIdOrderByGroupingIdDesc/"))
+ .withQueryParam("SO_REQUEST_ID", equalTo("00032ab7-na18-42e5-965d-8ea592502018"))
+ .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+ .withBody(new String(Files.readAllBytes(Paths.get("src/test/resources/OrchestrationRequest/getRequestProcessingData.json"))))
+ .withStatus(HttpStatus.SC_OK)));
}
private void setupTestGetOrchestrationRequestRequestDetails(String requestId, String status) throws Exception{
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ServiceInstancesTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ServiceInstancesTest.java
index 76f4bb08a2..e9e50148ff 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ServiceInstancesTest.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ServiceInstancesTest.java
@@ -189,8 +189,8 @@ public class ServiceInstancesTest extends BaseTest{
logEvent.getMarker().getName().equals("ENTRY")
){
Map<String,String> mdc = logEvent.getMDCPropertyMap();
- assertNotNull(mdc.get(MsoLogger.BEGINTIME));
- assertNotNull(mdc.get(MsoLogger.REQUEST_ID));
+ assertNotNull(mdc.get(ONAPLogConstants.MDCs.ENTRY_TIMESTAMP));
+ assertNotNull(mdc.get(ONAPLogConstants.MDCs.REQUEST_ID));
assertNotNull(mdc.get(MsoLogger.INVOCATION_ID));
assertEquals("UNKNOWN",mdc.get(MsoLogger.PARTNERNAME));
assertEquals("onap/so/infra/serviceInstantiation/v5/serviceInstances",mdc.get(MsoLogger.SERVICE_NAME));
@@ -198,9 +198,9 @@ public class ServiceInstancesTest extends BaseTest{
}else if(logEvent.getLoggerName().equals("org.onap.so.logging.jaxrs.filter.jersey.JaxRsFilterLogging") &&
logEvent.getMarker().getName().equals("EXIT")){
Map<String,String> mdc = logEvent.getMDCPropertyMap();
- assertNotNull(mdc.get(MsoLogger.BEGINTIME));
+ assertNotNull(mdc.get(ONAPLogConstants.MDCs.ENTRY_TIMESTAMP));
assertNotNull(mdc.get(MsoLogger.ENDTIME));
- assertNotNull(mdc.get(MsoLogger.REQUEST_ID));
+ assertNotNull(mdc.get(ONAPLogConstants.MDCs.REQUEST_ID));
assertNotNull(mdc.get(MsoLogger.INVOCATION_ID));
assertEquals("202",mdc.get(MsoLogger.RESPONSECODE));
assertEquals("UNKNOWN",mdc.get(MsoLogger.PARTNERNAME));
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/OrchestrationFilterResponse.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/OrchestrationFilterResponse.json
new file mode 100644
index 0000000000..561ed0d31f
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/OrchestrationFilterResponse.json
@@ -0,0 +1,189 @@
+{
+ "requestList": [
+ {
+ "request": {
+ "requestId": "001619d2-a297-4a4b-a9f5-e2823c88458f",
+ "startTime": "Fri, 01 Jul 2016 04:41:42 GMT",
+ "requestScope": "vfModule",
+ "requestType": "createInstance",
+ "requestDetails": {
+ "modelInfo": {
+ "modelType": "vfModule",
+ "modelName": "test::base::module-0"
+ },
+ "requestInfo": {
+ "source": "VID",
+ "suppressRollback": false
+ },
+ "cloudConfiguration": {
+ "tenantId": "6accefef3cb442ff9e644d589fb04107",
+ "lcpCloudRegionId": "n6"
+ },
+ "instanceName": []
+ },
+ "instanceReferences": {
+ "vnfInstanceName": "test-vscp",
+ "vfModuleInstanceName": "MODULENAME1"
+ },
+ "requestStatus": {
+ "requestState": "COMPLETE",
+ "statusMessage": "COMPLETED",
+ "percentProgress": 100,
+ "finishTime": "Tue, 02 May 2017 06:33:34 GMT"
+ }
+ }
+ },
+ {
+ "request": {
+ "requestId": "00032ab7-3fb3-42e5-965d-8ea592502017",
+ "startTime": "Thu, 22 Dec 2016 08:29:54 GMT",
+ "requestScope": "vfModule",
+ "requestType": "deleteInstance",
+ "requestDetails": {
+ "modelInfo": {
+ "modelType": "vfModule",
+ "modelName": "test::base::module-0"
+ },
+ "requestInfo": {
+ "source": "VID",
+ "suppressRollback": false
+ },
+ "cloudConfiguration": {
+ "tenantId": "6accefef3cb442ff9e644d589fb04107",
+ "lcpCloudRegionId": "n6"
+ },
+ "instanceName": []
+ },
+ "instanceReferences": {
+ "serviceInstanceId": "e3b5744d-2ad1-4cdd-8390-c999a38829bc",
+ "vnfInstanceId": "b92f60c8-8de3-46c1-8dc1-e4390ac2b005",
+ "vfModuleInstanceId": "c7d527b1-7a91-49fd-b97d-1c8c0f4a7992"
+ },
+ "requestStatus": {
+ "requestState": "COMPLETE",
+ "statusMessage": "Vf Module has been deleted successfully.",
+ "percentProgress": 100,
+ "finishTime": "Thu, 22 Dec 2016 08:30:28 GMT"
+ }
+ }
+ },
+ {
+ "request": {
+ "requestId": "00032ab7-na18-42e5-965d-8ea592502018",
+ "startTime": "Thu, 22 Dec 2016 08:29:54 GMT",
+ "requestScope": "vfModule",
+ "requestType": "deleteInstance",
+ "requestDetails": {
+ "modelInfo": {
+ "modelType": "vfModule",
+ "modelName": "test::base::module-0"
+ },
+ "requestInfo": {
+ "source": "VID",
+ "suppressRollback": false
+ },
+ "cloudConfiguration": {
+ "tenantId": "6accefef3cb442ff9e644d589fb04107",
+ "lcpCloudRegionId": "n6"
+ },
+ "instanceName": []
+ },
+ "instanceReferences": {
+ "serviceInstanceId": "e3b5744d-2ad1-4cdd-8390-c999a38829bc",
+ "vnfInstanceId": "b92f60c8-8de3-46c1-8dc1-e4390ac2b005",
+ "vfModuleInstanceId": "c7d527b1-7a91-49fd-b97d-1c8c0f4a7992"
+ },
+ "requestStatus": {
+ "requestState": "PENDING",
+ "statusMessage": "Vf Module deletion pending.",
+ "percentProgress": 0,
+ "finishTime": "Thu, 22 Dec 2016 08:30:28 GMT"
+ }
+ }
+ },
+ {
+ "request": {
+ "requestId": "5ffbabd6-b793-4377-a1ab-082670fbc7ac",
+ "startTime": "Thu, 22 Dec 2016 08:29:54 GMT",
+ "requestScope": "vfModule",
+ "requestType": "deleteInstance",
+ "requestDetails": {
+ "modelInfo": {
+ "modelInvariantId": "78ca26d0-246d-11e7-93ae-92361f002671",
+ "modelType": "vfModule",
+ "modelId": "20c4431c-246d-11e7-93ae-92361f002671",
+ "modelName": "test::base::module-0",
+ "modelVersion": "2",
+ "modelCustomizationUuid": "cb82ffd8-252a-11e7-93ae-92361f002671",
+ "modelVersionId": "20c4431c-246d-11e7-93ae-92361f002671",
+ "modelCustomizationId": "cb82ffd8-252a-11e7-93ae-92361f002671",
+ "modelUuid": "20c4431c-246d-11e7-93ae-92361f002671",
+ "modelInvariantUuid": "78ca26d0-246d-11e7-93ae-92361f002671"
+ },
+ "requestInfo": {
+ "source": "VID",
+ "instanceName": "MSO-DEV-VF-1806BB-v10-base-it2-1",
+ "suppressRollback": false,
+ "requestorId": "xxxxxx"
+ },
+ "relatedInstanceList": [
+ {
+ "relatedInstance": {
+ "instanceId": "76fa8849-4c98-473f-b431-2590b192a653",
+ "modelInfo": {
+ "modelInvariantId": "9647dfc4-2083-11e7-93ae-92361f002671",
+ "modelType": "service",
+ "modelId": "5df8b6de-2083-11e7-93ae-92361f002671",
+ "modelName": "Infra_v10_Service",
+ "modelVersion": "1.0",
+ "modelVersionId": "5df8b6de-2083-11e7-93ae-92361f002671",
+ "modelUuid": "5df8b6de-2083-11e7-93ae-92361f002671",
+ "modelInvariantUuid": "9647dfc4-2083-11e7-93ae-92361f002671"
+ }
+ }
+ },
+ {
+ "relatedInstance": {
+ "instanceId": "d57970e1-5075-48a5-ac5e-75f2d6e10f4c",
+ "modelInfo": {
+ "modelCustomizationName": "v10 1",
+ "modelInvariantId": "2fff5b20-214b-11e7-93ae-92361f002671",
+ "modelType": "vnf",
+ "modelId": "ff2ae348-214a-11e7-93ae-92361f002671",
+ "modelName": "v10",
+ "modelVersion": "1.0",
+ "modelCustomizationUuid": "68dc9a92-214c-11e7-93ae-92361f002671",
+ "modelVersionId": "ff2ae348-214a-11e7-93ae-92361f002671",
+ "modelCustomizationId": "68dc9a92-214c-11e7-93ae-92361f002671",
+ "modelUuid": "ff2ae348-214a-11e7-93ae-92361f002671",
+ "modelInvariantUuid": "2fff5b20-214b-11e7-93ae-92361f002671",
+ "modelInstanceName": "v10 1"
+ }
+ }
+ }
+ ],
+ "cloudConfiguration": {
+ "tenantId": "0422ffb57ba042c0800a29dc85ca70f8",
+ "lcpCloudRegionId": "n6"
+ },
+ "requestParameters": {
+ "userParams": [],
+ "usePreload": true
+ },
+ "instanceName": []
+ },
+ "instanceReferences": {
+ "serviceInstanceId": "e3b5744d-2ad1-4cdd-8390-c999a38829bc",
+ "vnfInstanceId": "b92f60c8-8de3-46c1-8dc1-e4390ac2b005",
+ "vfModuleInstanceId": "c7d527b1-7a91-49fd-b97d-1c8c0f4a7992"
+ },
+ "requestStatus": {
+ "requestState": "UNLOCKED",
+ "statusMessage": "Vf Module deletion pending.",
+ "percentProgress": 0,
+ "finishTime": "Thu, 22 Dec 2016 08:30:28 GMT"
+ }
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/OrchestrationList.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/OrchestrationList.json
index 124513de0d..1b1530d3a6 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/OrchestrationList.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/OrchestrationList.json
@@ -1 +1,298 @@
-{"requestList":[{"request":{"requestId":"00032ab7-3fb3-42e5-965d-8ea592502017","requestScope":"vfModule","requestType":"deleteInstance","requestDetails":{"modelInfo":{"modelType":"vfModule","modelName":"test::base::module-0"},"requestInfo":{"source":"VID","suppressRollback":false},"cloudConfiguration":{"tenantId":"6accefef3cb442ff9e644d589fb04107","lcpCloudRegionId":"n6"}},"instanceReferences":{"serviceInstanceId":"e3b5744d-2ad1-4cdd-8390-c999a38829bc","vnfInstanceId":"b92f60c8-8de3-46c1-8dc1-e4390ac2b005","vfModuleInstanceId":"c7d527b1-7a91-49fd-b97d-1c8c0f4a7992"},"requestStatus":{"requestState":"COMPLETE","statusMessage":"Vf Module has been deleted successfully.","percentProgress":100}}},{"request":{"requestId":"00032ab7-na18-42e5-965d-8ea592502018","requestScope":"vfModule","requestType":"deleteInstance","requestDetails":{"modelInfo":{"modelType":"vfModule","modelName":"test::base::module-0"},"requestInfo":{"source":"VID","suppressRollback":false},"cloudConfiguration":{"tenantId":"6accefef3cb442ff9e644d589fb04107","lcpCloudRegionId":"n6"}},"instanceReferences":{"serviceInstanceId":"e3b5744d-2ad1-4cdd-8390-c999a38829bc","vnfInstanceId":"b92f60c8-8de3-46c1-8dc1-e4390ac2b005","vfModuleInstanceId":"c7d527b1-7a91-49fd-b97d-1c8c0f4a7992"},"requestStatus":{"requestState":"PENDING","statusMessage":"Vf Module deletion pending.","percentProgress":0}}},{"request":{"requestId":"00093944-bf16-4373-ab9a-3adfe730ff2d","requestScope":"service","requestType":"createInstance","requestDetails":{"modelInfo":{"modelInvariantId":"9647dfc4-2083-11e7-93ae-92361f002671","modelType":"service","modelName":"MSOTADevInfra_v10_Service","modelVersion":"1.0","modelVersionId":"5df8b6de-2083-11e7-93ae-92361f002671"},"requestInfo":{"source":"VID","instanceName":"MSODEV_1707_SI_v10_011-4","suppressRollback":false,"requestorId":"xxxxxx"},"subscriberInfo":{"globalSubscriberId":"MSO_1610_dev","subscriberName":"MSO_1610_dev"},"cloudConfiguration":{"tenantId":"19123c2924c648eb8e42a3c1f14b7682","lcpCloudRegionId":"n6"},"requestParameters":{"subscriptionServiceType":"MSO-dev-service-type","userParams":[{"name":"someUserParam","value":"someValue"}],"aLaCarte":true,"autoBuildVfModules":false,"cascadeDelete":false,"usePreload":true}},"instanceReferences":{},"requestStatus":{"requestState":"FAILED","statusMessage":"Error: Locked instance - This service (MSODEV_1707_SI_v10_011-4) already has a request being worked with a status of IN_PROGRESS (RequestId - 278e83b1-4f9f-450e-9e7d-3700a6ed22f4). The existing request must finish or be cleaned up before proceeding.","percentProgress":100}}},{"request":{"requestId":"001619d2-a297-4a4b-a9f5-e2823c88458f","requestScope":"vfModule","requestType":"createInstance","instanceReferences":{},"requestStatus":{"requestState":"COMPLETE","statusMessage":"COMPLETED","percentProgress":100}}},{"request":{"requestId":"00164b9e-784d-48a8-8973-bbad6ef818ed","requestScope":"service","requestType":"createInstance","requestDetails":{"modelInfo":{"modelInvariantId":"52b49b5d-3086-4ffd-b5e6-1b1e5e7e062f","modelType":"service","modelName":"MSO Test Network","modelVersion":"1.0","modelVersionId":"aed5a5b7-20d3-44f7-90a3-ddbd16f14d1e"},"requestInfo":{"source":"VID","instanceName":"DEV-n6-3100-0927-1","suppressRollback":false,"requestorId":"xxxxxx"},"subscriberInfo":{"globalSubscriberId":"MSO_1610_dev","subscriberName":"MSO_1610_dev"},"cloudConfiguration":{"tenantId":"19123c2924c648eb8e42a3c1f14b7682","lcpCloudRegionId":"n6"},"requestParameters":{"subscriptionServiceType":"MSO-dev-service-type","userParams":[{"name":"someUserParam","value":"someValue"}],"aLaCarte":true,"autoBuildVfModules":false,"cascadeDelete":false,"usePreload":true}},"instanceReferences":{"serviceInstanceId":"b2f59173-b7e5-4e0f-8440-232fd601b865"},"requestStatus":{"requestState":"COMPLETE","statusMessage":"Service Instance was created successfully.","percentProgress":100}}},{"request":{"requestId":"00173cc9-5ce2-4673-a810-f87fefb2829e","requestScope":"service","requestType":"createInstance","requestDetails":{"modelInfo":{"modelInvariantId":"ff6163d4-7214-459e-9f76-507b4eb00f51","modelType":"service","modelName":"ConstraintsSrvcVID","modelVersion":"2.0","modelVersionId":"722d256c-a374-4fba-a14f-a59b76bb7656"},"requestInfo":{"productFamilyId":"LRSI-OSPF","source":"VID","suppressRollback":false,"requestorId":"xxxxxx"},"subscriberInfo":{"globalSubscriberId":"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"},"cloudConfiguration":{"tenantId":"a259ae7b7c3f493cb3d91f95a7c18149","lcpCloudRegionId":"mtn16"},"requestParameters":{"subscriptionServiceType":"Mobility","userParams":[{"name":"neutronport6_name","value":"8"},{"name":"neutronnet5_network_name","value":"8"},{"name":"contrailv2vlansubinterface3_name","value":"false"}]}},"instanceReferences":{},"requestStatus":{"requestState":"FAILED","statusMessage":"Error parsing request. No valid instanceName is specified","percentProgress":100}}},{"request":{"requestId":"0017f68c-eb2d-45bb-b7c7-ec31b37dc349","requestScope":"configuration","requestType":"activateInstance","requestDetails":{"modelInfo":{"modelInvariantId":"1587cf0e-f12f-478d-8530-5c55ac578c39","modelType":"configuration","modelVersionId":"36a3a8ea-49a6-4ac8-b06c-89a545444455","modelCustomizationId":"68dc9a92-214c-11e7-93ae-92361f002671"},"requestInfo":{"source":"VID","suppressRollback":false,"requestorId":"xxxxxx"},"relatedInstanceList":[{"relatedInstance":{"instanceId":"9e15a443-af65-4f05-9000-47ae495e937d","modelInfo":{"modelInvariantId":"de19ae10-9a25-11e7-abc4-cec278b6b50a","modelType":"service","modelName":"MSOTADevInfra_Configuration_Service","modelVersion":"1.0","modelVersionId":"ee938612-9a25-11e7-abc4-cec278b6b50a"}}}],"cloudConfiguration":{"lcpCloudRegionId":"n6"},"requestParameters":{"aLaCarte":false,"autoBuildVfModules":false,"cascadeDelete":false,"usePreload":true}},"instanceReferences":{"serviceInstanceId":"9e15a443-af65-4f05-9000-47ae495e937d"},"requestStatus":{"requestState":"UNLOCKED","percentProgress":20}}},{"request": {"requestId":"0017f68c-eb2d-45bb-b7c7-ec31b37dc350","requestScope":"service","requestType":"createInstance","requestStatus": {"requestState": "IN_PROGRESS", "statusMessage": "Error parsing request.\n\tNo valid instanceName is specified"}}}]} \ No newline at end of file
+{
+ "requestList":[
+ {
+ "request":{
+ "requestId":"00032ab7-3fb3-42e5-965d-8ea592502017",
+ "requestScope":"vfModule",
+ "requestType":"deleteInstance",
+ "requestDetails":{
+ "modelInfo":{
+ "modelType":"vfModule",
+ "modelName":"test::base::module-0"
+ },
+ "requestInfo":{
+ "source":"VID",
+ "suppressRollback":false
+ },
+ "cloudConfiguration":{
+ "tenantId":"6accefef3cb442ff9e644d589fb04107",
+ "lcpCloudRegionId":"n6"
+ }
+ },
+ "instanceReferences":{
+ "serviceInstanceId":"e3b5744d-2ad1-4cdd-8390-c999a38829bc",
+ "vnfInstanceId":"b92f60c8-8de3-46c1-8dc1-e4390ac2b005",
+ "vfModuleInstanceId":"c7d527b1-7a91-49fd-b97d-1c8c0f4a7992"
+ },
+ "requestStatus":{
+ "requestState":"COMPLETE",
+ "statusMessage":"Vf Module has been deleted successfully.",
+ "percentProgress":100
+ }
+ }
+ },
+ {
+ "request":{
+ "requestId":"00032ab7-na18-42e5-965d-8ea592502018",
+ "requestScope":"vfModule",
+ "requestType":"deleteInstance",
+ "requestDetails":{
+ "modelInfo":{
+ "modelType":"vfModule",
+ "modelName":"test::base::module-0"
+ },
+ "requestInfo":{
+ "source":"VID",
+ "suppressRollback":false
+ },
+ "cloudConfiguration":{
+ "tenantId":"6accefef3cb442ff9e644d589fb04107",
+ "lcpCloudRegionId":"n6"
+ }
+ },
+ "instanceReferences":{
+ "serviceInstanceId":"e3b5744d-2ad1-4cdd-8390-c999a38829bc",
+ "vnfInstanceId":"b92f60c8-8de3-46c1-8dc1-e4390ac2b005",
+ "vfModuleInstanceId":"c7d527b1-7a91-49fd-b97d-1c8c0f4a7992"
+ },
+ "requestStatus":{
+ "requestState":"PENDING",
+ "statusMessage":"Vf Module deletion pending.",
+ "percentProgress":0
+ }
+ }
+ },
+ {
+ "request":{
+ "requestId":"00093944-bf16-4373-ab9a-3adfe730ff2d",
+ "requestScope":"service",
+ "requestType":"createInstance",
+ "requestDetails":{
+ "modelInfo":{
+ "modelInvariantId":"9647dfc4-2083-11e7-93ae-92361f002671",
+ "modelType":"service",
+ "modelName":"MSOTADevInfra_v10_Service",
+ "modelVersion":"1.0",
+ "modelVersionId":"5df8b6de-2083-11e7-93ae-92361f002671"
+ },
+ "requestInfo":{
+ "source":"VID",
+ "instanceName":"MSODEV_1707_SI_v10_011-4",
+ "suppressRollback":false,
+ "requestorId":"xxxxxx"
+ },
+ "subscriberInfo":{
+ "globalSubscriberId":"MSO_1610_dev",
+ "subscriberName":"MSO_1610_dev"
+ },
+ "cloudConfiguration":{
+ "tenantId":"19123c2924c648eb8e42a3c1f14b7682",
+ "lcpCloudRegionId":"n6"
+ },
+ "requestParameters":{
+ "subscriptionServiceType":"MSO-dev-service-type",
+ "userParams":[
+ {
+ "name":"someUserParam",
+ "value":"someValue"
+ }
+ ],
+ "aLaCarte":true,
+ "autoBuildVfModules":false,
+ "cascadeDelete":false,
+ "usePreload":true
+ }
+ },
+ "instanceReferences":{
+
+ },
+ "requestStatus":{
+ "requestState":"FAILED",
+ "statusMessage":"Error: Locked instance - This service (MSODEV_1707_SI_v10_011-4) already has a request being worked with a status of IN_PROGRESS (RequestId - 278e83b1-4f9f-450e-9e7d-3700a6ed22f4). The existing request must finish or be cleaned up before proceeding.",
+ "percentProgress":100
+ }
+ }
+ },
+ {
+ "request":{
+ "requestId":"001619d2-a297-4a4b-a9f5-e2823c88458f",
+ "requestScope":"vfModule",
+ "requestType":"createInstance",
+ "instanceReferences":{
+
+ },
+ "requestStatus":{
+ "requestState":"COMPLETE",
+ "statusMessage":"COMPLETED",
+ "percentProgress":100
+ }
+ }
+ },
+ {
+ "request":{
+ "requestId":"00164b9e-784d-48a8-8973-bbad6ef818ed",
+ "requestScope":"service",
+ "requestType":"createInstance",
+ "requestDetails":{
+ "modelInfo":{
+ "modelInvariantId":"52b49b5d-3086-4ffd-b5e6-1b1e5e7e062f",
+ "modelType":"service",
+ "modelName":"MSO Test Network",
+ "modelVersion":"1.0",
+ "modelVersionId":"aed5a5b7-20d3-44f7-90a3-ddbd16f14d1e"
+ },
+ "requestInfo":{
+ "source":"VID",
+ "instanceName":"DEV-n6-3100-0927-1",
+ "suppressRollback":false,
+ "requestorId":"xxxxxx"
+ },
+ "subscriberInfo":{
+ "globalSubscriberId":"MSO_1610_dev",
+ "subscriberName":"MSO_1610_dev"
+ },
+ "cloudConfiguration":{
+ "tenantId":"19123c2924c648eb8e42a3c1f14b7682",
+ "lcpCloudRegionId":"n6"
+ },
+ "requestParameters":{
+ "subscriptionServiceType":"MSO-dev-service-type",
+ "userParams":[
+ {
+ "name":"someUserParam",
+ "value":"someValue"
+ }
+ ],
+ "aLaCarte":true,
+ "autoBuildVfModules":false,
+ "cascadeDelete":false,
+ "usePreload":true
+ }
+ },
+ "instanceReferences":{
+ "serviceInstanceId":"b2f59173-b7e5-4e0f-8440-232fd601b865"
+ },
+ "requestStatus":{
+ "requestState":"COMPLETE",
+ "statusMessage":"Service Instance was created successfully.",
+ "percentProgress":100
+ }
+ }
+ },
+ {
+ "request":{
+ "requestId":"00173cc9-5ce2-4673-a810-f87fefb2829e",
+ "requestScope":"service",
+ "requestType":"createInstance",
+ "requestDetails":{
+ "modelInfo":{
+ "modelInvariantId":"ff6163d4-7214-459e-9f76-507b4eb00f51",
+ "modelType":"service",
+ "modelName":"ConstraintsSrvcVID",
+ "modelVersion":"2.0",
+ "modelVersionId":"722d256c-a374-4fba-a14f-a59b76bb7656"
+ },
+ "requestInfo":{
+ "productFamilyId":"LRSI-OSPF",
+ "source":"VID",
+ "suppressRollback":false,
+ "requestorId":"xxxxxx"
+ },
+ "subscriberInfo":{
+ "globalSubscriberId":"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"
+ },
+ "cloudConfiguration":{
+ "tenantId":"a259ae7b7c3f493cb3d91f95a7c18149",
+ "lcpCloudRegionId":"mtn16"
+ },
+ "requestParameters":{
+ "subscriptionServiceType":"Mobility",
+ "userParams":[
+ {
+ "name":"neutronport6_name",
+ "value":"8"
+ },
+ {
+ "name":"neutronnet5_network_name",
+ "value":"8"
+ },
+ {
+ "name":"contrailv2vlansubinterface3_name",
+ "value":"false"
+ }
+ ]
+ }
+ },
+ "instanceReferences":{
+
+ },
+ "requestStatus":{
+ "requestState":"FAILED",
+ "statusMessage":"Error parsing request. No valid instanceName is specified",
+ "percentProgress":100
+ }
+ }
+ },
+ {
+ "request":{
+ "requestId":"0017f68c-eb2d-45bb-b7c7-ec31b37dc349",
+ "requestScope":"configuration",
+ "requestType":"activateInstance",
+ "requestDetails":{
+ "modelInfo":{
+ "modelInvariantId":"1587cf0e-f12f-478d-8530-5c55ac578c39",
+ "modelType":"configuration",
+ "modelVersionId":"36a3a8ea-49a6-4ac8-b06c-89a545444455",
+ "modelCustomizationId":"68dc9a92-214c-11e7-93ae-92361f002671"
+ },
+ "requestInfo":{
+ "source":"VID",
+ "suppressRollback":false,
+ "requestorId":"xxxxxx"
+ },
+ "relatedInstanceList":[
+ {
+ "relatedInstance":{
+ "instanceId":"9e15a443-af65-4f05-9000-47ae495e937d",
+ "modelInfo":{
+ "modelInvariantId":"de19ae10-9a25-11e7-abc4-cec278b6b50a",
+ "modelType":"service",
+ "modelName":"MSOTADevInfra_Configuration_Service",
+ "modelVersion":"1.0",
+ "modelVersionId":"ee938612-9a25-11e7-abc4-cec278b6b50a"
+ }
+ }
+ }
+ ],
+ "cloudConfiguration":{
+ "lcpCloudRegionId":"n6"
+ },
+ "requestParameters":{
+ "aLaCarte":false,
+ "autoBuildVfModules":false,
+ "cascadeDelete":false,
+ "usePreload":true
+ }
+ },
+ "instanceReferences":{
+ "serviceInstanceId":"9e15a443-af65-4f05-9000-47ae495e937d"
+ },
+ "requestStatus":{
+ "requestState":"UNLOCKED",
+ "percentProgress":20
+ }
+ }
+ },
+ {
+ "request":{
+ "requestId":"0017f68c-eb2d-45bb-b7c7-ec31b37dc350",
+ "requestScope":"service",
+ "requestType":"createInstance",
+ "requestStatus":{
+ "requestState":"IN_PROGRESS",
+ "statusMessage":"Error parsing request.\n\tNo valid instanceName is specified"
+ }
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/RequestProcessingData.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/RequestProcessingData.json
new file mode 100644
index 0000000000..79caa33419
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/RequestProcessingData.json
@@ -0,0 +1,24 @@
+[
+ {
+ "id": 1,
+ "soRequestId": "00032ab7-na18-42e5-965d-8ea592502018",
+ "groupingId": "7d2e8c07-4d10-456d-bddc-37abf38ca714",
+ "name": "requestAction",
+ "value": "assign",
+ "tag": "pincFabricConfigRequest"
+ },{
+ "id": 2,
+ "soRequestId": "00032ab7-na18-42e5-965d-8ea592502018",
+ "groupingId": "7d2e8c07-4d10-456d-bddc-37abf38ca714",
+ "name": "pincFabricId",
+ "value": "testId",
+ "tag": "pincFabricConfigRequest"
+ },{
+ "id": 3,
+ "soRequestId": "00032ab7-na18-42e5-965d-8ea592502018",
+ "groupingId": "7d2e8c07-4d10-456d-bddc-37abf38ca715",
+ "name": "requestAction",
+ "value": "unassign",
+ "tag": "pincFabricConfig"
+ }
+] \ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/getRequestProcessingData.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/getRequestProcessingData.json
new file mode 100644
index 0000000000..af28007900
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/getRequestProcessingData.json
@@ -0,0 +1,8 @@
+{
+ "id": 1,
+ "soRequestId": "00032ab7-na18-42e5-965d-8ea592502018",
+ "groupingId": "7d2e8c07-4d10-456d-bddc-37abf38ca714",
+ "name": "requestAction",
+ "value": "assign",
+ "tag": "pincFabricConfigRequest"
+}
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/schema.sql b/mso-api-handlers/mso-api-handler-infra/src/test/resources/schema.sql
index 3540110351..381330b928 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/schema.sql
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/schema.sql
@@ -770,6 +770,77 @@ FOREIGN KEY (`NB_REQ_REF_LOOKUP_ID`) REFERENCES `northbound_request_ref_lookup`
ON DELETE CASCADE ON UPDATE CASCADE)
ENGINE = InnoDB DEFAULT CHARACTER SET = latin1;
+CREATE TABLE IF NOT EXISTS vnfc_customization (
+`MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL,
+`MODEL_INSTANCE_NAME` VARCHAR(200) NOT NULL,
+`MODEL_UUID` VARCHAR(200) NOT NULL,
+`MODEL_INVARIANT_UUID` VARCHAR(200) NOT NULL,
+`MODEL_VERSION` VARCHAR(20) NOT NULL,
+`MODEL_NAME` VARCHAR(200) NOT NULL,
+`TOSCA_NODE_TYPE` VARCHAR(200) NOT NULL,
+`DESCRIPTION` VARCHAR(1200) NULL DEFAULT NULL,
+`CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+PRIMARY KEY (`MODEL_CUSTOMIZATION_UUID`))
+ENGINE = InnoDB
+AUTO_INCREMENT = 20654
+DEFAULT CHARACTER SET = latin1;
+
+CREATE TABLE IF NOT EXISTS cvnfc_customization (
+`ID` INT(11) NOT NULL AUTO_INCREMENT,
+`MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL,
+`MODEL_INSTANCE_NAME` VARCHAR(200) NOT NULL,
+`MODEL_UUID` VARCHAR(200) NOT NULL,
+`MODEL_INVARIANT_UUID` VARCHAR(200) NOT NULL,
+`MODEL_VERSION` VARCHAR(20) NOT NULL,
+`MODEL_NAME` VARCHAR(200) NOT NULL,
+`TOSCA_NODE_TYPE` VARCHAR(200) NOT NULL,
+`DESCRIPTION` VARCHAR(1200) NULL DEFAULT NULL,
+`NFC_FUNCTION` VARCHAR(200) NULL,
+`NFC_NAMING_CODE` VARCHAR(200) NULL,
+`CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL,
+`VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL,
+`VNFC_CUST_MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL, PRIMARY KEY (`ID`), INDEX `fk_cvnfc_customization__vf_module_customization1_idx` (`VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID` ASC), INDEX `fk_cvnfc_customization__vnfc_customization1_idx` (`VNFC_CUST_MODEL_CUSTOMIZATION_UUID` ASC), INDEX `fk_cvnfc_customization__vnf_resource_customization1_idx` (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID` ASC), UNIQUE INDEX `UK_cvnfc_customization` (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID` ASC, `VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID` ASC, `MODEL_CUSTOMIZATION_UUID` ASC), INDEX `fk_cvnfc_customization__vnf_vfmod_cvnfc_config_cust1_idx` (`MODEL_CUSTOMIZATION_UUID` ASC), CONSTRAINT `fk_cvnfc_customization__vf_module_customization1` FOREIGN KEY (`VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID`) REFERENCES `vf_module_customization` (`MODEL_CUSTOMIZATION_UUID`) ON
+DELETE CASCADE ON
+UPDATE CASCADE, CONSTRAINT `fk_cvnfc_customization__vnfc_customization1` FOREIGN KEY (`VNFC_CUST_MODEL_CUSTOMIZATION_UUID`) REFERENCES `vnfc_customization` (`MODEL_CUSTOMIZATION_UUID`) ON
+DELETE CASCADE ON
+UPDATE CASCADE, CONSTRAINT `fk_cvnfc_customization__vnf_resource_customization1` FOREIGN KEY (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID`) REFERENCES `vnf_resource_customization` (`MODEL_CUSTOMIZATION_UUID`) ON
+DELETE CASCADE ON
+UPDATE CASCADE) ENGINE = InnoDB AUTO_INCREMENT = 20654 DEFAULT CHARACTER SET = latin1;
+
+CREATE TABLE IF NOT EXISTS vnf_vfmodule_cvnfc_configuration_customization (
+ `ID` INT(11) NOT NULL AUTO_INCREMENT,
+ `MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL,
+ `VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL,
+ `VF_MODULE_MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL,
+ `CVNFC_MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL,
+ `MODEL_INSTANCE_NAME` VARCHAR(200) NOT NULL,
+ `CONFIGURATION_TYPE` VARCHAR(200) NULL,
+ `CONFIGURATION_ROLE` VARCHAR(200) NULL,
+ `CONFIGURATION_FUNCTION` VARCHAR(200) NULL,
+ `POLICY_NAME` VARCHAR(200) NULL,
+ `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `CONFIGURATION_MODEL_UUID` VARCHAR(200) NOT NULL,
+ PRIMARY KEY (`ID`),
+ INDEX `fk_vnf_vfmodule_cvnfc_config_cust__configuration_idx` (`CONFIGURATION_MODEL_UUID` ASC),
+ UNIQUE INDEX `UK_vnf_vfmodule_cvnfc_configuration_customization` (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID` ASC , `VF_MODULE_MODEL_CUSTOMIZATION_UUID` ASC , `CVNFC_MODEL_CUSTOMIZATION_UUID` ASC , `MODEL_CUSTOMIZATION_UUID` ASC),
+ INDEX `fk_vnf_vfmodule_cvnfc_config_cust__cvnfc_cust1_idx` (`CVNFC_MODEL_CUSTOMIZATION_UUID` ASC),
+ INDEX `fk_vnf_vfmodule_cvnfc_config_cust__vf_module_cust_idx` (`VF_MODULE_MODEL_CUSTOMIZATION_UUID` ASC),
+ INDEX `fk_vnf_vfmodule_cvnfc_config_cust__vnf_res_cust_idx` (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID` ASC),
+ CONSTRAINT `fk_vnf_vfmod_cvnfc_config_cust__configuration_resource` FOREIGN KEY (`CONFIGURATION_MODEL_UUID`)
+ REFERENCES `configuration` (`MODEL_UUID`)
+ ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `fk_cvnfc_configuration_customization__cvnfc_customization1` FOREIGN KEY (`CVNFC_MODEL_CUSTOMIZATION_UUID`)
+ REFERENCES `cvnfc_customization` (`MODEL_CUSTOMIZATION_UUID`)
+ ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `fk_vnf_configuration_cvnfc_customization__vf_module_customiza1` FOREIGN KEY (`VF_MODULE_MODEL_CUSTOMIZATION_UUID`)
+ REFERENCES `vf_module_customization` (`MODEL_CUSTOMIZATION_UUID`)
+ ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `fk_vfmodule_cvnfc_configuration_customization__vnf_resource_c1` FOREIGN KEY (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID`)
+ REFERENCES `vnf_resource_customization` (`MODEL_CUSTOMIZATION_UUID`)
+ ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=INNODB AUTO_INCREMENT=20654 DEFAULT CHARACTER SET=LATIN1;
+
--------START Request DB SCHEMA --------
CREATE DATABASE requestdb;
USE requestdb;