From 804882648e0c7c4bc8016870017ec43a6156253c Mon Sep 17 00:00:00 2001 From: wsliwka Date: Tue, 17 Sep 2019 14:31:42 +0200 Subject: Disable homing_solution Send Homing_solution=none during macro instantiation Add flag 'FLAG_DISABLE_HOMING' (by default set to true) which defines whether homing_solution should be in request to so or not Issue-ID: VID-576 Signed-off-by: wsliwka Change-Id: I6151151a0256a5bb4e637acf08ae511f4b265dc2 Signed-off-by: wsliwka --- .../org/onap/vid/job/command/MsoRequestBuilder.kt | 32 ++++++++++++++++------ .../model/ServiceInstantiationRequestDetails.java | 13 +++++++++ .../java/org/onap/vid/properties/Features.java | 1 + .../webapp/WEB-INF/conf/dev.features.properties | 1 + .../webapp/WEB-INF/conf/onap.features.properties | 2 +- 5 files changed, 39 insertions(+), 10 deletions(-) (limited to 'vid-app-common/src/main') diff --git a/vid-app-common/src/main/java/org/onap/vid/job/command/MsoRequestBuilder.kt b/vid-app-common/src/main/java/org/onap/vid/job/command/MsoRequestBuilder.kt index c8502b1e5..b35deb892 100644 --- a/vid-app-common/src/main/java/org/onap/vid/job/command/MsoRequestBuilder.kt +++ b/vid-app-common/src/main/java/org/onap/vid/job/command/MsoRequestBuilder.kt @@ -13,6 +13,7 @@ import org.onap.vid.mso.model.* import org.onap.vid.mso.model.BaseResourceInstantiationRequestDetails.* import org.onap.vid.mso.model.VfModuleInstantiationRequestDetails.UserParamMap import org.onap.vid.mso.rest.SubscriberInfo +import org.onap.vid.properties.Features import org.onap.vid.services.AsyncInstantiationBusinessLogic import org.onap.vid.services.CloudOwnerService import org.onap.vid.utils.JACKSON_OBJECT_MAPPER @@ -33,6 +34,7 @@ class MsoRequestBuilder companion object { private val LOGGER = EELFLoggerDelegate.getLogger(MsoRequestBuilder::class.java) private const val VID_SOURCE = "VID" + private const val DISABLED_HOMING_VALUE = "none" } fun generateALaCarteServiceInstantiationRequest(payload: ServiceInstantiation, optimisticUniqueServiceInstanceName: String, userId: String): RequestDetailsWrapper { @@ -61,7 +63,8 @@ class MsoRequestBuilder fun generateMacroServiceInstantiationRequest(jobId: UUID?, payload: ServiceInstantiation, optimisticUniqueServiceInstanceName: String, userId: String): RequestDetailsWrapper { val serviceInstanceName = generateServiceName(jobId, payload, optimisticUniqueServiceInstanceName) - val serviceInstantiationServiceList = generateServiceInstantiationServicesList(payload, serviceInstanceName, createServiceInstantiationVnfList(jobId, payload)) + val serviceInstantiationServiceList = generateMacroServiceInstantiationRequestParams(payload, serviceInstanceName, jobId) + val requestParameters = ServiceInstantiationRequestDetails.RequestParameters(payload.subscriptionServiceType, false, serviceInstantiationServiceList) @@ -213,9 +216,9 @@ class MsoRequestBuilder } } - val result : MutableMap = instanceParams[0].entries.stream() + val result: MutableMap = instanceParams[0].entries.stream() .filter { entry -> !keysToRemove.contains(entry.key) } - .collect(Collectors.toMap({it.key}, {it.value})) + .collect(Collectors.toMap({ it.key }, { it.value })) return if (result.isEmpty()) emptyList() else listOf(result) } @@ -330,7 +333,7 @@ class MsoRequestBuilder private fun generateCloudConfiguration(lcpCloudRegionId: String?, tenantId: String?): CloudConfiguration { val cloudConfiguration = CloudConfiguration(lcpCloudRegionId, tenantId) - if(lcpCloudRegionId != null){ + if (lcpCloudRegionId != null) { cloudOwnerService.enrichCloudConfigurationWithCloudOwner(cloudConfiguration, lcpCloudRegionId) } return cloudConfiguration @@ -342,7 +345,7 @@ class MsoRequestBuilder .collect(Collectors.toList()) } - private fun generateRequestInfo(instanceName: String?, resourceType: ResourceType?, rollbackOnFailure: Boolean?, productFamilyId: String?, userId: String) : BaseResourceInstantiationRequestDetails.RequestInfo { + private fun generateRequestInfo(instanceName: String?, resourceType: ResourceType?, rollbackOnFailure: Boolean?, productFamilyId: String?, userId: String): BaseResourceInstantiationRequestDetails.RequestInfo { return BaseResourceInstantiationRequestDetails.RequestInfo( if (resourceType == null) null else getUniqueNameIfNeeded(instanceName, resourceType, false), productFamilyId, @@ -386,10 +389,7 @@ class MsoRequestBuilder } private fun generateUserParamsNameAndValue(instanceParams: List>): List { - if (instanceParams == null){ - return emptyList() - } - return instanceParams.getOrElse(0, {emptyMap()}).map{x-> ServiceInstantiationRequestDetails.UserParamNameAndValue(x.key, x.value)} + return instanceParams.getOrElse(0) {emptyMap()}.map{ x-> ServiceInstantiationRequestDetails.UserParamNameAndValue(x.key, x.value)} } private fun generateSubscriberInfoPre1806(payload: ServiceInstantiation): SubscriberInfo { @@ -408,4 +408,18 @@ class MsoRequestBuilder listOf(vpn, network).map { RelatedInstance(it.modelInfo, it.instanceId, it.instanceName) } } } + + private fun generateMacroServiceInstantiationRequestParams(payload: ServiceInstantiation, serviceInstanceName: String?, jobId: UUID?): List { + val userParams = generateServiceInstantiationServicesList(payload, serviceInstanceName, createServiceInstantiationVnfList(jobId, payload)) + + return userParams.plus(homingSolution()) + } + + private fun homingSolution(): List { + return if (featureManager.isActive(Features.FLAG_DISABLE_HOMING)) { + listOf(ServiceInstantiationRequestDetails.HomingSolution(DISABLED_HOMING_VALUE)) + } else { + listOf() + } + } } diff --git a/vid-app-common/src/main/java/org/onap/vid/mso/model/ServiceInstantiationRequestDetails.java b/vid-app-common/src/main/java/org/onap/vid/mso/model/ServiceInstantiationRequestDetails.java index 8f8dd681a..e610d6c40 100644 --- a/vid-app-common/src/main/java/org/onap/vid/mso/model/ServiceInstantiationRequestDetails.java +++ b/vid-app-common/src/main/java/org/onap/vid/mso/model/ServiceInstantiationRequestDetails.java @@ -136,6 +136,19 @@ public class ServiceInstantiationRequestDetails { } } + public static class HomingSolution implements UserParamTypes { + private final String homingSolution; + + public HomingSolution(String homingSolution) { + this.homingSolution = homingSolution; + } + + @JsonProperty("Homing_Solution") + public String getHomingSolution() { + return homingSolution; + } + } + public static class ServiceInstantiationService implements UserParamTypes { private final ServiceInstantiationServiceInner serviceInstantiationServiceInner; diff --git a/vid-app-common/src/main/java/org/onap/vid/properties/Features.java b/vid-app-common/src/main/java/org/onap/vid/properties/Features.java index 9abf68bca..00d8424d1 100644 --- a/vid-app-common/src/main/java/org/onap/vid/properties/Features.java +++ b/vid-app-common/src/main/java/org/onap/vid/properties/Features.java @@ -74,6 +74,7 @@ public enum Features implements Feature { FLAG_PNP_INSTANTIATION, FLAG_HANDLE_SO_WORKFLOWS, FLAG_CREATE_ERROR_REPORTS, + FLAG_DISABLE_HOMING, FLAG_FLASH_REDUCED_RESPONSE_CHANGEMG, FLAG_FLASH_MORE_ACTIONS_BUTTON_IN_OLD_VIEW_EDIT, FLAG_FLASH_CLOUD_REGION_AND_NF_ROLE_OPTIONAL_SEARCH, diff --git a/vid-app-common/src/main/webapp/WEB-INF/conf/dev.features.properties b/vid-app-common/src/main/webapp/WEB-INF/conf/dev.features.properties index 8438172e3..ff542d012 100644 --- a/vid-app-common/src/main/webapp/WEB-INF/conf/dev.features.properties +++ b/vid-app-common/src/main/webapp/WEB-INF/conf/dev.features.properties @@ -32,5 +32,6 @@ FLAG_1810_AAI_LOCAL_CACHE = true FLAG_1902_NEW_VIEW_EDIT= false FLAG_EXP_USE_DEFAULT_HOST_NAME_VERIFIER = false FLAG_1902_VNF_GROUPING = true +FLAG_DISABLE_HOMING = true FLAG_FLASH_CLOUD_REGION_AND_NF_ROLE_OPTIONAL_SEARCH=false FLAG_FLASH_REDUCED_RESPONSE_CHANGEMG = false diff --git a/vid-app-common/src/main/webapp/WEB-INF/conf/onap.features.properties b/vid-app-common/src/main/webapp/WEB-INF/conf/onap.features.properties index adff1112e..d1ce91f44 100644 --- a/vid-app-common/src/main/webapp/WEB-INF/conf/onap.features.properties +++ b/vid-app-common/src/main/webapp/WEB-INF/conf/onap.features.properties @@ -35,4 +35,4 @@ FLAG_EXP_ANY_ALACARTE_NEW_INSTANTIATION_UI = false FLAG_SUPPLEMENTARY_FILE = false FLAG_1902_NEW_VIEW_EDIT=false FLAG_1902_VNF_GROUPING = false - +FLAG_DISABLE_HOMING = true -- cgit 1.2.3-korg