diff options
9 files changed, 359 insertions, 298 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 5ec0e253e..7384c97e2 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 dd22dcbcd..db2ff8e97 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,6 +32,7 @@ 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 FLAG_1911_INSTANTIATION_ORDER_IN_ASYNC_ALACARTE = 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 diff --git a/vid-app-common/src/test/java/org/onap/vid/services/AsyncInstantiationBusinessLogicTest.java b/vid-app-common/src/test/java/org/onap/vid/services/AsyncInstantiationBusinessLogicTest.java index 2b4f4be62..ce0aa42f2 100644 --- a/vid-app-common/src/test/java/org/onap/vid/services/AsyncInstantiationBusinessLogicTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/services/AsyncInstantiationBusinessLogicTest.java @@ -190,6 +190,7 @@ public class AsyncInstantiationBusinessLogicTest extends AsyncInstantiationBaseT @BeforeClass void initServicesInfoService() { MockitoAnnotations.initMocks(this); + doReturn(false).when(featureManager).isActive(Features.FLAG_DISABLE_HOMING); AsyncInstantiationRepository realAsyncInstantiationRepository = new AsyncInstantiationRepository(dataAccessService); asyncInstantiationRepository = spy(realAsyncInstantiationRepository); diff --git a/vid-app-common/src/test/java/org/onap/vid/services/MsoRequestBuilderTest.java b/vid-app-common/src/test/java/org/onap/vid/services/MsoRequestBuilderTest.java index bd761f275..2c70b3ddc 100644 --- a/vid-app-common/src/test/java/org/onap/vid/services/MsoRequestBuilderTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/services/MsoRequestBuilderTest.java @@ -26,6 +26,7 @@ import static net.javacrumbs.jsonunit.core.Option.IGNORING_ARRAY_ORDER; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.IsEqual.equalTo; import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; @@ -85,6 +86,7 @@ import org.testng.Assert; import org.testng.annotations.BeforeClass; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; +import org.togglz.core.manager.FeatureManager; @ContextConfiguration(classes = {DataSourceConfig.class, SystemProperties.class, MockedAaiClientAndFeatureManagerConfig.class}) public class MsoRequestBuilderTest extends AsyncInstantiationBaseTest { @@ -138,22 +140,32 @@ public class MsoRequestBuilderTest extends AsyncInstantiationBaseTest { @Test public void createServiceInfo_WithUserProvidedNamingFalse_ServiceInfoIsAsExpected() throws IOException { - createMacroServiceInfo_WithUserProvidedNamingFalse_ServiceInfoIsAsExpected(true); + createMacroServiceInfo_WithUserProvidedNamingFalse_ServiceInfoIsAsExpected(true, + false); } @Test public void createServiceInfo_WithUserProvidedNamingFalseAndNoVfmodules_ServiceInfoIsAsExpected() throws IOException { - createMacroServiceInfo_WithUserProvidedNamingFalse_ServiceInfoIsAsExpected(false); + createMacroServiceInfo_WithUserProvidedNamingFalse_ServiceInfoIsAsExpected(false, false); } - private void createMacroServiceInfo_WithUserProvidedNamingFalse_ServiceInfoIsAsExpected(boolean withVfmodules) throws IOException { + @Test + public void shouldCreateServiceInfoWithHomingSolutionDisabled() throws IOException { + doReturn(true).when(featureManager).isActive(Features.FLAG_DISABLE_HOMING); + + createMacroServiceInfo_WithUserProvidedNamingFalse_ServiceInfoIsAsExpected(true, true); + } + + private void createMacroServiceInfo_WithUserProvidedNamingFalse_ServiceInfoIsAsExpected(boolean withVfmodules, boolean disabledHoming) throws IOException { ServiceInstantiation serviceInstantiationPayload = generateMockMacroServiceInstantiationPayload(true, createVnfList(vfModuleInstanceParamsMapWithParamsToRemove, Collections.EMPTY_LIST, false), 1, false, PROJECT_NAME, true); URL resource; - if (withVfmodules) { + if (disabledHoming) { + resource = this.getClass().getResource("/payload_jsons/bulk_service_no_homing.json"); + } else if (withVfmodules) { resource = this.getClass().getResource("/payload_jsons/bulk_service_request_ecomp_naming.json"); } else { // remove the vf modules diff --git a/vid-app-common/src/test/resources/payload_jsons/bulk_service_no_homing.json b/vid-app-common/src/test/resources/payload_jsons/bulk_service_no_homing.json new file mode 100644 index 000000000..f61280024 --- /dev/null +++ b/vid-app-common/src/test/resources/payload_jsons/bulk_service_no_homing.json @@ -0,0 +1,99 @@ +{ + "requestDetails": { + "modelInfo": { + "modelType": "service", + "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b", + "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a", + "modelName": "MOW AVPN vMX BV vPE 1 Service", + "modelVersion": "10.0" + }, + "owningEntity": { + "owningEntityId": "038d99af-0427-42c2-9d15-971b99b9b489", + "owningEntityName": "JULIO ERICKSON" + }, + "project": { + "projectName": "{some project name}" + }, + "subscriberInfo": { + "globalSubscriberId": "{some subscriber id}" + }, + "requestInfo": { + "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + "source": "VID", + "suppressRollback": false, + "requestorId": "az2016" + }, + "requestParameters": { + "subscriptionServiceType": "VMX", + "aLaCarte": false, + "userParams": [{ + "service": { + "modelInfo": { + "modelType": "service", + "modelName": "MOW AVPN vMX BV vPE 1 Service", + "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a" + }, + "instanceParams": [{ + "instanceParams_test1": "some text", + "instanceParams_test2": "another text" + }], + "resources": { + "vnfs": [{ + "modelInfo": { + "modelType": "vnf", + "modelName": "2016-73_MOW-AVPN-vPE-BV-L", + "modelVersionId": "7f40c192-f63c-463e-ba94-286933b895f8", + "modelCustomizationName": "2016-73_MOW-AVPN-vPE-BV-L 0", + "modelCustomizationId": "ab153b6e-c364-44c0-bef6-1f2982117f04" + }, + "cloudConfiguration": { + "lcpCloudRegionId": "mdt1", + "cloudOwner": "irma-aic", + "tenantId": "88a6ca3ee0394ade9403f075db23167e" + }, + "platform": { + "platformName": "platformName" + }, + "lineOfBusiness": { + "lineOfBusinessName": "lineOfBusinessName" + }, + "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + "instanceParams": [{ + "vmx_int_net_len": "24", + "availability_zone_0": "mtpocdv-kvm-az01", + "vre_a_volume_size_0": "100" + }], + "vfModules": [{ + "modelInfo": { + "modelCustomizationName" : "201673MowAvpnVpeBvL..AVPN_base_vPE_BV..module-0", + "modelType": "vfModule", + "modelName": "201673MowAvpnVpeBvL..AVPN_base_vPE_BV..module-0", + "modelVersionId": "4c75f813-fa91-45a4-89d0-790ff5f1ae79", + "modelCustomizationId": "a25e8e8c-58b8-4eec-810c-97dcc1f5cb7f" + }, + "instanceParams": [{ + "vmx_int_net_len": "24" + }] + }, + { + "modelInfo": { + "modelCustomizationName" : "201673MowAvpnVpeBvL..AVPN_vRE_BV..module-1", + "modelType": "vfModule", + "modelName": "201673MowAvpnVpeBvL..AVPN_vRE_BV..module-1", + "modelVersionId": "56e2b103-637c-4d1a-adc8-3a7f4a6c3240", + "modelCustomizationId": "72d9d1cd-f46d-447a-abdb-451d6fb05fa8" + }, + "instanceParams": [{ + "availability_zone_0": "mtpocdv-kvm-az01", + "vre_a_volume_size_0": "100" + }] + }] + }] + } + } + }, + {"Homing_Solution": "none"} + ] + } + } +}
\ No newline at end of file diff --git a/vid-automation/src/main/resources/registration_to_simulator/changeManagement/get_vnf_data_by_globalid_and_service_type_reduced_response.json b/vid-automation/src/main/resources/registration_to_simulator/changeManagement/get_vnf_data_by_globalid_and_service_type_reduced_response.json index d9a120a49..ba7d5578c 100644 --- a/vid-automation/src/main/resources/registration_to_simulator/changeManagement/get_vnf_data_by_globalid_and_service_type_reduced_response.json +++ b/vid-automation/src/main/resources/registration_to_simulator/changeManagement/get_vnf_data_by_globalid_and_service_type_reduced_response.json @@ -1,295 +1,215 @@ -{ - "results": [ - { - "service-instance": { - "service-instance-id": "serviceInstanceID1-369-as988q", - "service-instance-name": "EUd8Test", - "service-type": "xBoJHJbWTest", - "service-role": "sc7OWTest", - "environment-context": "O7OVp5Test", - "workload-context": "VmnxNeJIgWq7HTest", - "model-invariant-id": "modelInvariantValue2-369 -as988q", - "model-version-id": "modelVersionKey2-369-as988q", - "widget-model-id": "HT7KA2FoRKH3cTest", - "widget-model-version": "CsGp5Test", - "bandwidth-total": "1Yijkk1Test", - "vhn-portal-url": "40PzTest", - "service-instance-location-id": "zcAaHJTAt5Hj8Test", - "resource-version": "1563820653329", - "selflink": "mZP2EVvwwHnlTest", - "orchestration-status": "6QvhzNgLudLBTest", - "relationship-list": { - "relationship": [ - { - "related-to": "generic-vnf", - "relationship-label": "org.onap.relationships.inventory.ComposedOf", - "related-link": "/aai/v17/network/generic-vnfs/generic-vnf/test-gvnf2-369-as988q", - "relationship-data": [ - { - "relationship-key": "generic-vnf.vnf-id", - "relationship-value": "test-gvnf2-369-as988q" - } - ], - "related-to-property": [ - { - "property-key": "generic-vnf.vnf-name", - "property-value": "test-name2-gvnf-369" - } - ] - }, - { - "related-to": "generic-vnf", - "relationship-label": "org.onap.relationships.inventory.ComposedOf", - "related-link": "/aai/v17/network/generic-vnfs/generic-vnf/test-gvnf1-369-as988q", - "relationship-data": [ - { - "relationship-key": "generic-vnf.vnf-id", - "relationship-value": "test-gvnf1-369-as988q" - } - ], - "related-to-property": [ - { - "property-key": "generic-vnf.vnf-name", - "property-value": "test-name-gvnf-369" - } - ] - } - ] - } - } +{"results": [ + { + "id": "908419144", + "node-type": "service-instance", + "url": "/aai/v17/business/customers/customer/globalCustomerId1-369-as988q/service-subscriptions/service-subscription/TEST1-369/service-instances/service-instance/serviceInstanceID1-369-as988q", + "properties": { + "service-instance-id": "serviceInstanceID1-369-as988q", + "service-instance-name": "EUd8Test", + "service-type": "xBoJHJbWTest", + "service-role": "sc7OWTest", + "environment-context": "O7OVp5Test", + "workload-context": "VmnxNeJIgWq7HTest", + "model-invariant-id": "modelInvariantValue2-369-as988q", + "model-version-id": "modelVersionKey2-369-as988q", + "widget-model-id": "HT7KA2FoRKH3cTest", + "widget-model-version": "CsGp5Test", + "bandwidth-total": "1Yijkk1Test", + "vhn-portal-url": "40PzTest", + "service-instance-location-id": "zcAaHJTAt5Hj8Test", + "resource-version": "1563820653329", + "selflink": "mZP2EVvwwHnlTest", + "orchestration-status": "6QvhzNgLudLBTest" }, - { - "model-ver": { - "model-version-id": "modelVersionKey2-369-as988q", - "model-name": "vnfc8", - "model-version": "1.1", - "resource-version": "1563820653007" + "related-to": [ + { + "id": "439189680", + "relationship-label": "org.onap.relationships.inventory.ComposedOf", + "node-type": "generic-vnf", + "url": "/aai/v17/network/generic-vnfs/generic-vnf/test-gvnf2-369-as988q" + }, + { + "id": "1166020712", + "relationship-label": "org.onap.relationships.inventory.ComposedOf", + "node-type": "generic-vnf", + "url": "/aai/v17/network/generic-vnfs/generic-vnf/test-gvnf1-369-as988q" + }, + { + "id": "1166016616", + "relationship-label": "org.onap.relationships.inventory.BelongsTo", + "node-type": "service-subscription", + "url": "/aai/v17/business/customers/customer/globalCustomerId1-369-as988q/service-subscriptions/service-subscription/TEST1-369" } + ] + }, + { + "id": "890175488", + "node-type": "model-ver", + "url": "/aai/v17/service-design-and-creation/models/model/modelInvariantValue2-369-as988q/model-vers/model-ver/modelVersionKey2-369-as988q", + "properties": { + "model-version-id": "modelVersionKey2-369-as988q", + "model-name": "vnfc8", + "model-version": "1.1", + "resource-version": "1563820653007" }, - { - "model": { - "model-invariant-id": "modelInvariantValue2-369-as988q", - "model-type": "widget3", - "resource-version": "1563820652703", - "model-vers": { - "model-ver": [ - { - "model-version-id": "modelVersionKey2-369-as988q", - "model-name": "vnfc8", - "model-version": "1.1", - "resource-version": "1563820653007" - } - ] - } - } + "related-to": [ { + "id": "908415048", + "relationship-label": "org.onap.relationships.inventory.BelongsTo", + "node-type": "model", + "url": "/aai/v17/service-design-and-creation/models/model/modelInvariantValue2-369-as988q" + }] + }, + { + "id": "908415048", + "node-type": "model", + "url": "/aai/v17/service-design-and-creation/models/model/modelInvariantValue2-369-as988q", + "properties": { + "model-invariant-id": "modelInvariantValue2-369-as988q", + "model-type": "widget3", + "resource-version": "1563820652703" }, - { - "generic-vnf": { - "vnf-id": "test-gvnf2-369-as988q", - "vnf-name": "test-name2-gvnf-369", - "vnf-type": "SW", - "service-id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", - "equipment-role": "UCPE", - "orchestration-status": "created", - "ipv4-oam-address": "12.80.1.18", - "nm-lan-v6-address": "2001:1890:e00e:fffe::33c4", - "in-maint": false, - "is-closed-loop-disabled": false, - "resource-version": "1563820654611", - "model-invariant-id": "modelInvariantValue-369-as988q", - "model-version-id": "modelVersionKey-369-as988q", - "nf-role": "test360", - "relationship-list": { - "relationship": [ - { - "related-to": "service-instance", - "relationship-label": "org.onap.relationships.inventory.ComposedOf", - "related-link": "/aai/v17/business/customers/customer/globalCustomerId1-369-as988q/service-subscriptions/service-subscription/TEST1-369/service-instances/service-instance/serviceInstanceID1-369-as988q", - "relationship-data": [ - { - "relationship-key": "customer.global-customer-id", - "relationship-value": "globalCustomerId1-369-as988q" - }, - { - "relationship-key": "service-subscription.service-type", - "relationship-value": "TEST1-369" - }, - { - "relationship-key": "service-instance.service-instance-id", - "relationship-value": "serviceInstanceID1-369-as988q" - } - ], - "related-to-property": [ - { - "property-key": "service-instance.service-instance-name", - "property-value": "EUd8Test" - } - ] - } - ] - } - } + "related-to": [ { + "id": "890175488", + "relationship-label": "org.onap.relationships.inventory.BelongsTo", + "node-type": "model-ver", + "url": "/aai/v17/service-design-and-creation/models/model/modelInvariantValue2-369-as988q/model-vers/model-ver/modelVersionKey2-369-as988q" + }] + }, + { + "id": "439189680", + "node-type": "generic-vnf", + "url": "/aai/v17/network/generic-vnfs/generic-vnf/test-gvnf2-369-as988q", + "properties": { + "vnf-id": "test-gvnf2-369-as988q", + "vnf-name": "test-name2-gvnf-369", + "vnf-type": "SW", + "service-id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", + "equipment-role": "UCPE", + "orchestration-status": "created", + "ipv4-oam-address": "12.80.1.18", + "nm-lan-v6-address": "2001:1890:e00e:fffe::33c4", + "in-maint": false, + "is-closed-loop-disabled": false, + "resource-version": "1563820654611", + "model-invariant-id": "modelInvariantValue-369-as988q", + "model-version-id": "modelVersionKey-369-as988q", + "nf-role": "test360" }, - { - "model-ver": { - "model-version-id": "modelVersionKey-369-as988q", - "model-name": "vnfc8", - "model-version": "1.1", - "resource-version": "1563820652380" - } + "related-to": [ { + "id": "908419144", + "relationship-label": "org.onap.relationships.inventory.ComposedOf", + "node-type": "service-instance", + "url": "/aai/v17/business/customers/customer/globalCustomerId1-369-as988q/service-subscriptions/service-subscription/TEST1-369/service-instances/service-instance/serviceInstanceID1-369-as988q" + }] + }, + { + "id": "1166012520", + "node-type": "model-ver", + "url": "/aai/v17/service-design-and-creation/models/model/modelInvariantValue-369-as988q/model-vers/model-ver/modelVersionKey-369-as988q", + "properties": { + "model-version-id": "modelVersionKey-369-as988q", + "model-name": "vnfc8", + "model-version": "1.1", + "resource-version": "1563820652380" }, - { - "model": { - "model-invariant-id": "modelInvariantValue-369-as988q", - "model-type": "service", - "resource-version": "1563820652072", - "model-vers": { - "model-ver": [ - { - "model-version-id": "modelVersionKey-369-as988q", - "model-name": "vnfc8", - "model-version": "1.1", - "resource-version": "1563820652380" - } - ] - } - } + "related-to": [ { + "id": "1166008424", + "relationship-label": "org.onap.relationships.inventory.BelongsTo", + "node-type": "model", + "url": "/aai/v17/service-design-and-creation/models/model/modelInvariantValue-369-as988q" + }] + }, + { + "id": "1166008424", + "node-type": "model", + "url": "/aai/v17/service-design-and-creation/models/model/modelInvariantValue-369-as988q", + "properties": { + "model-invariant-id": "modelInvariantValue-369-as988q", + "model-type": "service", + "resource-version": "1563820652072" }, - { - "generic-vnf": { - "vnf-id": "test-gvnf1-369-as988q", - "vnf-name": "test-name-gvnf-369", - "vnf-type": "SW", - "service-id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", - "equipment-role": "UCPE", - "orchestration-status": "created", - "ipv4-oam-address": "12.80.1.18", - "nm-lan-v6-address": "2001:1890:e00e:fffe::33c4", - "in-maint": false, - "is-closed-loop-disabled": false, - "resource-version": "1563820654296", - "model-invariant-id": "modelInvariantValue-369-as988q", - "model-version-id": "modelVersionKey-369-as988q", - "nf-role": "test360", - "relationship-list": { - "relationship": [ - { - "related-to": "service-instance", - "relationship-label": "org.onap.relationships.inventory.ComposedOf", - "related-link": "/aai/v17/business/customers/customer/globalCustomerId1-369-as988q/service-subscriptions/service-subscription/TEST1-369/service-instances/service-instance/serviceInstanceID1-369-as988q", - "relationship-data": [ - { - "relationship-key": "customer.global-customer-id", - "relationship-value": "globalCustomerId1-369-as988q" - }, - { - "relationship-key": "service-subscription.service-type", - "relationship-value": "TEST1-369" - }, - { - "relationship-key": "service-instance.service-instance-id", - "relationship-value": "serviceInstanceID1-369-as988q" - } - ], - "related-to-property": [ - { - "property-key": "service-instance.service-instance-name", - "property-value": "EUd8Test" - } - ] - }, - { - "related-to": "vserver", - "relationship-label": "tosca.relationships.HostedOn", - "related-link": "/aai/v17/cloud-infrastructure/cloud-regions/cloud-region/cloudOwnerKeyValue1-369-as988q/cloudRegionIdKeyValue1-369-as988q/tenants/tenant/tenantID1-369-as988q/vservers/vserver/vserver1-369-test-as988q", - "relationship-data": [ - { - "relationship-key": "cloud-region.cloud-owner", - "relationship-value": "cloudOwnerKeyValue1-369-as988q" - }, - { - "relationship-key": "cloud-region.cloud-region-id", - "relationship-value": "cloudRegionIdKeyValue1-369-as988q" - }, - { - "relationship-key": "tenant.tenant-id", - "relationship-value": "tenantID1-369-as988q" - }, - { - "relationship-key": "vserver.vserver-id", - "relationship-value": "vserver1-369-test-as988q" - } - ], - "related-to-property": [ - { - "property-key": "vserver.vserver-name", - "property-value": "vserver-name11-369-as988q" - } - ] - } - ] - } - } + "related-to": [ { + "id": "1166012520", + "relationship-label": "org.onap.relationships.inventory.BelongsTo", + "node-type": "model-ver", + "url": "/aai/v17/service-design-and-creation/models/model/modelInvariantValue-369-as988q/model-vers/model-ver/modelVersionKey-369-as988q" + }] + }, + { + "id": "1166020712", + "node-type": "generic-vnf", + "url": "/aai/v17/network/generic-vnfs/generic-vnf/test-gvnf1-369-as988q", + "properties": { + "vnf-id": "test-gvnf1-369-as988q", + "vnf-name": "test-name-gvnf-369", + "vnf-type": "SW", + "service-id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", + "equipment-role": "UCPE", + "orchestration-status": "created", + "ipv4-oam-address": "12.80.1.18", + "nm-lan-v6-address": "2001:1890:e00e:fffe::33c4", + "in-maint": false, + "is-closed-loop-disabled": false, + "resource-version": "1563820654296", + "model-invariant-id": "modelInvariantValue-369-as988q", + "model-version-id": "modelVersionKey-369-as988q", + "nf-role": "test360" }, - { - "tenant": { - "tenant-id": "tenantID1-369-as988q", - "tenant-name": "tenant-name1-369-as988q", - "resource-version": "1563820651384", - "vservers": { - "vserver": [ - { - "vserver-id": "vserver1-369-test-as988q", - "vserver-name": "vserver-name11-369-as988q", - "vserver-name2": "vserver-name22-360-as988q", - "prov-status": "ACTIVE", - "vserver-selflink": "TRINITY vserverLink", - "in-maint": false, - "is-closed-loop-disabled": false, - "resource-version": "1563820654917", - "relationship-list": { - "relationship": [ - { - "related-to": "generic-vnf", - "relationship-label": "tosca.relationships.HostedOn", - "related-link": "/aai/v17/network/generic-vnfs/generic-vnf/test-gvnf1-369-as988q", - "relationship-data": [ - { - "relationship-key": "generic-vnf.vnf-id", - "relationship-value": "test-gvnf1-369-as988q" - } - ], - "related-to-property": [ - { - "property-key": "generic-vnf.vnf-name", - "property-value": "test-name-gvnf-369" - } - ] - } - ] - } - } - ] - } + "related-to": [ + { + "id": "908419144", + "relationship-label": "org.onap.relationships.inventory.ComposedOf", + "node-type": "service-instance", + "url": "/aai/v17/business/customers/customer/globalCustomerId1-369-as988q/service-subscriptions/service-subscription/TEST1-369/service-instances/service-instance/serviceInstanceID1-369-as988q" + }, + { + "id": "848445448", + "relationship-label": "tosca.relationships.HostedOn", + "node-type": "vserver", + "url": "/aai/v17/cloud-infrastructure/cloud-regions/cloud-region/cloudOwnerKeyValue1-369-as988q/cloudRegionIdKeyValue1-369-as988q/tenants/tenant/tenantID1-369-as988q/vservers/vserver/vserver1-369-test-as988q" } + ] + }, + { + "id": "908410952", + "node-type": "tenant", + "url": "/aai/v17/cloud-infrastructure/cloud-regions/cloud-region/cloudOwnerKeyValue1-369-as988q/cloudRegionIdKeyValue1-369-as988q/tenants/tenant/tenantID1-369-as988q", + "properties": { + "tenant-id": "tenantID1-369-as988q", + "tenant-name": "tenant-name1-369-as988q", + "resource-version": "1563820651384" }, - { - "cloud-region": { - "cloud-owner": "cloudOwnerKeyValue1-369-as988q", - "cloud-region-id": "cloudRegionIdKeyValue1-369-as988q", - "resource-version": "1563820651058", - "orchestration-disabled": false, - "in-maint": false, - "tenants": { - "tenant": [ - { - "tenant-id": "tenantID1-369-as988q", - "tenant-name": "tenant-name1-369-as988q", - "resource-version": "1563820651384" - } - ] - } + "related-to": [ + { + "id": "848445448", + "relationship-label": "org.onap.relationships.inventory.BelongsTo", + "node-type": "vserver", + "url": "/aai/v17/cloud-infrastructure/cloud-regions/cloud-region/cloudOwnerKeyValue1-369-as988q/cloudRegionIdKeyValue1-369-as988q/tenants/tenant/tenantID1-369-as988q/vservers/vserver/vserver1-369-test-as988q" + }, + { + "id": "1166004328", + "relationship-label": "org.onap.relationships.inventory.BelongsTo", + "node-type": "cloud-region", + "url": "/aai/v17/cloud-infrastructure/cloud-regions/cloud-region/cloudOwnerKeyValue1-369-as988q/cloudRegionIdKeyValue1-369-as988q" } - } - ] -}
\ No newline at end of file + ] + }, + { + "id": "1166004328", + "node-type": "cloud-region", + "url": "/aai/v17/cloud-infrastructure/cloud-regions/cloud-region/cloudOwnerKeyValue1-369-as988q/cloudRegionIdKeyValue1-369-as988q", + "properties": { + "cloud-owner": "cloudOwnerKeyValue1-369-as988q", + "cloud-region-id": "cloudRegionIdKeyValue1-369-as988q", + "resource-version": "1563820651058", + "orchestration-disabled": false, + "in-maint": false + }, + "related-to": [ { + "id": "908410952", + "relationship-label": "org.onap.relationships.inventory.BelongsTo", + "node-type": "tenant", + "url": "/aai/v17/cloud-infrastructure/cloud-regions/cloud-region/cloudOwnerKeyValue1-369-as988q/cloudRegionIdKeyValue1-369-as988q/tenants/tenant/tenantID1-369-as988q" + }] + } +]}
\ No newline at end of file |