diff options
author | wsliwka <wojciech.sliwka@nokia.com> | 2019-09-17 14:31:42 +0200 |
---|---|---|
committer | wsliwka <wojciech.sliwka@nokia.com> | 2019-09-19 10:26:48 +0200 |
commit | 804882648e0c7c4bc8016870017ec43a6156253c (patch) | |
tree | eb1ba96a9072277f2f07f8ef72af4855d510524c /vid-app-common/src/main/java/org | |
parent | 6e08835bcfe44b02f73d349b0d87aa3591bc45e4 (diff) |
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 <wojciech.sliwka@nokia.com>
Change-Id: I6151151a0256a5bb4e637acf08ae511f4b265dc2
Signed-off-by: wsliwka <wojciech.sliwka@nokia.com>
Diffstat (limited to 'vid-app-common/src/main/java/org')
3 files changed, 37 insertions, 9 deletions
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<ServiceInstantiationRequestDetails> { @@ -61,7 +63,8 @@ class MsoRequestBuilder fun generateMacroServiceInstantiationRequest(jobId: UUID?, payload: ServiceInstantiation, optimisticUniqueServiceInstanceName: String, userId: String): RequestDetailsWrapper<ServiceInstantiationRequestDetails> { 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<String, String> = instanceParams[0].entries.stream() + val result: MutableMap<String, String> = 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<Map<String, String>>): List<ServiceInstantiationRequestDetails.UserParamNameAndValue> { - 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<UserParamTypes> { + val userParams = generateServiceInstantiationServicesList(payload, serviceInstanceName, createServiceInstantiationVnfList(jobId, payload)) + + return userParams.plus(homingSolution()) + } + + private fun homingSolution(): List<UserParamTypes> { + 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, |