Merge "Wrong additional parameter for OOF's terminateNxiRequest"
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/AnNssmfutils.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/AnNssmfutils.groovy
index 540358f..a812b37 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/AnNssmfutils.groovy
+++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/AnNssmfutils.groovy
@@ -193,7 +193,7 @@
 	ANNF_sliceProfileInstance.setServiceType(serviceType)
 	String serviceStatus = "deactivated"
 	ANNF_sliceProfileInstance.setOrchestrationStatus(serviceStatus)
-	String serviceInstanceLocationid = jsonUtil.getJsonValue(execution.getVariable("ranNfSliceProfile"), "plmnIdList")
+	String serviceInstanceLocationid = jsonUtil.getJsonValue(execution.getVariable("ranNfSliceProfile"), "pLMNIdList")
         ANNF_sliceProfileInstance.setServiceInstanceLocationId(jsonUtil.StringArrayToList(serviceInstanceLocationid).get(0))
 	String serviceRole = "slice-profile-instance"
 	ANNF_sliceProfileInstance.setServiceRole(serviceRole)
@@ -213,7 +213,7 @@
 	serviceType = jsonUtil.getJsonValue(execution.getVariable("tnFhSliceProfile"), "sST")
 	TNFH_sliceProfileInstance.setServiceType(serviceType)
 	TNFH_sliceProfileInstance.setOrchestrationStatus(serviceStatus)
-	serviceInstanceLocationid = jsonUtil.getJsonValue(execution.getVariable("tnFhSliceProfile"), "plmnIdList")
+	serviceInstanceLocationid = jsonUtil.getJsonValue(execution.getVariable("tnFhSliceProfile"), "pLMNIdList")
         TNFH_sliceProfileInstance.setServiceInstanceLocationId(jsonUtil.StringArrayToList(serviceInstanceLocationid).get(0))
 	TNFH_sliceProfileInstance.setServiceRole(serviceRole)
 	TNFH_sliceProfileInstance.setEnvironmentContext(snssai)
@@ -230,7 +230,7 @@
 	serviceType = jsonUtil.getJsonValue(execution.getVariable("tnMhSliceProfile"), "sST")
 	TNMH_sliceProfileInstance.setServiceType(serviceType)
 	TNMH_sliceProfileInstance.setOrchestrationStatus(serviceStatus)
-	serviceInstanceLocationid = jsonUtil.getJsonValue(execution.getVariable("tnMhSliceProfile"), "plmnIdList")
+	serviceInstanceLocationid = jsonUtil.getJsonValue(execution.getVariable("tnMhSliceProfile"), "pLMNIdList")
         TNMH_sliceProfileInstance.setServiceInstanceLocationId(jsonUtil.StringArrayToList(serviceInstanceLocationid).get(0))
 	TNMH_sliceProfileInstance.setServiceRole(serviceRole)
 	TNMH_sliceProfileInstance.setEnvironmentContext(snssai)
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DeAllocateSliceSubnet.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DeAllocateSliceSubnet.groovy
index 7c2f53f..0cb72ab 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DeAllocateSliceSubnet.groovy
+++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DeAllocateSliceSubnet.groovy
@@ -139,7 +139,8 @@
         ResourceOperationStatus initStatus = new ResourceOperationStatus()
         initStatus.setServiceId(nsiId)
         initStatus.setOperationId(jobId)
-        initStatus.setResourceTemplateUUID(modelUuid)
+        //initStatus.setResourceTemplateUUID(modelUuid)
+        initStatus.setResourceInstanceID(nssiId)
         initStatus.setOperType("Deallocate")
         requestDBUtil.prepareInitResourceOperationStatus(execution, initStatus)
 
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateAccessNSSI.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateAccessNSSI.groovy
index a4d503a..2564b11 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateAccessNSSI.groovy
+++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateAccessNSSI.groovy
@@ -102,7 +102,7 @@
 			}
 			String sliceProfileId = jsonUtil.getJsonValue(sliceProfile, "sliceProfileId")
 			def snssaiList = jsonUtil.StringArrayToList(jsonUtil.getJsonValue(sliceProfile, "snssaiList"))
-			def plmnIdList = jsonUtil.StringArrayToList(jsonUtil.getJsonValue(sliceProfile, "plmnIdList"))
+			def plmnIdList = jsonUtil.StringArrayToList(jsonUtil.getJsonValue(sliceProfile, "pLMNIdList"))
                         String jsonArray = jsonUtil.getJsonValue(sliceProfile, "coverageAreaTAList")
                         List<Integer> list = new ArrayList<>();
                         JSONArray arr = new JSONArray(jsonArray);
@@ -121,7 +121,7 @@
 			} else {
 				execution.setVariable("sliceProfileId", sliceProfileId)
 				execution.setVariable("snssaiList", snssaiList)
-				execution.setVariable("plmnIdList", plmnIdList)
+				execution.setVariable("pLMNIdList", plmnIdList)
 				execution.setVariable("coverageAreaTAList", coverageAreaTAList)
 			}
 			String nsiName = jsonUtil.getJsonValue(sliceParams, "nsiInfo.nsiName")
@@ -388,7 +388,7 @@
 		serviceInfo.addProperty("nsiId", execution.getVariable("nsiId"))
 		serviceInfo.addProperty("nssiName", execution.getVariable("servicename"))
                 serviceInfo.addProperty("sST", execution.getVariable("sst"))
-		serviceInfo.addProperty("PLMNIdList", objectMapper.writeValueAsString(execution.getVariable("plmnIdList")))
+		serviceInfo.addProperty("PLMNIdList", objectMapper.writeValueAsString(execution.getVariable("pLMNIdList")))
 		serviceInfo.addProperty("globalSubscriberId", execution.getVariable("globalSubscriberId"))
 		serviceInfo.addProperty("subscriptionServiceType", execution.getVariable("subscriptionServiceType"))
 		serviceInfo.addProperty("serviceInvariantUuid", execution.getVariable("modelInvariantUuid"))
@@ -558,7 +558,7 @@
                 ANServiceInstance.setServiceType(execution.getVariable("sst"))
 		String serviceStatus = "deactivated"
 		ANServiceInstance.setOrchestrationStatus(serviceStatus)
-		String serviceInstanceLocationid = jsonUtil.getJsonValue(execution.getVariable("sliceProfile"), "plmnIdList")
+		String serviceInstanceLocationid = jsonUtil.getJsonValue(execution.getVariable("sliceProfile"), "pLMNIdList")
                 ANServiceInstance.setServiceInstanceLocationId(jsonUtil.StringArrayToList(serviceInstanceLocationid).get(0))
 		String serviceRole = "nssi"
 		ANServiceInstance.setServiceRole(serviceRole)
@@ -625,7 +625,7 @@
                 ANServiceInstance.setServiceType(execution.getVariable("sst"))
 		String serviceStatus = "deactivated"
 		ANServiceInstance.setOrchestrationStatus(serviceStatus)
-		String serviceInstanceLocationid = jsonUtil.getJsonValue(execution.getVariable("sliceProfile"), "plmnIdList")
+		String serviceInstanceLocationid = jsonUtil.getJsonValue(execution.getVariable("sliceProfile"), "pLMNIdList")
 		ANServiceInstance.setServiceInstanceLocationId(serviceInstanceLocationid)
 		String serviceRole = "nssi"
 		ANServiceInstance.setServiceRole(serviceRole)
@@ -647,7 +647,7 @@
 		ANNFServiceInstance.setServiceInstanceName(sliceInstanceName)
 		ANNFServiceInstance.setServiceType(execution.getVariable("sst"))
 		ANNFServiceInstance.setOrchestrationStatus(serviceStatus)
-		serviceInstanceLocationid = jsonUtil.getJsonValue(execution.getVariable("ranNfSliceProfile"), "plmnIdList")
+		serviceInstanceLocationid = jsonUtil.getJsonValue(execution.getVariable("ranNfSliceProfile"), "pLMNIdList")
                 ANNFServiceInstance.setServiceInstanceLocationId(jsonUtil.StringArrayToList(serviceInstanceLocationid).get(0))
 		ANNFServiceInstance.setServiceRole(serviceRole)
 		snssaiList = execution.getVariable("snssaiList")
@@ -735,7 +735,7 @@
 		JsonObject serviceInfo = new JsonObject()
 		serviceInfo.addProperty("nsiId", execution.getVariable("nsiId"))
                 serviceInfo.addProperty("sST", execution.getVariable("sst"))
-		serviceInfo.addProperty("PLMNIdList", objectMapper.writeValueAsString(execution.getVariable("plmnIdList")))
+		serviceInfo.addProperty("PLMNIdList", objectMapper.writeValueAsString(execution.getVariable("pLMNIdList")))
 		serviceInfo.addProperty("globalSubscriberId", execution.getVariable("globalSubscriberId"))
 		serviceInfo.addProperty("subscriptionServiceType", execution.getVariable("subscriptionServiceType"))
 		if(domainType.equals("TN_FH")) {
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateNSIandNSSI.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateNSIandNSSI.groovy
index 0d64d78..0088ed4 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateNSIandNSSI.groovy
+++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateNSIandNSSI.groovy
@@ -691,6 +691,7 @@
 
         allocateTnNssi.setNetworkSliceInfos()
         allocateTnNssi.setSliceProfile(sliceTaskInfo.sliceProfile.trans2TnProfile())
+        allocateTnNssi.getSliceProfile().setDomainType(sliceTaskInfo.subnetType.subnetType)
         NsiInfo nsiInfo = new NsiInfo()
         nsiInfo.setNsiId(sliceParams.suggestNsiId)
         nsiInfo.setNsiName(sliceParams.suggestNsiName)
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeallocateNSSI.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeallocateNSSI.groovy
index 147e623..554f7a6 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeallocateNSSI.groovy
+++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeallocateNSSI.groovy
@@ -129,7 +129,7 @@
         if(serviceCategory ==~ /CN.*/){
             return SubnetType.CN.getNetworkType()
         }
-        if (serviceCategory ==~ /AN.*NF.*/){
+        if (serviceCategory ==~ /AN.*/){
             return SubnetType.AN.getNetworkType()
         }
         if (serviceCategory ==~ /TN.*BH.*/){
@@ -166,6 +166,7 @@
         deAllocateNssi.setTerminateNssiOption(0)
         deAllocateNssi.setSnssaiList(Arrays.asList(snssai))
         deAllocateNssi.setScriptName(scriptName)
+        deAllocateNssi.setSliceProfileId(profileId)
         
         ServiceInfo serviceInfo = new ServiceInfo()
         serviceInfo.setServiceInvariantUuid(serviceInvariantUuid)
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteSliceService.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteSliceService.groovy
index 5fd06fd..7dc63b6 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteSliceService.groovy
+++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteSliceService.groovy
@@ -31,6 +31,7 @@
 import org.onap.aaiclient.client.aai.entities.uri.AAIUriFactory
 import org.onap.aaiclient.client.generated.fluentbuilders.AAIFluentTypeBuilder
 import org.onap.aaiclient.client.generated.fluentbuilders.AAIFluentTypeBuilder.Types
+import org.onap.so.client.oof.adapter.beans.payload.OofRequest
 import org.onap.logging.filter.base.ONAPComponents
 import org.onap.so.bpmn.common.scripts.AbstractServiceTaskProcessor
 import org.onap.so.bpmn.common.scripts.ExceptionUtil
@@ -40,6 +41,7 @@
 import org.onap.so.client.HttpClientFactory
 import org.slf4j.Logger
 import org.slf4j.LoggerFactory
+import com.fasterxml.jackson.databind.ObjectMapper
 
 import javax.ws.rs.NotFoundException
 import javax.ws.rs.core.Response
@@ -404,11 +406,12 @@
     {
         LOGGER.debug("Start terminateNSIQuery")
 
-        return
+        //return
 
         //To test
         String requestId = execution.getVariable("msoRequestId")
-        String nxlId = currentNSSI['nsiServiceInstanceId']
+        String nxlId = execution.getVariable("nsiId")
+        //String nxlId = currentNSSI['nsiServiceInstanceId']
         String nxlType = "NSI"
         String messageType = "nsiTerminationResponse"
         String serviceInstanceId = execution.getVariable("serviceInstanceId")
@@ -433,12 +436,17 @@
             exceptionUtil.buildAndThrowWorkflowException(execution, 401, "Internal Error - BasicAuth " +
                     "value null")
         }
-
-        URL requestUrl = new URL(oofUrl + "/api/oof/terminate/nxi/v1")
+        String oofUrl = UrnPropertiesReader.getVariable("mso.adapters.oof.endpoint", execution)
+        URL requestUrl = new URL(oofUrl)
         String oofRequest = oofUtils.buildTerminateNxiRequest(requestId, nxlId, nxlType, messageType, serviceInstanceId)
+        OofRequest oofPayload = new OofRequest()
+	oofPayload.setApiPath("/api/oof/terminate/nxi/v1")
+	oofPayload.setRequestDetails(oofRequest)
+	ObjectMapper objectMapper = new ObjectMapper()
+	String requestJson = objectMapper.writeValueAsString(oofPayload)
         HttpClient httpClient = new HttpClientFactory().newJsonClient(requestUrl, ONAPComponents.OOF)
         httpClient.addAdditionalHeader("Authorization", authHeader)
-        Response httpResponse = httpClient.post(oofRequest)
+        Response httpResponse = httpClient.post(requestJson)
 
         int responseCode = httpResponse.getStatus()
         LOGGER.debug("OOF sync response code is: " + responseCode)
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoModifyAccessNSSI.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoModifyAccessNSSI.groovy
index f6be861..3bb1c0b 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoModifyAccessNSSI.groovy
+++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoModifyAccessNSSI.groovy
@@ -237,7 +237,7 @@
                 ServiceInstance ranSliceProfileInstance = execution.getVariable("ranSliceProfileInstance")
                 profileInfo.put("sST",ranSliceProfileInstance.getServiceType())
                 profileInfo.put("snssaiList",execution.getVariable("snssaiList"))
-                profileInfo.put("plmnIdList",Arrays.asList(ranSliceProfileInstance.getServiceInstanceLocationId()))
+                profileInfo.put("pLMNIdList",Arrays.asList(ranSliceProfileInstance.getServiceInstanceLocationId()))
                 profileInfo.put("uEMobilityLevel",profileInfo.get("ueMobilityLevel"))
                 profileInfo.put("cSAvailabilityTarget",profileInfo.get("csAvailabilityTarget"))
                 profileInfo.put("maxNumberofPDUSession",profileInfo.get("maxNumberOfPDUSession"))
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoModifyCoreNSSI.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoModifyCoreNSSI.groovy
index a52763f..8ae56a3 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoModifyCoreNSSI.groovy
+++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoModifyCoreNSSI.groovy
@@ -179,7 +179,7 @@
         String serviceStatus = "deactivated"
         sliceProfileInstance.setOrchestrationStatus(serviceStatus)
 
-        String serviceInstanceLocationid = jsonUtil.getJsonValue(currentNSSI['sliceProfile'], "plmnIdList")
+        String serviceInstanceLocationid = jsonUtil.getJsonValue(currentNSSI['sliceProfile'], "pLMNIdList")
         sliceProfileInstance.setServiceInstanceLocationId(serviceInstanceLocationid)
 
         String serviceRole = "slice-profile-instance"
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/ServiceIntentUtils.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/ServiceIntentUtils.groovy
index f60bfa1..c77e6b8 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/ServiceIntentUtils.groovy
+++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/ServiceIntentUtils.groovy
@@ -361,7 +361,7 @@
     }
 
     String getFirstPlmnIdFromSliceProfile(String sliceProfileStr) {
-        String plmnListStr = jsonUtil.getJsonValue(sliceProfileStr, "plmnIdList")
+        String plmnListStr = jsonUtil.getJsonValue(sliceProfileStr, "pLMNIdList")
         String res = jsonUtil.StringArrayToList(plmnListStr).get(0)
 
         return res
@@ -666,4 +666,4 @@
 
         return res
     }
-}
\ No newline at end of file
+}
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnNssmfUtils.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnNssmfUtils.groovy
index fc21ed4..08c03b0 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnNssmfUtils.groovy
+++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnNssmfUtils.groovy
@@ -293,7 +293,7 @@
     }
 
     String getFirstPlmnIdFromSliceProfile(String sliceProfileStr) {
-        String plmnListStr = jsonUtil.getJsonValue(sliceProfileStr, "plmnIdList")
+        String plmnListStr = jsonUtil.getJsonValue(sliceProfileStr, "pLMNIdList")
         String res = jsonUtil.StringArrayToList(plmnListStr).get(0)
 
         return res
@@ -598,4 +598,4 @@
 
         return res
     }
-}
\ No newline at end of file
+}
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/adapter/cnf/tasks/CnfAdapterCreateTasks.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/adapter/cnf/tasks/CnfAdapterCreateTasks.java
index 2dda267..ed01f22 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/adapter/cnf/tasks/CnfAdapterCreateTasks.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/adapter/cnf/tasks/CnfAdapterCreateTasks.java
@@ -130,6 +130,14 @@
     public void prepareForCnfUpdateOrDelete(BuildingBlockExecution execution) {
 
         GeneralBuildingBlock gBBInput = execution.getGeneralBuildingBlock();
+        GenericVnf genericVnfId = null;
+        VfModule vfModuleId = null;
+        try {
+            genericVnfId = extractPojosForBB.extractByKey(execution, ResourceKey.GENERIC_VNF_ID);
+            vfModuleId = extractPojosForBB.extractByKey(execution, ResourceKey.VF_MODULE_ID);
+        } catch (Exception ex) {
+            logger.error("Exception occurred", ex);
+        }
 
         String heatStackId = execution.getVariable("heatStackId");
 
@@ -140,7 +148,9 @@
         String callbackUrl =
                 "http://so-bpmn-infra.onap:8081/mso/WorkflowMessage/" + CNF_ADAPTER_MESSAGE_TYPE + "/" + requestId;
 
-        CnfAaiUpdateRequest aaiRequest = createCnfAaiUpdateRequest(heatStackId, cloudRegion, callbackUrl);
+        CnfAaiUpdateRequest aaiRequest =
+                createCnfAaiUpdateRequest(heatStackId, cloudRegion, callbackUrl, genericVnfId, vfModuleId);
+
         logger.debug("aaiRequest: {}", aaiRequest);
 
         String cnfRequestPayload = "";
@@ -192,14 +202,15 @@
     }
 
     protected CnfAaiUpdateRequest createCnfAaiUpdateRequest(String heatStackId, CloudRegion cloudRegion,
-            String callbackUrl) {
+            String callbackUrl, GenericVnf genericVnfId, VfModule vfModuleId) {
         CnfAaiUpdateRequest request = new CnfAaiUpdateRequest();
         request.setCallbackUrl(callbackUrl);
         request.setCloudOwner(cloudRegion.getCloudOwner());
         request.setCloudRegion(cloudRegion.getLcpCloudRegionId());
         request.setTenantId(cloudRegion.getTenantId());
         request.setInstanceId(heatStackId);
-
+        request.setGenericVnfId(genericVnfId.getVnfId());
+        request.setVfModuleId(vfModuleId.getVfModuleId());
         return request;
     }
 
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/cnf/entities/CnfAaiUpdateRequest.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/cnf/entities/CnfAaiUpdateRequest.java
index 4cc675f..2847074 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/cnf/entities/CnfAaiUpdateRequest.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/cnf/entities/CnfAaiUpdateRequest.java
@@ -23,6 +23,13 @@
     @JsonProperty("callbackUrl")
     private String callbackUrl;
 
+    @JsonProperty("genericVnfId")
+    private String genericVnfId;
+
+    @JsonProperty("vfModuleId")
+    private String vfModuleId;
+
+
     public String getInstanceId() {
         return instanceId;
     }
@@ -63,10 +70,27 @@
         this.callbackUrl = callbackUrl;
     }
 
+    public String getGenericVnfId() {
+        return genericVnfId;
+    }
+
+    public void setGenericVnfId(String genericVnfId) {
+        this.genericVnfId = genericVnfId;
+    }
+
+    public String getVfModuleId() {
+        return vfModuleId;
+    }
+
+    public void setVfModuleId(String vfModuleId) {
+        this.vfModuleId = vfModuleId;
+    }
+
     @Override
     public String toString() {
         return "CnfAaiUpdateRequest [instanceId=" + instanceId + ", cloudRegion=" + cloudRegion + ", cloudOwner="
-                + cloudOwner + ", tenantId=" + tenantId + ", callbackUrl=" + callbackUrl + "]";
+                + cloudOwner + ", tenantId=" + tenantId + ", callbackUrl=" + callbackUrl + ", genericVnfId="
+                + genericVnfId + ", vfModuleId=" + vfModuleId + " ]";
     }
 
 }
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/AnSliceProfile.java b/common/src/main/java/org/onap/so/beans/nsmf/AnSliceProfile.java
index be4833a..7ad1d4e 100644
--- a/common/src/main/java/org/onap/so/beans/nsmf/AnSliceProfile.java
+++ b/common/src/main/java/org/onap/so/beans/nsmf/AnSliceProfile.java
@@ -43,7 +43,7 @@
     @JsonProperty(value = "snssaiList", required = true)
     private List<String> sNSSAIList;
 
-    @JsonProperty(value = "plmnIdList", required = true)
+    @JsonProperty(value = "pLMNIdList", required = true)
     private List<String> pLMNIdList;
 
     @JsonProperty(value = "perfReq", required = true)
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/CnSliceProfile.java b/common/src/main/java/org/onap/so/beans/nsmf/CnSliceProfile.java
index efb447b..bdb8420 100644
--- a/common/src/main/java/org/onap/so/beans/nsmf/CnSliceProfile.java
+++ b/common/src/main/java/org/onap/so/beans/nsmf/CnSliceProfile.java
@@ -37,7 +37,7 @@
 
     private String sliceProfileId;
 
-    @JsonProperty(value = "plmnIdList", required = true)
+    @JsonProperty(value = "pLMNIdList", required = true)
     private List<String> pLMNIdList;
 
     @JsonProperty(value = "perfReq", required = true)
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/TnSliceProfile.java b/common/src/main/java/org/onap/so/beans/nsmf/TnSliceProfile.java
index 50f0e3d..ffce5e9 100644
--- a/common/src/main/java/org/onap/so/beans/nsmf/TnSliceProfile.java
+++ b/common/src/main/java/org/onap/so/beans/nsmf/TnSliceProfile.java
@@ -43,12 +43,15 @@
     @JsonProperty(value = "snssaiList", required = true)
     private List<String> sNSSAIList;
 
-    @JsonProperty(value = "plmnIdList", required = true)
+    @JsonProperty(value = "pLMNIdList", required = true)
     private List<String> pLMNIdList;
 
     @JsonProperty(value = "jitter")
     private int jitter;
 
+    @JsonProperty(value = "domainType")
+    private String domainType;
+
     @JsonProperty(value = "resourceSharingLevel")
     private ResourceSharingLevel resourceSharingLevel;
 }
diff --git a/docs/release-notes.rst b/docs/release-notes.rst
index 90fd8aa..f3b8d45 100644
--- a/docs/release-notes.rst
+++ b/docs/release-notes.rst
@@ -14,6 +14,17 @@
 Release Notes
 =============
 
+Version: 9.0
+==============
+
+Release Purpose
+----------------
+SO Istanbul Release
+
+**Epics**
+
+*  `REQ-627 <https://jira.onap.org/browse/REQ-627>`_ - ONAP CNF orchestration - Istanbul Enhancements
+
 Version: 8.0
 ==============
 
diff --git a/graph-inventory/aai-client/src/main/java/org/onap/aaiclient/client/aai/AAIVersion.java b/graph-inventory/aai-client/src/main/java/org/onap/aaiclient/client/aai/AAIVersion.java
index ab214d8..a624612 100644
--- a/graph-inventory/aai-client/src/main/java/org/onap/aaiclient/client/aai/AAIVersion.java
+++ b/graph-inventory/aai-client/src/main/java/org/onap/aaiclient/client/aai/AAIVersion.java
@@ -36,7 +36,8 @@
     V20("v20"),
     V21("v21"),
     V22("v22"),
-    V23("v23");
+    V23("v23"),
+    V24("v24");
 
     public static final AAIVersion LATEST = AAIVersion.values()[AAIVersion.values().length - 1];
     private final String value;
diff --git a/pom.xml b/pom.xml
index c732c6f..c56cd16 100644
--- a/pom.xml
+++ b/pom.xml
@@ -701,14 +701,17 @@
     <dependency>
       <groupId>org.onap.logging-analytics</groupId>
       <artifactId>logging-slf4j</artifactId>
+      <version>${onap-logging-version}</version>
     </dependency>
     <dependency>
       <groupId>org.onap.logging-analytics</groupId>
       <artifactId>logging-filter-base</artifactId>
+      <version>${onap-logging-version}</version>
     </dependency>
     <dependency>
       <groupId>org.onap.logging-analytics</groupId>
       <artifactId>logging-filter-spring</artifactId>
+      <version>${onap-logging-version}</version>
     </dependency>
     <dependency>
       <groupId>com.fasterxml.jackson.core</groupId>
@@ -962,7 +965,7 @@
       <dependency>
         <groupId>org.onap.aai.schema-service</groupId>
         <artifactId>aai-schema</artifactId>
-        <version>1.9.1</version>
+        <version>1.9.2</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>