From a63304affd6cb323fedcf76c2961c9cb983a7597 Mon Sep 17 00:00:00 2001 From: "Tait,Trevor(rt0435)" Date: Tue, 19 Feb 2019 14:54:54 -0500 Subject: ND Context Builder Updates for port/p-interface Issue-ID: LOG-977 Change-Id: I321036e0f51297092b9c88ff668c4e09c89b36a0 Signed-off-by: Tait,Trevor(rt0435) --- .../service/SpringServiceImpl.java | 82 +- .../NetworkDiscoveryContextBuilderTest.java | 14 +- .../junit/networkDiscoveryResponsePInterface.json | 35 + .../junit/serviceDecompositionResponse-1.json | 1487 ++++++++++++++------ 4 files changed, 1186 insertions(+), 432 deletions(-) create mode 100644 src/test/resources/junit/networkDiscoveryResponsePInterface.json (limited to 'src') diff --git a/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/service/SpringServiceImpl.java b/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/service/SpringServiceImpl.java index 774980b..5bdc273 100644 --- a/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/service/SpringServiceImpl.java +++ b/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/service/SpringServiceImpl.java @@ -21,7 +21,9 @@ package org.onap.pomba.contextbuilder.networkdiscovery.service; import com.bazaarvoice.jolt.Chainr; import com.bazaarvoice.jolt.JsonUtils; import com.google.gson.Gson; - +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; import java.net.InetAddress; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -31,7 +33,6 @@ import java.util.List; import java.util.Map; import java.util.UUID; import java.util.concurrent.atomic.AtomicLong; - import javax.servlet.http.HttpServletRequest; import javax.ws.rs.client.Client; import javax.ws.rs.core.HttpHeaders; @@ -39,11 +40,13 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import javax.ws.rs.core.Response.Status.Family; - import org.onap.aai.restclient.client.Headers; import org.onap.pomba.common.datatypes.DataQuality; import org.onap.pomba.common.datatypes.ModelContext; import org.onap.pomba.common.datatypes.Network; +import org.onap.pomba.common.datatypes.PInterface; +import org.onap.pomba.common.datatypes.PNF; +import org.onap.pomba.common.datatypes.Pserver; import org.onap.pomba.common.datatypes.VFModule; import org.onap.pomba.common.datatypes.VM; import org.onap.pomba.common.datatypes.VNF; @@ -64,6 +67,7 @@ import org.springframework.beans.factory.annotation.Autowired; public class SpringServiceImpl implements SpringService { private static final String ND_TYPE_VSERVER = "vserver"; private static final String ND_TYPE_L3_NETWORK = "l3-network"; + private static final String ND_TYPE_P_INTERFACE = "p-interface"; private static Logger log = LoggerFactory.getLogger(RestService.class); public static final String APP_NAME = "NetworkDiscoveryContextBuilder"; @@ -135,6 +139,7 @@ public class SpringServiceImpl implements SpringService { validateBasicAuth(authorization); String sdReply = getServiceDeomposition(serviceInstanceId, partnerName, requestId); ModelContext networkDiscoveryCtx = createModelContextFromSdResonse(sdReply); + mapPservertoVmModelContext(networkDiscoveryCtx, sdReply); NdResources ndResources = createNdResourcesFromSdResonse(sdReply); sendNetworkDiscoveryRequest(networkDiscoveryCtx, ndResources, requestId, partnerName); return networkDiscoveryCtx; @@ -166,7 +171,7 @@ public class SpringServiceImpl implements SpringService { if (serviceInstanceId == null) { return null; } - + String urlStr = serviceDecompositionBaseUrl + "?serviceInstanceId=" + serviceInstanceId; log.info("Querying Service Decomposition for service instance {} at url {}", serviceInstanceId, urlStr); @@ -212,6 +217,12 @@ public class SpringServiceImpl implements SpringService { for (VFModule vfModule : vnf.getVfModules()) { for (VM vm : vfModule.getVms()) { + Pserver pserver = vm.getPServer(); + if (null != pserver) { + for (PInterface pInterface : pserver.getPInterfaceList()) { + updatePInterface(resourceMap, pInterface); + } + } updateVmInstance(resourceMap, vm); } @@ -220,6 +231,12 @@ public class SpringServiceImpl implements SpringService { } } } + + for (PNF pnf : networkDiscoveryCtx.getPnfs()) { + for (PInterface pInterface : pnf.getPInterfaceList()) { + updatePInterface(resourceMap, pInterface); + } + } } private void updateVmInstance(Map resourceMap, VM vm) { @@ -246,12 +263,25 @@ public class SpringServiceImpl implements SpringService { network.setAttributes(ndNetwork.getAttributes()); } + private void updatePInterface(Map resourceMap, PInterface pInterface) { + String resources = resourceMap.get(pInterface.getUuid()); + String resultJson = TransformationUtil.transform(resources, ND_TYPE_P_INTERFACE); + + // copy the results into the Network class: + Gson gson = new Gson(); + PInterface ndpInterface = gson.fromJson(resultJson, PInterface.class); + pInterface.setName(ndpInterface.getName()); + pInterface.setDataQuality(ndpInterface.getDataQuality()); + pInterface.setAttributes(ndpInterface.getAttributes()); + } + + /* Return list of requestIds sent to network-discovery microService. */ private void sendNetworkDiscoveryRequest(ModelContext networkDiscoveryCtx, NdResources ndResources, String parentRequestId, String partnerName) throws DiscoveryException { - + Map resourceMap = new HashMap<>(); - + for (NdResource ndResource : ndResources.getNdResources()) { try { // The old_requestId is inherited from ServiceDecomposition. @@ -267,7 +297,7 @@ public class SpringServiceImpl implements SpringService { } catch (Exception e) { log.error("Error from Network Discovery Request - resourceId: {}, message: {}", ndResource.getResourceId(), e.getMessage()); - + // Build a fake Network Discovery error result, so it will be returned to the client: Resource errorResource = new Resource(); errorResource.setId(ndResource.getResourceId()); @@ -275,7 +305,7 @@ public class SpringServiceImpl implements SpringService { errorResource.setDataQuality(dataQuality); List resourceList = new ArrayList<>(); resourceList.add(errorResource); - NetworkDiscoveryNotification ndErrorResult = new NetworkDiscoveryNotification(); + NetworkDiscoveryNotification ndErrorResult = new NetworkDiscoveryNotification(); ndErrorResult.setResources(resourceList); ndErrorResult.setCode(404); Gson gson = new Gson(); @@ -321,7 +351,7 @@ public class SpringServiceImpl implements SpringService { String ndResult = response.readEntity(String.class); log.info("Message sent. Response ndResult: {}", ndResult); - return ndResult; + return ndResult; } @@ -383,13 +413,45 @@ public class SpringServiceImpl implements SpringService { return gson.fromJson(JsonUtils.toPrettyJsonString(transObject), ModelContext.class); } + private void mapPservertoVmModelContext(ModelContext networkDiscoveryCtx, String ndReply) { + List jsonSpec = JsonUtils.filepathToList("config/jolt/pserverToVmSpec.json"); + Object jsonInput = JsonUtils.jsonToObject(ndReply); + Chainr chainr = Chainr.fromSpec(jsonSpec); + Object transObject = chainr.transform(jsonInput); + log.debug("Jolt transformed output: {}", JsonUtils.toJsonString(transObject)); + Gson gson = new Gson(); + JsonObject pserverToVmMap = gson.fromJson(JsonUtils.toPrettyJsonString(transObject), JsonObject.class); + if (null != pserverToVmMap) { + JsonArray pserverList = pserverToVmMap.getAsJsonArray("pServer"); + for (JsonElement pserverElement : pserverList) { + JsonObject pserverObject = pserverElement.getAsJsonObject(); + String vserverId = pserverObject.get("vserver-id").getAsString(); + Pserver pserver = gson.fromJson(pserverElement, Pserver.class); + for (VNF vnf : networkDiscoveryCtx.getVnfs()) { + if (null != vnf) { + for (VFModule vfModule : vnf.getVfModules()) { + if (null != vfModule) { + for (VM vm : vfModule.getVms()) { + if (vm.getUuid().equals(vserverId)) { + vm.setPServer(pserver); + } + } + } + + } + } + } + } + } + } + private NdResources createNdResourcesFromSdResonse(String response) { List jsonSpec = JsonUtils.filepathToList("config/jolt/sdToNdResourcesSpec.json"); Object jsonInput = JsonUtils.jsonToObject(response); Chainr chainr = Chainr.fromSpec(jsonSpec); Object transObject = chainr.transform(jsonInput); log.debug("Jolt transformed output: {}", JsonUtils.toJsonString(transObject)); - Gson gson = new Gson(); + Gson gson = new Gson(); return gson.fromJson(JsonUtils.toPrettyJsonString(transObject), NdResources.class); } diff --git a/src/test/java/org/onap/pomba/contextbuilder/networkdiscovery/unittest/service/NetworkDiscoveryContextBuilderTest.java b/src/test/java/org/onap/pomba/contextbuilder/networkdiscovery/unittest/service/NetworkDiscoveryContextBuilderTest.java index c7475b0..47c7da2 100644 --- a/src/test/java/org/onap/pomba/contextbuilder/networkdiscovery/unittest/service/NetworkDiscoveryContextBuilderTest.java +++ b/src/test/java/org/onap/pomba/contextbuilder/networkdiscovery/unittest/service/NetworkDiscoveryContextBuilderTest.java @@ -153,6 +153,12 @@ public class NetworkDiscoveryContextBuilderTest { .any(WireMock.urlPathEqualTo("/network-discovery/v1/network/resource")) .withQueryParam("resourceType", WireMock.equalTo("l3-network")).willReturn(okJson(l3networkPayload))); + String pInterfacePayload = readFully( + ClassLoader.getSystemResourceAsStream("junit/networkDiscoveryResponsePInterface.json")); + networkDiscoveryMicroServiceRule.stubFor(WireMock + .any(WireMock.urlPathEqualTo("/network-discovery/v1/network/resource")) + .withQueryParam("resourceType", WireMock.equalTo("port")).willReturn(okJson(pInterfacePayload))); + Response response = this.restService.getContext(httpServletRequest, authorization, partnerName, transactionId, null, null, serviceInstanceId, null, null); @@ -167,7 +173,7 @@ public class NetworkDiscoveryContextBuilderTest { assertTrue(modelContext.getVnfs().get(0).getVfModules().get(0).getVms().size() > 0); } - + @Test public void testVerifyGetContextNdResourceNotFound() throws Exception { @@ -180,13 +186,13 @@ public class NetworkDiscoveryContextBuilderTest { null, null, serviceInstanceId, null, null); assertEquals(Status.OK.getStatusCode(), response.getStatus()); - + Gson gson = new Gson(); ModelContext modelContext = gson.fromJson((String)response.getEntity(), ModelContext.class); assertTrue(modelContext.getVnfs().size() > 0); assertTrue(modelContext.getVnfs().get(0).getVfModules().size() > 0); assertTrue(modelContext.getVnfs().get(0).getVfModules().get(0).getVms().size() > 0); - + } @Test @@ -198,7 +204,7 @@ public class NetworkDiscoveryContextBuilderTest { Response response = this.restService.getContext(httpServletRequest, authorization, partnerName, transactionId, null, null, serviceInstanceId, null, null); - assertEquals(Status.NOT_FOUND.getStatusCode(), response.getStatus()); + assertEquals(Status.NOT_FOUND.getStatusCode(), response.getStatus()); } @Test diff --git a/src/test/resources/junit/networkDiscoveryResponsePInterface.json b/src/test/resources/junit/networkDiscoveryResponsePInterface.json new file mode 100644 index 0000000..0b5f34a --- /dev/null +++ b/src/test/resources/junit/networkDiscoveryResponsePInterface.json @@ -0,0 +1,35 @@ +{ + "requestId": "2131_1", + "code": 200, + "message": "OK", + "ackFinalIndicator": true, + "resources": [ + { + "id": "25fb07ab-0478-465e-a021-6384ac299671", + "name": "p-interface-name", + "type": "vserver", + "dataQuality": { + "status": "ok", + "errorText": null + }, + "attributeList": [ + { + "name": "mac_address", + "value": "127.0.0.1", + "dataQuality": { + "status": "ok", + "errorText": null + } + }, + { + "name": "description", + "value": "norm_bouygues", + "dataQuality": { + "status": "ok", + "errorText": null + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/test/resources/junit/serviceDecompositionResponse-1.json b/src/test/resources/junit/serviceDecompositionResponse-1.json index 3303e26..bb1b125 100644 --- a/src/test/resources/junit/serviceDecompositionResponse-1.json +++ b/src/test/resources/junit/serviceDecompositionResponse-1.json @@ -1,461 +1,1112 @@ { - "relationship-list": { - "relationship": [{ + "relationship-list": { + "relationship": [ + { + "related-to": "l3-network", + "relationship-data": [ + { + "relationship-value": "2ea02809-7279-4b5e-931a-62b231615497", + "relationship-key": "l3-network.network-id" + } + ], + "related-link": "/aai/v13/network/l3-networks/l3-network/2ea02809-7279-4b5e-931a-62b231615497", + "relationship-label": "org.onap.relationships.inventory.ComposedOf", + "related-to-property": [ + { + "property-key": "l3-network.network-name", + "property-value": "NET_1105" + } + ] + }, + { + "related-to": "generic-vnf", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001-VNF-id-001", + "relationship-key": "generic-vnf.vnf-id" + } + ], + "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/PombaDemoCust_001-VNF-id-001", + "relationship-label": "org.onap.relationships.inventory.ComposedOf", + "related-to-property": [ + { + "property-key": "generic-vnf.vnf-name", + "property-value": "Firewall-1" + } + ] + }, + { + "related-to": "l3-network", + "relationship-data": [ + { + "relationship-value": "01e8d84a-17a6-47b5-a167-6a45d1d56603", + "relationship-key": "l3-network.network-id" + } + ], + "related-link": "/aai/v13/network/l3-networks/l3-network/01e8d84a-17a6-47b5-a167-6a45d1d56603", + "relationship-label": "org.onap.relationships.inventory.ComposedOf", + "related-to-property": [ + { + "property-key": "l3-network.network-name", + "property-value": "NET_1106" + } + ] + }, + { + "related-to": "pnf", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001-PNF2-id-001", + "relationship-key": "pnf.pnf-name" + } + ], + "related-link": "/aai/v13/network/pnfs/pnf/PombaDemoCust_001-PNF2-id-001", + "relationship-label": "org.onap.relationships.inventory.ComposedOf" + }, + { + "related-to": "pnf", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001-PNF-id-001", + "relationship-key": "pnf.pnf-name" + } + ], + "related-link": "/aai/v13/network/pnfs/pnf/PombaDemoCust_001-PNF-id-001", + "relationship-label": "org.onap.relationships.inventory.ComposedOf" + } + ] + }, + "model-version-id": "pomba-demo-sdc-model-001-version001", + "l3-networks": [ + { + "network-role": "network-role-1", + "network-technology": "network-technology-1", + "relationship-list": { + "relationship": [ + { "related-to": "generic-vnf", - "relationship-data": [{ - "relationship-value": "6700c313-fbb7-4cf9-ac70-0293ec56df68", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001-VNF-id-001", "relationship-key": "generic-vnf.vnf-id" - }], - "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/6700c313-fbb7-4cf9-ac70-0293ec56df68", - "related-to-property": [{ + } + ], + "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/PombaDemoCust_001-VNF-id-001", + "relationship-label": "org.onap.relationships.inventory.Uses", + "related-to-property": [ + { "property-key": "generic-vnf.vnf-name", - "property-value": "PacketGenerator-1" - }] - }, - { + "property-value": "Firewall-1" + } + ] + }, + { + "related-to": "service-instance", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001", + "relationship-key": "customer.global-customer-id" + }, + { + "relationship-value": "SDN_ETHERNET_INTERNET", + "relationship-key": "service-subscription.service-type" + }, + { + "relationship-value": "PombaDemoCust_001-ServiceInst-001", + "relationship-key": "service-instance.service-instance-id" + } + ], + "related-link": "/aai/v13/business/customers/customer/PombaDemoCust_001/service-subscriptions/service-subscription/SDN_ETHERNET_INTERNET/service-instances/service-instance/PombaDemoCust_001-ServiceInst-001", + "relationship-label": "org.onap.relationships.inventory.ComposedOf", + "related-to-property": [ + { + "property-key": "service-instance.service-instance-name", + "property-value": "PombaDemoCust_001-ServiceInst-001-name" + } + ] + }, + { + "related-to": "vf-module", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001-VNF-id-001", + "relationship-key": "generic-vnf.vnf-id" + }, + { + "relationship-value": "PombaDemoCust_001-VNF-id-001-VfModule001", + "relationship-key": "vf-module.vf-module-id" + } + ], + "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/PombaDemoCust_001-VNF-id-001/vf-modules/vf-module/PombaDemoCust_001-VNF-id-001-VfModule001", + "relationship-label": "org.onap.relationships.inventory.DependsOn" + } + ] + }, + "network-id": "2ea02809-7279-4b5e-931a-62b231615497", + "is-external-network": false, + "is-bound-to-vpn": false, + "is-provider-network": false, + "network-type": "network-type-1", + "model-version-id": "pomba-demo-sdc-model-001-version001", + "resource-version": "1550159843536", + "model-customization-id": "3b822416-475d-4e1c-aac3-2544b0a0fdfc", + "network-name": "NET_1105", + "is-shared-network": true, + "model-invariant-id": "pomba-demo-sdc-model-001" + }, + { + "network-role": "network-role-1", + "network-technology": "network-technology-1", + "relationship-list": { + "relationship": [ + { "related-to": "generic-vnf", - "relationship-data": [{ - "relationship-value": "6700c313-fbb7-4cf9-ac70-0293ec56df69", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001-VNF-id-001", "relationship-key": "generic-vnf.vnf-id" - }], - "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/6700c313-fbb7-4cf9-ac70-0293ec56df69", - "related-to-property": [{ + } + ], + "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/PombaDemoCust_001-VNF-id-001", + "relationship-label": "org.onap.relationships.inventory.Uses", + "related-to-property": [ + { "property-key": "generic-vnf.vnf-name", - "property-value": "PacketGenerator-2" - }] - }] - }, - "model-version-id": "d3d6cf83-d03a-43cc-99ff-206d40bb9a72", - "service-instance-id": "c6456519-6acf-4adb-997c-3c363dd4caaf", - "resource-version": "1527637758480", - "generic-vnfs": [{ - "nf-role": "", - "service-id": "8ea56b0d-459d-4668-b363-c9567432d8b7", - "relationship-list": { - "relationship": [{ + "property-value": "Firewall-1" + } + ] + }, + { + "related-to": "service-instance", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001", + "relationship-key": "customer.global-customer-id" + }, + { + "relationship-value": "SDN_ETHERNET_INTERNET", + "relationship-key": "service-subscription.service-type" + }, + { + "relationship-value": "PombaDemoCust_001-ServiceInst-001", + "relationship-key": "service-instance.service-instance-id" + } + ], + "related-link": "/aai/v13/business/customers/customer/PombaDemoCust_001/service-subscriptions/service-subscription/SDN_ETHERNET_INTERNET/service-instances/service-instance/PombaDemoCust_001-ServiceInst-001", + "relationship-label": "org.onap.relationships.inventory.ComposedOf", + "related-to-property": [ + { + "property-key": "service-instance.service-instance-name", + "property-value": "PombaDemoCust_001-ServiceInst-001-name" + } + ] + }, + { + "related-to": "vf-module", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001-VNF-id-001", + "relationship-key": "generic-vnf.vnf-id" + }, + { + "relationship-value": "PombaDemoCust_001-VNF-id-001-VfModule001", + "relationship-key": "vf-module.vf-module-id" + } + ], + "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/PombaDemoCust_001-VNF-id-001/vf-modules/vf-module/PombaDemoCust_001-VNF-id-001-VfModule001", + "relationship-label": "org.onap.relationships.inventory.DependsOn" + } + ] + }, + "network-id": "01e8d84a-17a6-47b5-a167-6a45d1d56603", + "is-external-network": false, + "is-bound-to-vpn": false, + "is-provider-network": false, + "network-type": "network-type-1", + "model-version-id": "pomba-demo-sdc-model-001-version001", + "resource-version": "1550159844639", + "model-customization-id": "3b822416-475d-4e1c-aac3-2544b0a0fdfc", + "network-name": "NET_1106", + "is-shared-network": true, + "model-invariant-id": "pomba-demo-sdc-model-001" + } + ], + "service-instance-id": "PombaDemoCust_001-ServiceInst-001", + "resource-version": "1550159850344", + "generic-vnfs": [ + { + "nf-role": "nf-role1", + "service-id": "8ea56b0d-459d-4668-b363-c9567432d8b7", + "relationship-list": { + "relationship": [ + { + "related-to": "service-instance", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001", + "relationship-key": "customer.global-customer-id" + }, + { + "relationship-value": "SDN_ETHERNET_INTERNET", + "relationship-key": "service-subscription.service-type" + }, + { + "relationship-value": "PombaDemoCust_001-ServiceInst-001", + "relationship-key": "service-instance.service-instance-id" + } + ], + "related-link": "/aai/v13/business/customers/customer/PombaDemoCust_001/service-subscriptions/service-subscription/SDN_ETHERNET_INTERNET/service-instances/service-instance/PombaDemoCust_001-ServiceInst-001", + "relationship-label": "org.onap.relationships.inventory.ComposedOf", + "related-to-property": [ + { + "property-key": "service-instance.service-instance-name", + "property-value": "PombaDemoCust_001-ServiceInst-001-name" + } + ] + }, + { + "related-to": "l3-network", + "relationship-data": [ + { + "relationship-value": "2ea02809-7279-4b5e-931a-62b231615497", + "relationship-key": "l3-network.network-id" + } + ], + "related-link": "/aai/v13/network/l3-networks/l3-network/2ea02809-7279-4b5e-931a-62b231615497", + "relationship-label": "org.onap.relationships.inventory.Uses", + "related-to-property": [ + { + "property-key": "l3-network.network-name", + "property-value": "NET_1105" + } + ] + }, + { + "related-to": "l3-network", + "relationship-data": [ + { + "relationship-value": "01e8d84a-17a6-47b5-a167-6a45d1d56603", + "relationship-key": "l3-network.network-id" + } + ], + "related-link": "/aai/v13/network/l3-networks/l3-network/01e8d84a-17a6-47b5-a167-6a45d1d56603", + "relationship-label": "org.onap.relationships.inventory.Uses", + "related-to-property": [ + { + "property-key": "l3-network.network-name", + "property-value": "NET_1106" + } + ] + }, + { + "related-to": "vserver", + "relationship-data": [ + { + "relationship-value": "CloudOwner", + "relationship-key": "cloud-region.cloud-owner" + }, + { + "relationship-value": "PombaRegion001", + "relationship-key": "cloud-region.cloud-region-id" + }, + { + "relationship-value": "PombaRegion001-tenant-001", + "relationship-key": "tenant.tenant-id" + }, + { + "relationship-value": "a6a609e3-967a-48bd-8ce5-41c7ff5c19b9", + "relationship-key": "vserver.vserver-id" + } + ], + "related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/PombaRegion001/tenants/tenant/PombaRegion001-tenant-001/vservers/vserver/a6a609e3-967a-48bd-8ce5-41c7ff5c19b9", + "relationship-label": "tosca.relationships.HostedOn", + "related-to-property": [ + { + "property-key": "vserver.vserver-name", + "property-value": "Firewall-001" + } + ] + }, + { + "related-to": "pserver", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001-pserver-id-001", + "relationship-key": "pserver.hostname" + } + ], + "related-link": "/aai/v13/cloud-infrastructure/pservers/pserver/PombaDemoCust_001-pserver-id-001", + "relationship-label": "tosca.relationships.HostedOn", + "related-to-property": [ + { + "property-key": "pserver.pserver-name2", + "property-value": "PombaDemoCust_001-pserver-id-001-name2" + } + ] + } + ] + }, + "vnf-id": "PombaDemoCust_001-VNF-id-001", + "nf-type": "nf-type1", + "l3-networks": [ + { + "network-role": "network-role-1", + "network-technology": "network-technology-1", + "relationship-list": { + "relationship": [ + { + "related-to": "generic-vnf", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001-VNF-id-001", + "relationship-key": "generic-vnf.vnf-id" + } + ], + "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/PombaDemoCust_001-VNF-id-001", + "relationship-label": "org.onap.relationships.inventory.Uses", + "related-to-property": [ + { + "property-key": "generic-vnf.vnf-name", + "property-value": "Firewall-1" + } + ] + }, + { "related-to": "service-instance", - "relationship-data": [{ - "relationship-value": "Demonstration", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001", "relationship-key": "customer.global-customer-id" - }, - { - "relationship-value": "vFWCL", + }, + { + "relationship-value": "SDN_ETHERNET_INTERNET", "relationship-key": "service-subscription.service-type" - }, - { - "relationship-value": "c6456519-6acf-4adb-997c-3c363dd4caaf", + }, + { + "relationship-value": "PombaDemoCust_001-ServiceInst-001", "relationship-key": "service-instance.service-instance-id" - }], - "related-link": "/aai/v11/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFWCL/service-instances/service-instance/c6456519-6acf-4adb-997c-3c363dd4caaf", - "related-to-property": [{ + } + ], + "related-link": "/aai/v13/business/customers/customer/PombaDemoCust_001/service-subscriptions/service-subscription/SDN_ETHERNET_INTERNET/service-instances/service-instance/PombaDemoCust_001-ServiceInst-001", + "relationship-label": "org.onap.relationships.inventory.ComposedOf", + "related-to-property": [ + { "property-key": "service-instance.service-instance-name", - "property-value": "Firewall1" - }] - }, - { - "related-to": "l3-network", - "relationship-data": [{ - "relationship-value": "HNP1d77c-1094-41ec-b7f3-94bb30951870", - "relationship-key": "l3-network.network-id" - }], - "related-link": "/aai/v13/network/l3-networks/l3-network/HNP1d77c-1094-41ec-b7f3-94bb30951870", + "property-value": "PombaDemoCust_001-ServiceInst-001-name" + } + ] + }, + { + "related-to": "vf-module", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001-VNF-id-001", + "relationship-key": "generic-vnf.vnf-id" + }, + { + "relationship-value": "PombaDemoCust_001-VNF-id-001-VfModule001", + "relationship-key": "vf-module.vf-module-id" + } + ], + "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/PombaDemoCust_001-VNF-id-001/vf-modules/vf-module/PombaDemoCust_001-VNF-id-001-VfModule001", + "relationship-label": "org.onap.relationships.inventory.DependsOn" + } + ] + }, + "network-id": "2ea02809-7279-4b5e-931a-62b231615497", + "is-external-network": false, + "is-bound-to-vpn": false, + "is-provider-network": false, + "network-type": "network-type-1", + "model-version-id": "pomba-demo-sdc-model-001-version001", + "resource-version": "1550159843536", + "model-customization-id": "3b822416-475d-4e1c-aac3-2544b0a0fdfc", + "network-name": "NET_1105", + "is-shared-network": true, + "model-invariant-id": "pomba-demo-sdc-model-001" + }, + { + "network-role": "network-role-1", + "network-technology": "network-technology-1", + "relationship-list": { + "relationship": [ + { + "related-to": "generic-vnf", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001-VNF-id-001", + "relationship-key": "generic-vnf.vnf-id" + } + ], + "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/PombaDemoCust_001-VNF-id-001", "relationship-label": "org.onap.relationships.inventory.Uses", - "related-to-property": [{ - "property-key": "l3-network.network-name", - "property-value": "HNPORTALOAM.OAM" - }] - }, - { + "related-to-property": [ + { + "property-key": "generic-vnf.vnf-name", + "property-value": "Firewall-1" + } + ] + }, + { + "related-to": "service-instance", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001", + "relationship-key": "customer.global-customer-id" + }, + { + "relationship-value": "SDN_ETHERNET_INTERNET", + "relationship-key": "service-subscription.service-type" + }, + { + "relationship-value": "PombaDemoCust_001-ServiceInst-001", + "relationship-key": "service-instance.service-instance-id" + } + ], + "related-link": "/aai/v13/business/customers/customer/PombaDemoCust_001/service-subscriptions/service-subscription/SDN_ETHERNET_INTERNET/service-instances/service-instance/PombaDemoCust_001-ServiceInst-001", + "relationship-label": "org.onap.relationships.inventory.ComposedOf", + "related-to-property": [ + { + "property-key": "service-instance.service-instance-name", + "property-value": "PombaDemoCust_001-ServiceInst-001-name" + } + ] + }, + { + "related-to": "vf-module", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001-VNF-id-001", + "relationship-key": "generic-vnf.vnf-id" + }, + { + "relationship-value": "PombaDemoCust_001-VNF-id-001-VfModule001", + "relationship-key": "vf-module.vf-module-id" + } + ], + "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/PombaDemoCust_001-VNF-id-001/vf-modules/vf-module/PombaDemoCust_001-VNF-id-001-VfModule001", + "relationship-label": "org.onap.relationships.inventory.DependsOn" + } + ] + }, + "network-id": "01e8d84a-17a6-47b5-a167-6a45d1d56603", + "is-external-network": false, + "is-bound-to-vpn": false, + "is-provider-network": false, + "network-type": "network-type-1", + "model-version-id": "pomba-demo-sdc-model-001-version001", + "resource-version": "1550159844639", + "model-customization-id": "3b822416-475d-4e1c-aac3-2544b0a0fdfc", + "network-name": "NET_1106", + "is-shared-network": true, + "model-invariant-id": "pomba-demo-sdc-model-001" + } + ], + "pservers": [ + { + "ptnii-equip-name": "ptnii-equip-name-1", + "ipaddress-v6-loopback-0": "ipaddress-v6-loopback-0-1", + "equip-vendor": "equip-vendor-1", + "purpose": "purpose-1", + "number-of-cpus": 4, + "ipaddress-v6-aim": "ipaddress-v6-aim-1", + "pserver-name2": "PombaDemoCust_001-pserver-id-001-name2", + "hostname": "PombaDemoCust_001-pserver-id-001", + "inv-status": "inv-status-1", + "disk-in-gigabytes": 500, + "equip-type": "equip-type-1", + "relationship-list": { + "relationship": [ + { + "related-to": "generic-vnf", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001-VNF-id-001", + "relationship-key": "generic-vnf.vnf-id" + } + ], + "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/PombaDemoCust_001-VNF-id-001", + "relationship-label": "tosca.relationships.HostedOn", + "related-to-property": [ + { + "property-key": "generic-vnf.vnf-name", + "property-value": "Firewall-1" + } + ] + }, + { "related-to": "vserver", - "relationship-data": [{ + "relationship-data": [ + { "relationship-value": "CloudOwner", "relationship-key": "cloud-region.cloud-owner" - }, - { - "relationship-value": "RegionOne", + }, + { + "relationship-value": "PombaRegion001", "relationship-key": "cloud-region.cloud-region-id" - }, - { - "relationship-value": "b49b830686654191bb1e952a74b014ad", + }, + { + "relationship-value": "PombaRegion001-tenant-001", "relationship-key": "tenant.tenant-id" - }, - { - "relationship-value": "25fb07ab-0478-465e-a021-6384ac299671", + }, + { + "relationship-value": "a6a609e3-967a-48bd-8ce5-41c7ff5c19b9", "relationship-key": "vserver.vserver-id" - }], - "related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/25fb07ab-0478-465e-a021-6384ac299671" - }, - { - "related-to": "vserver", - "relationship-data": [{ + } + ], + "related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/PombaRegion001/tenants/tenant/PombaRegion001-tenant-001/vservers/vserver/a6a609e3-967a-48bd-8ce5-41c7ff5c19b9", + "relationship-label": "tosca.relationships.HostedOn", + "related-to-property": [ + { + "property-key": "vserver.vserver-name", + "property-value": "Firewall-001" + } + ] + } + ] + }, + "fqdn": "fqdn-1", + "serial-number": "serial-number", + "ipaddress-v6-oam": "ipaddress-v6-oam-1", + "pserver-id": "PombaDemoCust_001-pserver-id-001", + "prov-status": "PREPROV", + "ipv4-oam-address": "ipv4-oam-address-1", + "ipaddress-v4-loopback-0": "ipaddress-v4-loopback-0-1", + "equip-model": "equip-model-1", + "in-maint": true, + "p-interfaces": { + "p-interface": [ + { + "interface-role": "interface-role-pserver1-2", + "speed-value": "1000", + "in-maint": true, + "equipment-identifier": "equipment-identifier-pserver1-2", + "interface-type": "interface-type-pserver1-2", + "port-description": "port-description-pserver1-2", + "resource-version": "1550159857509", + "inv-status": "inv-status-pserver1-2", + "interface-name": "interface-name-pserver1-2", + "speed-units": "Mbps", + "mac-addresss": "mac-addresss-pserver1-2", + "prov-status": "prov-status-pserver1-2" + }, + { + "interface-role": "interface-role-pserver1-1", + "speed-value": "100", + "in-maint": true, + "equipment-identifier": "equipment-identifier-pnf1-1", + "interface-type": "interface-type-pserver1-1", + "port-description": "port-description-pserver1-1", + "resource-version": "1550159857500", + "inv-status": "inv-status-pserver1-1", + "interface-name": "interface-name-pserver1-1", + "speed-units": "Mbps", + "mac-addresss": "mac-addresss-pserver1-1", + "prov-status": "prov-status-pserver1-1" + } + ] + }, + "resource-version": "1550159857236", + "ram-in-megabytes": 64000, + "ipaddress-v4-aim": "ipaddress-v4-aim-1", + "management-option": "management-option-1", + "internet-topology": "internet-topology-1", + "host-profile": "host-profile-1" + } + ], + "prov-status": "PREPROV", + "vnf-type": "vFW-vSINK-service/vFWvSINK 0", + "orchestration-status": "Created", + "nf-naming-code": "nf-naming-code1", + "in-maint": false, + "nf-function": "nf-function1", + "model-version-id": "pomba-demo-sdc-model-001-version001", + "vservers": [ + { + "relationship-list": { + "relationship": [ + { + "related-to": "generic-vnf", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001-VNF-id-001", + "relationship-key": "generic-vnf.vnf-id" + } + ], + "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/PombaDemoCust_001-VNF-id-001", + "relationship-label": "tosca.relationships.HostedOn", + "related-to-property": [ + { + "property-key": "generic-vnf.vnf-name", + "property-value": "Firewall-1" + } + ] + }, + { + "related-to": "image", + "relationship-data": [ + { "relationship-value": "CloudOwner", "relationship-key": "cloud-region.cloud-owner" - }, - { - "relationship-value": "RegionOne", + }, + { + "relationship-value": "PombaRegion001", "relationship-key": "cloud-region.cloud-region-id" - }, - { - "relationship-value": "b49b830686654191bb1e952a74b014ad", - "relationship-key": "tenant.tenant-id" - }, - { - "relationship-value": "25fb07ab-0478-465e-a021-6384ac299672", - "relationship-key": "vserver.vserver-id" - }], - "related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/25fb07ab-0478-465e-a021-6384ac299672" - }] - }, - "vnf-id": "6700c313-fbb7-4cf9-ac70-0293ec56df68", - "nf-type": "", - "l3-networks": [{ - "network-role": "HNPORTALOAM.OAM", - "network-technology": "ovs", - "service-id": "V7611HNP-1222-48f1-8085-94aef0c6ef3d51870", - "network-id": "HNP1d77c-1222-41ec-b7f3-94bb30951870", - "neutron-network-id": "491c7cef-a3f4-4990-883e-b0af397466d0", - "is-external-network": false, - "is-bound-to-vpn": false, - "is-provider-network": false, - "network-type": "OVS_PROVIDER_VLAN", - "orchestration-status": "active", - "network-role-instance": 0, - "resource-version": "1526558298075", - "network-name": "HNPORTALOAM.OAM", - "is-shared-network": false - }], - "prov-status": "PREPROV", - "vnf-type": "vFW-vSINK-service/vPKG 0", - "orchestration-status": "Created", - "nf-naming-code": "", - "in-maint": false, - "nf-function": "", - "model-version-id": "a5565bf4-d55a-4964-8fbc-6a7674a2e676", - "vservers": [{ + }, + { + "relationship-value": "PombaRegion001-image001", + "relationship-key": "image.image-id" + } + ], + "related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/PombaRegion001/images/image/PombaRegion001-image001", + "relationship-label": "org.onap.relationships.inventory.Uses", + "related-to-property": [ + { + "property-key": "image.image-name", + "property-value": "unknown" + } + ] + }, + { + "related-to": "flavor", + "relationship-data": [ + { + "relationship-value": "CloudOwner", + "relationship-key": "cloud-region.cloud-owner" + }, + { + "relationship-value": "PombaRegion001", + "relationship-key": "cloud-region.cloud-region-id" + }, + { + "relationship-value": "PombaRegion001-flavor001", + "relationship-key": "flavor.flavor-id" + } + ], + "related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/PombaRegion001/flavors/flavor/PombaRegion001-flavor001", + "relationship-label": "org.onap.relationships.inventory.Uses", + "related-to-property": [ + { + "property-key": "flavor.flavor-name", + "property-value": "m1.medium" + } + ] + }, + { + "related-to": "pserver", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001-pserver-id-001", + "relationship-key": "pserver.hostname" + } + ], + "related-link": "/aai/v13/cloud-infrastructure/pservers/pserver/PombaDemoCust_001-pserver-id-001", + "relationship-label": "tosca.relationships.HostedOn", + "related-to-property": [ + { + "property-key": "pserver.pserver-name2", + "property-value": "PombaDemoCust_001-pserver-id-001-name2" + } + ] + } + ] + }, + "in-maint": false, + "resource-version": "1550159848062", + "vserver-name": "Firewall-001", + "prov-status": "ACTIVE", + "vserver-id": "a6a609e3-967a-48bd-8ce5-41c7ff5c19b9", + "vserver-name2": "Firewall-001", + "vserver-selflink": "http://10.12.25.2:8774/v2.1/a6a609e3-967a-48bd-8ce5-41c7ff5c19b9/servers/a6a609e3-967a-48bd-8ce5-41c7ff5c19b9", + "is-closed-loop-disabled": false + } + ], + "resource-version": "1550159851567", + "model-customization-id": "3b822416-475d-4e1c-aac3-2544b0a0fdfc", + "vf-modules": { + "vf-module": [ + { + "vf-module-name": "PombaDemoCust_001-VNF-id-001-VfModule001-name", "relationship-list": { - "relationship": [{ - "related-to": "generic-vnf", - "relationship-data": [{ - "relationship-value": "8a9ddb25-2e79-449c-a40d-5011bac0da39", - "relationship-key": "generic-vnf.vnf-id" - }], - "related-link": "/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39", - "related-to-property": [{ - "property-key": "generic-vnf.vnf-name", - "property-value": "Firewall-1" - }] - }, + "relationship": [ { - "related-to": "flavor", - "relationship-data": [{ - "relationship-value": "CloudOwner", - "relationship-key": "cloud-region.cloud-owner" - }, + "related-to": "l3-network", + "relationship-data": [ { - "relationship-value": "RegionOne", - "relationship-key": "cloud-region.cloud-region-id" - }, + "relationship-value": "2ea02809-7279-4b5e-931a-62b231615497", + "relationship-key": "l3-network.network-id" + } + ], + "related-link": "/aai/v13/network/l3-networks/l3-network/2ea02809-7279-4b5e-931a-62b231615497", + "relationship-label": "org.onap.relationships.inventory.DependsOn", + "related-to-property": [ { - "relationship-value": "764efb04-5a46-4806-a766-2bdd24559f39", - "relationship-key": "flavor.flavor-id" - }], - "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39", - "related-to-property": [{ - "property-key": "flavor.flavor-name", - "property-value": "m1.medium" - }] + "property-key": "l3-network.network-name", + "property-value": "NET_1105" + } + ] }, { - "related-to": "image", - "relationship-data": [{ - "relationship-value": "CloudOwner", - "relationship-key": "cloud-region.cloud-owner" - }, + "related-to": "l3-network", + "relationship-data": [ { - "relationship-value": "RegionOne", - "relationship-key": "cloud-region.cloud-region-id" - }, + "relationship-value": "01e8d84a-17a6-47b5-a167-6a45d1d56603", + "relationship-key": "l3-network.network-id" + } + ], + "related-link": "/aai/v13/network/l3-networks/l3-network/01e8d84a-17a6-47b5-a167-6a45d1d56603", + "relationship-label": "org.onap.relationships.inventory.DependsOn", + "related-to-property": [ { - "relationship-value": "42fd42f8-cf81-4f4c-a552-d4b124f83b0b", - "relationship-key": "image.image-id" - }], - "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b", - "related-to-property": [{ - "property-key": "image.image-name", - "property-value": "unknown" - }] - }] + "property-key": "l3-network.network-name", + "property-value": "NET_1106" + } + ] + } + ] }, - "in-maint": false, - "resource-version": "1528481820321", - "vserver-name": "Firewall-0", - "prov-status": "ACTIVE", - "vserver-id": "25fb07ab-0478-465e-a021-6384ac299671", - "vserver-name2": "Firewall-0", - "vserver-selflink": "http://10.12.25.2:8774/v2.1/b49b830686654191bb1e952a74b014ad/servers/25fb07ab-0478-465e-a021-6384ac299671", - "is-closed-loop-disabled": false - }, - { - "relationship-list": { - "relationship": [{ - "related-to": "generic-vnf", - "relationship-data": [{ - "relationship-value": "8a9ddb25-2e79-449c-a40d-5011bac0da39", - "relationship-key": "generic-vnf.vnf-id" - }], - "related-link": "/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39", - "related-to-property": [{ - "property-key": "generic-vnf.vnf-name", - "property-value": "Firewall-1" - }] - }, - { - "related-to": "flavor", - "relationship-data": [{ - "relationship-value": "CloudOwner", - "relationship-key": "cloud-region.cloud-owner" - }, + "l3-networks": [ + { + "network-role": "network-role-1", + "network-technology": "network-technology-1", + "relationship-list": { + "relationship": [ { - "relationship-value": "RegionOne", - "relationship-key": "cloud-region.cloud-region-id" + "related-to": "generic-vnf", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001-VNF-id-001", + "relationship-key": "generic-vnf.vnf-id" + } + ], + "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/PombaDemoCust_001-VNF-id-001", + "relationship-label": "org.onap.relationships.inventory.Uses", + "related-to-property": [ + { + "property-key": "generic-vnf.vnf-name", + "property-value": "Firewall-1" + } + ] }, { - "relationship-value": "764efb04-5a46-4806-a766-2bdd24559f39", - "relationship-key": "flavor.flavor-id" - }], - "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39", - "related-to-property": [{ - "property-key": "flavor.flavor-name", - "property-value": "m1.medium" - }] - }, - { - "related-to": "image", - "relationship-data": [{ - "relationship-value": "CloudOwner", - "relationship-key": "cloud-region.cloud-owner" - }, - { - "relationship-value": "RegionOne", - "relationship-key": "cloud-region.cloud-region-id" + "related-to": "service-instance", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001", + "relationship-key": "customer.global-customer-id" + }, + { + "relationship-value": "SDN_ETHERNET_INTERNET", + "relationship-key": "service-subscription.service-type" + }, + { + "relationship-value": "PombaDemoCust_001-ServiceInst-001", + "relationship-key": "service-instance.service-instance-id" + } + ], + "related-link": "/aai/v13/business/customers/customer/PombaDemoCust_001/service-subscriptions/service-subscription/SDN_ETHERNET_INTERNET/service-instances/service-instance/PombaDemoCust_001-ServiceInst-001", + "relationship-label": "org.onap.relationships.inventory.ComposedOf", + "related-to-property": [ + { + "property-key": "service-instance.service-instance-name", + "property-value": "PombaDemoCust_001-ServiceInst-001-name" + } + ] }, { - "relationship-value": "42fd42f8-cf81-4f4c-a552-d4b124f83b0b", - "relationship-key": "image.image-id" - }], - "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b", - "related-to-property": [{ - "property-key": "image.image-name", - "property-value": "unknown" - }] - }] - }, - "in-maint": false, - "resource-version": "1528481820321", - "vserver-name": "Firewall-0", - "prov-status": "ACTIVE", - "vserver-id": "25fb07ab-0478-465e-a021-6384ac299672", - "vserver-name2": "Firewall-0", - "vserver-selflink": "http://10.12.25.2:8774/v2.1/b49b830686654191bb1e952a74b014ad/servers/25fb07ab-0478-465e-a021-6384ac299672", - "is-closed-loop-disabled": false - }], - "resource-version": "1527638176989", - "model-customization-id": "4cc1e555-361f-4d69-ae21-9f371ea9f40c", - "vf-modules": { - "vf-module": [{ - "vf-module-name": "vPacketGen-VNF-1128-3", - "model-version-id": "d6d4a002-a584-4640-bdce-a50e9bce552b", - "heat-stack-id": "vPacketGen-VNF-1128-3/df34f5d6-ed39-4184-b785-51c37cfa8ac2", - "resource-version": "1527641224058", - "model-customization-id": "49c8f521-e5ee-4095-bb87-4090166e49ab", - "is-base-vf-module": true, - "vf-module-id": "0f792076-f5b3-4251-9fcc-c4d5afae0eb1", - "module-index": 0, - "model-invariant-id": "2a8844a8-f5f7-46dd-a732-472c6972a28e", - "orchestration-status": "active" - }] - }, - "vserver": [{ - "vserver-name": "Firewall-1", - "vserver-id": "25fb07ab-0478-465e-a021-6384ac299671", - "model-invariant-id": "0c5a20de-87ad-442c-9190-f38ab0a6bb7f" - }], - "model-invariant-id": "99f1fd3f-845c-48f5-a0ba-11fbde6ae557", - "vnf-name": "PacketGenerator-1", - "is-closed-loop-disabled": false - }, - { - "nf-role": "", - "service-id": "8ea56b0d-459d-4668-b363-c9567432d8b9", - "relationship-list": { - "relationship": [{ - "related-to": "service-instance", - "relationship-data": [{ - "relationship-value": "Demonstration", - "relationship-key": "customer.global-customer-id" - }, - { - "relationship-value": "vFWCL", - "relationship-key": "service-subscription.service-type" - }, - { - "relationship-value": "c6456519-6acf-4adb-997c-3c363dd4caaf", - "relationship-key": "service-instance.service-instance-id" - }], - "related-link": "/aai/v11/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFWCL/service-instances/service-instance/c6456519-6acf-4adb-997c-3c363dd4caaf", - "related-to-property": [{ - "property-key": "service-instance.service-instance-name", - "property-value": "Firewall1" - }] - }, - { - "related-to": "l3-network", - "relationship-data": [{ - "relationship-value": "HNP1d77c-1094-41ec-b7f3-94bb30951870", - "relationship-key": "l3-network.network-id" - }], - "related-link": "/aai/v13/network/l3-networks/l3-network/HNP1d77c-1094-41ec-b7f3-94bb30951871", - "relationship-label": "org.onap.relationships.inventory.Uses", - "related-to-property": [{ - "property-key": "l3-network.network-name", - "property-value": "HNPORTALOAM.OAM" - }] - }, - { - "related-to": "vserver", - "relationship-data": [{ - "relationship-value": "CloudOwner", - "relationship-key": "cloud-region.cloud-owner" - }, - { - "relationship-value": "RegionOne", - "relationship-key": "cloud-region.cloud-region-id" - }, - { - "relationship-value": "b49b830686654191bb1e952a74b014ad", - "relationship-key": "tenant.tenant-id" - }, - { - "relationship-value": "25fb07ab-0478-465e-a021-6384ac299671", - "relationship-key": "vserver.vserver-id" - }], - "related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/b494cd6e-b9f3-45e0-afe7-e1d1a5f5d74b" - }] - }, - "vnf-id": "6700c313-fbb7-4cf9-ac70-0293ec56df69", - "nf-type": "", - "l3-networks": [{ - "network-role": "HNPORTALOAM.OAM", - "network-technology": "ovs", - "service-id": "V7611HNP-1222-48f1-8085-94aef0c6ef3d51870", - "network-id": "01e8d84a-17a6-47b5-a167-6a45d1d56603", - "neutron-network-id": "491c7cef-a3f4-4990-883e-b0af397466d0", - "is-external-network": false, - "is-bound-to-vpn": false, - "is-provider-network": false, - "network-type": "OVS_PROVIDER_VLAN", - "orchestration-status": "active", - "network-role-instance": 0, - "resource-version": "1526558298075", - "network-name": "HNPORTALOAM.OAM", - "is-shared-network": false - }], - "prov-status": "PREPROV", - "vnf-type": "vFW-vSINK-service/vPKG 0", - "orchestration-status": "Created", - "nf-naming-code": "", - "in-maint": false, - "nf-function": "", - "model-version-id": "a5565bf4-d55a-4964-8fbc-6a7674a2e676", - "vservers": [{ - "relationship-list": { - "relationship": [{ - "related-to": "generic-vnf", - "relationship-data": [{ - "relationship-value": "8a9ddb25-2e79-449c-a40d-5011bac0da39", - "relationship-key": "generic-vnf.vnf-id" - }], - "related-link": "/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39", - "related-to-property": [{ - "property-key": "generic-vnf.vnf-name", - "property-value": "Firewall-1" - }] + "related-to": "vf-module", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001-VNF-id-001", + "relationship-key": "generic-vnf.vnf-id" + }, + { + "relationship-value": "PombaDemoCust_001-VNF-id-001-VfModule001", + "relationship-key": "vf-module.vf-module-id" + } + ], + "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/PombaDemoCust_001-VNF-id-001/vf-modules/vf-module/PombaDemoCust_001-VNF-id-001-VfModule001", + "relationship-label": "org.onap.relationships.inventory.DependsOn" + } + ] }, - { - "related-to": "flavor", - "relationship-data": [{ - "relationship-value": "CloudOwner", - "relationship-key": "cloud-region.cloud-owner" - }, + "network-id": "2ea02809-7279-4b5e-931a-62b231615497", + "is-external-network": false, + "is-bound-to-vpn": false, + "is-provider-network": false, + "network-type": "network-type-1", + "model-version-id": "pomba-demo-sdc-model-001-version001", + "resource-version": "1550159843536", + "model-customization-id": "3b822416-475d-4e1c-aac3-2544b0a0fdfc", + "network-name": "NET_1105", + "is-shared-network": true, + "model-invariant-id": "pomba-demo-sdc-model-001" + }, + { + "network-role": "network-role-1", + "network-technology": "network-technology-1", + "relationship-list": { + "relationship": [ { - "relationship-value": "RegionOne", - "relationship-key": "cloud-region.cloud-region-id" - }, - { - "relationship-value": "764efb04-5a46-4806-a766-2bdd24559f39", - "relationship-key": "flavor.flavor-id" - }], - "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39", - "related-to-property": [{ - "property-key": "flavor.flavor-name", - "property-value": "m1.medium" - }] - }, - { - "related-to": "image", - "relationship-data": [{ - "relationship-value": "CloudOwner", - "relationship-key": "cloud-region.cloud-owner" + "related-to": "generic-vnf", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001-VNF-id-001", + "relationship-key": "generic-vnf.vnf-id" + } + ], + "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/PombaDemoCust_001-VNF-id-001", + "relationship-label": "org.onap.relationships.inventory.Uses", + "related-to-property": [ + { + "property-key": "generic-vnf.vnf-name", + "property-value": "Firewall-1" + } + ] }, { - "relationship-value": "RegionOne", - "relationship-key": "cloud-region.cloud-region-id" + "related-to": "service-instance", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001", + "relationship-key": "customer.global-customer-id" + }, + { + "relationship-value": "SDN_ETHERNET_INTERNET", + "relationship-key": "service-subscription.service-type" + }, + { + "relationship-value": "PombaDemoCust_001-ServiceInst-001", + "relationship-key": "service-instance.service-instance-id" + } + ], + "related-link": "/aai/v13/business/customers/customer/PombaDemoCust_001/service-subscriptions/service-subscription/SDN_ETHERNET_INTERNET/service-instances/service-instance/PombaDemoCust_001-ServiceInst-001", + "relationship-label": "org.onap.relationships.inventory.ComposedOf", + "related-to-property": [ + { + "property-key": "service-instance.service-instance-name", + "property-value": "PombaDemoCust_001-ServiceInst-001-name" + } + ] }, { - "relationship-value": "42fd42f8-cf81-4f4c-a552-d4b124f83b0b", - "relationship-key": "image.image-id" - }], - "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b", - "related-to-property": [{ - "property-key": "image.image-name", - "property-value": "unknown" - }] - }] - }, - "in-maint": false, - "resource-version": "1528481820321", - "vserver-name": "Firewall-0", - "prov-status": "ACTIVE", - "vserver-id": "b494cd6e-b9f3-45e0-afe7-e1d1a5f5d74b", - "vserver-name2": "Firewall-0", - "vserver-selflink": "http://10.12.25.2:8774/v2.1/b49b830686654191bb1e952a74b014ad/servers/25fb07ab-0478-465e-a021-6384ac299671", - "is-closed-loop-disabled": false - }], - "resource-version": "1527638176989", - "model-customization-id": "4cc1e555-361f-4d69-ae21-9f371ea9f40c", - "vf-modules": { - "vf-module": [{ - "vf-module-name": "vPacketGen-VNF-1128-3", - "model-version-id": "d6d4a002-a584-4640-bdce-a50e9bce552b", - "heat-stack-id": "vPacketGen-VNF-1128-3/df34f5d6-ed39-4184-b785-51c37cfa8ac2", - "resource-version": "1527641224058", - "model-customization-id": "49c8f521-e5ee-4095-bb87-4090166e49ab", - "is-base-vf-module": true, - "vf-module-id": "0f792076-f5b3-4251-9fcc-c4d5afae0eb1", - "module-index": 0, - "model-invariant-id": "2a8844a8-f5f7-46dd-a732-472c6972a28e", - "orchestration-status": "active" - }] - }, - "vserver": [{ - "vserver-name": "Firewall-1", - "vserver-id": "25fb07ab-0478-465e-a021-6384ac299672", - "model-invariant-id": "0c5a20de-87ad-442c-9190-f38ab0a6bb7f" - }], - "model-invariant-id": "99f1fd3f-845c-48f5-a0ba-11fbde6ae557", - "vnf-name": "PacketGenerator-2", - "is-closed-loop-disabled": false - }], - "model-invariant-id": "0c5a20de-87ad-442c-9190-f38ab0a6bb7f", - "service-instance-name": "Firewall1" + "related-to": "vf-module", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001-VNF-id-001", + "relationship-key": "generic-vnf.vnf-id" + }, + { + "relationship-value": "PombaDemoCust_001-VNF-id-001-VfModule001", + "relationship-key": "vf-module.vf-module-id" + } + ], + "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/PombaDemoCust_001-VNF-id-001/vf-modules/vf-module/PombaDemoCust_001-VNF-id-001-VfModule001", + "relationship-label": "org.onap.relationships.inventory.DependsOn" + } + ] + }, + "network-id": "01e8d84a-17a6-47b5-a167-6a45d1d56603", + "is-external-network": false, + "is-bound-to-vpn": false, + "is-provider-network": false, + "network-type": "network-type-1", + "model-version-id": "pomba-demo-sdc-model-001-version001", + "resource-version": "1550159844639", + "model-customization-id": "3b822416-475d-4e1c-aac3-2544b0a0fdfc", + "network-name": "NET_1106", + "is-shared-network": true, + "model-invariant-id": "pomba-demo-sdc-model-001" + } + ], + "module-index": 0, + "orchestration-status": "Active", + "automated-assignment": true, + "model-version-id": "pomba-demo-sdc-model-001-version001", + "heat-stack-id": "HeatStackId-001", + "resource-version": "1550159851871", + "model-customization-id": "3b822416-475d-4e1c-aac3-2544b0a0fdfc", + "is-base-vf-module": true, + "vf-module-id": "PombaDemoCust_001-VNF-id-001-VfModule001", + "model-invariant-id": "pomba-demo-sdc-model-001" + } + ] + }, + "model-invariant-id": "pomba-demo-sdc-model-001", + "vnf-name": "Firewall-1", + "is-closed-loop-disabled": false + } + ], + "model-invariant-id": "pomba-demo-sdc-model-001", + "service-instance-name": "PombaDemoCust_001-ServiceInst-001-name", + "pnfs": [ + { + "ipaddress-v4-oam": "ipaddress-v4-oam-2", + "nf-role": "nf-role-2", + "pnf-name2-source": "pnf2-name2-source-1", + "equip-type": "equip-type-2", + "relationship-list": { + "relationship": [ + { + "related-to": "service-instance", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001", + "relationship-key": "customer.global-customer-id" + }, + { + "relationship-value": "SDN_ETHERNET_INTERNET", + "relationship-key": "service-subscription.service-type" + }, + { + "relationship-value": "PombaDemoCust_001-ServiceInst-001", + "relationship-key": "service-instance.service-instance-id" + } + ], + "related-link": "/aai/v13/business/customers/customer/PombaDemoCust_001/service-subscriptions/service-subscription/SDN_ETHERNET_INTERNET/service-instances/service-instance/PombaDemoCust_001-ServiceInst-001", + "relationship-label": "org.onap.relationships.inventory.ComposedOf", + "related-to-property": [ + { + "property-key": "service-instance.service-instance-name", + "property-value": "PombaDemoCust_001-ServiceInst-001-name" + } + ] + } + ] + }, + "equip-vendor": "equip-vendor-2", + "serial-number": "serial-number-2", + "ipaddress-v6-oam": "ipaddress-v6-oam-2", + "frame-id": "frame-id-02", + "prov-status": "PROV", + "ipaddress-v4-loopback-0": "ipaddress-v4-loopback-0-2", + "pnf-name2": "PombaDemoCust_001-PNF2-id-001-name2", + "equip-model": "equip-model-2", + "in-maint": false, + "model-version-id": "pomba-demo-sdc-model-001-version001", + "p-interfaces": { + "p-interface": [ + { + "interface-role": "interface-role-pnf2-1", + "speed-value": "100", + "in-maint": true, + "equipment-identifier": "equipment-identifier-pnf2-1", + "interface-type": "interface-type-pnf2-1", + "port-description": "port-description-pnf2-1", + "resource-version": "1550159856100", + "inv-status": "inv-status-pnf2-1", + "interface-name": "interface-name-pnf2-1", + "speed-units": "Mbps", + "mac-addresss": "mac-addresss-pnf2-1", + "prov-status": "prov-status-pnf2-1" + }, + { + "interface-role": "interface-role-pnf2-2", + "speed-value": "1000", + "in-maint": true, + "equipment-identifier": "equipment-identifier-pnf2-2", + "interface-type": "interface-type-pnf2-2", + "port-description": "port-description-pnf2-2", + "resource-version": "1550159856162", + "inv-status": "inv-status-pnf2-2", + "interface-name": "interface-name-pnf2-2", + "speed-units": "Mbps", + "mac-addresss": "mac-addresss-pnf2-2", + "prov-status": "prov-status-pnf2-2" + } + ] + }, + "inv-status": "inv-status-2", + "resource-version": "1550159855893", + "sw-version": "sw-version-2", + "pnf-id": "PombaDemoCust_001-PNF2-id-001-id", + "management-option": "management-option-2", + "pnf-name": "PombaDemoCust_001-PNF2-id-001", + "model-invariant-id": "pomba-demo-sdc-model-001" + }, + { + "ipaddress-v4-oam": "ipaddress-v4-oam-1", + "nf-role": "nf-role-1", + "pnf-name2-source": "pnf-name2-source-1", + "equip-type": "equip-type-1", + "relationship-list": { + "relationship": [ + { + "related-to": "service-instance", + "relationship-data": [ + { + "relationship-value": "PombaDemoCust_001", + "relationship-key": "customer.global-customer-id" + }, + { + "relationship-value": "SDN_ETHERNET_INTERNET", + "relationship-key": "service-subscription.service-type" + }, + { + "relationship-value": "PombaDemoCust_001-ServiceInst-001", + "relationship-key": "service-instance.service-instance-id" + } + ], + "related-link": "/aai/v13/business/customers/customer/PombaDemoCust_001/service-subscriptions/service-subscription/SDN_ETHERNET_INTERNET/service-instances/service-instance/PombaDemoCust_001-ServiceInst-001", + "relationship-label": "org.onap.relationships.inventory.ComposedOf", + "related-to-property": [ + { + "property-key": "service-instance.service-instance-name", + "property-value": "PombaDemoCust_001-ServiceInst-001-name" + } + ] + } + ] + }, + "equip-vendor": "equip-vendor-1", + "serial-number": "serial-number-1", + "ipaddress-v6-oam": "ipaddress-v6-oam-1", + "frame-id": "frame-id-01", + "prov-status": "PROV", + "ipaddress-v4-loopback-0": "ipaddress-v4-loopback-0-1", + "pnf-name2": "PombaDemoCust_001-PNF-id-001-name2", + "equip-model": "equip-model-1", + "in-maint": false, + "model-version-id": "pomba-demo-sdc-model-001-version001", + "p-interfaces": { + "p-interface": [ + { + "interface-role": "interface-role-pnf1-2", + "speed-value": "1000", + "in-maint": true, + "equipment-identifier": "equipment-identifier-pnf1-2", + "interface-type": "interface-type-pnf1-2", + "port-description": "port-description-pnf1-2", + "resource-version": "1550159854124", + "inv-status": "inv-status-pnf1-2", + "interface-name": "interface-name-pnf1-2", + "speed-units": "Mbps", + "mac-addresss": "mac-addresss-pnf1-2", + "prov-status": "prov-status-pnf1-2" + }, + { + "interface-role": "interface-role-pnf1-1", + "speed-value": "100", + "in-maint": true, + "equipment-identifier": "equipment-identifier-pnf1-1", + "interface-type": "interface-type-pnf1-1", + "port-description": "port-description-pnf1-1", + "resource-version": "1550159854074", + "inv-status": "inv-status-pnf1-1", + "interface-name": "interface-name-pnf1-1", + "speed-units": "Mbps", + "mac-addresss": "mac-addresss-pnf1-1", + "prov-status": "prov-status-pnf1-1" + } + ] + }, + "inv-status": "inv-status-1", + "resource-version": "1550159853942", + "sw-version": "sw-version-1", + "pnf-id": "PombaDemoCust_001-PNF-id-001-id", + "management-option": "management-option-1", + "pnf-name": "PombaDemoCust_001-PNF-id-001", + "model-invariant-id": "pomba-demo-sdc-model-001" + } + ] } \ No newline at end of file -- cgit 1.2.3-korg