Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
maxLevel3

Warning
titleUpdate

In current Network Discovery microservice development (Dublin), southbound REST API sends OpenStack API requests instead of AAI Enricher API requests.

Architecture

Overview

  • Will demonstrate Network Discovery Microservice and Service Decomposition Microservice
  • Relies on supporting Microservices not yet in ONAP, but we can show
    • Standardized API and provide a sense of its extensibility to support discovering of additional components
    • VM attributes from Openstack
    • How this fits into POMBA architecture
    • How this could be leveraged in other use cases

Southbound API

  • The following is the information expected from the southbound interface to network discovery
    • Examples (coming soon)
    • Mocking in SoapUI (soon)

Video

The demo shows a request being sent to POMBA's Network Discovery Context Builder, which makes use of Service Decomposition in order to build a list of resources that comprise the specified service. The context builder then takes advantage of the Network Discovery service to obtain details from the network for each of those resources. The context builder collates the information returned by Network Discovery for each resource before providing the collected data to POMBA's Context Aggregator for inclusion in an audit.

View file
nameONAP_SDNC_Network_Discovery_Demo_2018-09-12.mp4
height400

Captures

Service Decomposition

Network Discovery Context Builder → Service Decomposition

The context builder first needs to determine what resources comprise the service undergoing auditing and so it employs Service Decomposition.

Request
Code Block
languagejs
collapsetrue
http://10.147.112.136:8080/service-decomposition/service/context?serviceInstanceId=c6456519-6acf-4adb-997c-3c363dd4caaf







Service Decomposition → AAI

Service Decomposition needs to send a series of requests to the AAI in order to effectively mine the data source for the service instance's component resources.

Request
Code Block
languagejs
collapsetrue
http://10.147.112.136:8443/aai/v13/nodes/service-instance/c6456519-6acf-4adb-997c-3c363dd4caaf

Response

Code Block
languagejs
collapsetrue
Response
Code Blocklanguagecollapsetrue
js
{
    "
relationship
service-instance-
list
id": 
{
"c6456519-6acf-4adb-997c-3c363dd4caaf",
    "
relationship
service-instance-name": 
[{
"Firewall1",
    
"related-to
"model-invariant-id": "
generic-vnf
0c5a20de-87ad-442c-9190-f38ab0a6bb7f",
    "
relationship
model-version-
data
id": 
[{
"d3d6cf83-d03a-43cc-99ff-206d40bb9a72",
    "resource-version": "1527637758480",
    "relationship-list": {
        "relationship
-value
":
"6700c313-fbb7-4cf9-ac70-0293ec56df68",
 [
            {
                "
relationship
related-
key
to": "generic-
vnf.
vnf
-id
"
,
    
}],
            "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/6700c313-fbb7-4cf9-ac70-0293ec56df68",
                "
related
relationship-
to-property
data": [
{

                   
"property-key": "generic-vnf.vnf-name",
 {
                
"property-value": "PacketGenerator-1"
        "relationship-key": "generic-vnf.vnf-id",
             
}]
           
},
"relationship-value": "6700c313-fbb7-4cf9-ac70-0293ec56df68"
         
{
           
"related-to": "generic-vnf",
}
               
"relationship-data": [{
 ],
                "
relationship
related-to-
value
property": 
"6700c313-fbb7-4cf9-ac70-0293ec56df69",
[
                 
"relationship-key": "generic-vnf.vnf-id"
   {
            
}],
            "
related
property-
link
key": "
/aai/v13/network/
generic-
vnfs/generic-vnf/6700c313-fbb7-4cf9-ac70-0293ec56df69
vnf.vnf-name",
        
"related-to-property":
 
[{
               
"property-
key
value": "
generic-vnf.vnf-name",
PacketGenerator-1"
                
"property-value": "PacketGenerator-2"
    }
            
}
    ]
            }
]
,
       
},
     {
                "
model
related-
version-id
to": "
d3d6cf83-d03a-43cc-99ff-206d40bb9a72
generic-vnf",
    
"service-instance-id
            "related-link": "
c6456519-6acf-4adb-997c-3c363dd4caaf
/aai/v13/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39",
  
"resource-version":
 
"1527637758480",
    
"generic-vnfs":
 
[{
        "
nf
relationship-
role
data": 
"",
[
          
"service-id":
 
"8ea56b0d-459d-4668-b363-c9567432d8b7",
        
"relationship-list":
 {
       
"relationship":
 
[{
                "
related
relationship-
to
key": "
service-instance
generic-vnf.vnf-id",
                        "relationship-
data
value": 
[{
"8a9ddb25-2e79-449c-a40d-5011bac0da39"
                    
"relationship-value": "Demonstration",
}
                ],
    
"relationship-key":
 
"customer.global-customer-id"
           "related-to-property": [
    
},
                {
                        "
relationship
property-
value
key": "
vFWCL
generic-vnf.vnf-name",
                        "
relationship
property-
key
value": "
service-subscription.service-type
Firewall-1"
                    }
,

                
{
]
            }
        ]
    }
}
Response
Code Block
languagejs
collapsetrue
{
    "relationship-list": {"relationship-value": "c6456519-6acf-4adb-997c-3c363dd4caaf",
        "relationship": [{
            "relationshiprelated-keyto": "service-instance.service-instance-id"generic-vnf",
            "relationship-data": [{
                }]"relationship-value": "6700c313-fbb7-4cf9-ac70-0293ec56df68",
                "relatedrelationship-linkkey": "/aai/v11/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFWCL/service-instances/service-instance/c6456519-6acf-4adb-997c-3c363dd4caaf",
    generic-vnf.vnf-id"
            }],
            "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/6700c313-fbb7-4cf9-ac70-0293ec56df68",
            "related-to-property": [{
                    "property-key": "servicegeneric-instancevnf.service-instancevnf-name",
                    "property-value": "Firewall1PacketGenerator-1"
                }]
            },
            {
                "related-to": "l3generic-networkvnf",
                "relationship-data": [{
                    ""relationship-value": "HNP1d77c6700c313-1094fbb7-41ec4cf9-b7f3ac70-94bb309518700293ec56df69",
                    "relationship-key": "l3generic-networkvnf.networkvnf-id"
                }],
                "related-link": "/aai/v13/network/l3generic-networksvnfs/l3generic-networkvnf/HNP1d77c6700c313-1094fbb7-41ec4cf9-b7f3-94bb30951870",
                "relationship-label": "org.onap.relationships.inventory.Uses",
    ac70-0293ec56df69",
            "related-to-property": [{
                    "property-key": "l3generic-networkvnf.networkvnf-name",
                    "property-value": "HNPORTALOAM.OAMPacketGenerator-2"
                }]
        }]
    },
     "model-version-id": "d3d6cf83-d03a-43cc-99ff-206d40bb9a72",
    "service-instance-id": "c6456519-6acf-4adb-997c-3c363dd4caaf",
  {
  "resource-version": "1527637758480",
    "generic-vnfs": [{
        "relatednf-torole": "vserver",
        "service-id": "8ea56b0d-459d-4668-b363-c9567432d8b7",
        "relationship-datalist": [{
            "relationship": [{
                "relationshiprelated-valueto": "CloudOwnerservice-instance",
                    "relationship-keydata": "cloud-region.cloud-owner"
                },
                [{
                    "relationship-value": "RegionOneDemonstration",
                    "relationship-key": "cloud-regioncustomer.cloudglobal-regioncustomer-id"
                },
                {
                    "relationship-value": "b49b830686654191bb1e952a74b014advFWCL",
                    "relationship-key": "tenantservice-subscription.tenantservice-idtype"
                },
                {
                    "relationship-value": "25fb07abc6456519-04786acf-465e4adb-a021997c-6384ac2996713c363dd4caaf",
                    "relationship-key": "vserver.vserverservice-instance.service-instance-id"
                }],
                "related-link": "/aai/v13v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/25fb07ab-0478-465e-a021-6384ac299671"
  business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFWCL/service-instances/service-instance/c6456519-6acf-4adb-997c-3c363dd4caaf",
          },
        "related-to-property": [{
    {
                "relatedproperty-tokey": "vserverservice-instance.service-instance-name",
                    "relationshipproperty-datavalue": [{"Firewall1"
                }]
    "relationship-value": "CloudOwner",
       },
             "relationship-key": "cloud-region.cloud-owner"
{
                 }"related-to": "l3-network",
                "relationship-data": [{
                    "relationship-value": "RegionOne"HNP1d77c-1094-41ec-b7f3-94bb30951870",
                    "relationship-key": "cloudl3-regionnetwork.cloud-regionnetwork-id"
                }],
                 {
 "related-link": "/aai/v13/network/l3-networks/l3-network/HNP1d77c-1094-41ec-b7f3-94bb30951870",
                   "relationship-valuelabel": "b49b830686654191bb1e952a74b014adorg.onap.relationships.inventory.Uses",
                    "relationship-key"related-to-property": "tenant.tenant-id"[{
                },
    "property-key": "l3-network.network-name",
           {
         "property-value": "HNPORTALOAM.OAM"
          "relationship-value": "25fb07ab-0478-465e-a021-6384ac299672",
      }]
            },
           "relationship-key": "vserver.vserver-id"
 {
                 }]"related-to": "vserver",
                "relatedrelationship-linkdata": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/25fb07ab-0478-465e-a021-6384ac299672"[{
            }]
        }"relationship-value": "CloudOwner",
        "vnf-id": "6700c313-fbb7-4cf9-ac70-0293ec56df68",
            "nfrelationship-typekey": "cloud-region.cloud-owner",
            "l3-networks": [{
    },
          "network-role": "HNPORTALOAM.OAM",
     {
       "network-technology": "ovs",
            "servicerelationship-idvalue": "V7611HNP-1222-48f1-8085-94aef0c6ef3d51870RegionOne",
                    "networkrelationship-idkey": "HNP1d77ccloud-1222region.cloud-41ecregion-b7f3-94bb30951870id",
             "neutron-network-id": "491c7cef-a3f4-4990-883e-b0af397466d0"   },
            "is-external-network": false,
    {
        "is-bound-to-vpn": false,
            "isrelationship-provider-networkvalue": false"b49b830686654191bb1e952a74b014ad",
                    "networkrelationship-typekey": "OVS_PROVIDER_VLAN",
tenant.tenant-id"
               "orchestration-status": "active" },
            "network-role-instance": 0,
   {
         "resource-version": "1526558298075",
            "networkrelationship-namevalue": "HNPORTALOAM.OAM25fb07ab-0478-465e-a021-6384ac299671",
                    "isrelationship-shared-networkkey": false
"vserver.vserver-id"
                }],
        "prov-status": "PREPROV",
        "vnfrelated-typelink": "vFW-vSINK-service/vPKG 0",
/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/25fb07ab-0478-465e-a021-6384ac299671"
           "orchestration-status": "Created" },
        "nf-naming-code": "",    {
        "in-maint": false,
        "nfrelated-functionto": "vserver",
        "model-version-id": "a5565bf4-d55a-4964-8fbc-6a7674a2e676",
        "vserversrelationship-data": [{
                    "relationship-listvalue": {"CloudOwner",
                    "relationship-key": [{
"cloud-region.cloud-owner"
                },
              "related-to": "generic-vnf",  {
                    "relationship-datavalue": [{"RegionOne",
                        "relationship-valuekey": "8a9ddb25cloud-2e79region.cloud-449cregion-a40d-5011bac0da39id",
                        "relationship-key": "generic-vnf.vnf-id"},
                    }],{
                    "relatedrelationship-linkvalue": "/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39b49b830686654191bb1e952a74b014ad",
                    "relatedrelationship-to-propertykey": [{"tenant.tenant-id"
                },
         "property-key": "generic-vnf.vnf-name",
      {
                    "propertyrelationship-value": "Firewall-1"
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"
            }]
        },
        "relatedvnf-toid": "flavor6700c313-fbb7-4cf9-ac70-0293ec56df68",
        "nf-type": "",
           "relationshipl3-datanetworks": [{
            "network-role": "HNPORTALOAM.OAM",
            "relationshipnetwork-valuetechnology": "CloudOwnerovs",
            "service-id": "V7611HNP-1222-48f1-8085-94aef0c6ef3d51870",
            "relationshipnetwork-keyid": "cloud-region.cloud-owner"HNP1d77c-1222-41ec-b7f3-94bb30951870",
                    }"neutron-network-id": "491c7cef-a3f4-4990-883e-b0af397466d0",
            "is-external-network": false,
       {
     "is-bound-to-vpn": false,
                  "relationship-value"is-provider-network": "RegionOne"false,
            "network-type": "OVS_PROVIDER_VLAN",
            "relationshiporchestration-keystatus": "cloud-region.cloud-region-id"
active",
            "network-role-instance": 0,
             }"resource-version": "1526558298075",
            "network-name": "HNPORTALOAM.OAM",
       {
     "is-shared-network": false
        }],
          "relationshipprov-valuestatus": "764efb04-5a46-4806-a766-2bdd24559f39PREPROV",
                "vnf-type": "vFW-vSINK-service/vPKG 0",
        "relationshiporchestration-keystatus": "flavor.flavor-idCreated",
        "nf-naming-code": "",
           }]"in-maint": false,
          "nf-function": "",
          "relatedmodel-version-linkid": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39a5565bf4-d55a-4964-8fbc-6a7674a2e676",
        "vservers": [{
            "relatedrelationship-to-propertylist": [{
                        "property-key"relationship": "flavor.flavor-name",
    [{
                    "propertyrelated-valueto": "m1.medium"generic-vnf",
                    }] "relationship-data": [{
                },
            "relationship-value": "8a9ddb25-2e79-449c-a40d-5011bac0da39",
    {
                    "relatedrelationship-tokey": "image",generic-vnf.vnf-id"
                    "relationship-data": [{
    }],
                    "relationshiprelated-valuelink": "CloudOwner",/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39",
                        "relationship-key"related-to-property": "cloud-region.cloud-owner"[{
                    },
                    {"property-key": "generic-vnf.vnf-name",
                        "relationshipproperty-value": "RegionOneFirewall-1",
                        "relationship-key": "cloud-region.cloud-region-id"
   }]
                 },
                    {
                        "relationship-value"related-to": "42fd42f8-cf81-4f4c-a552-d4b124f83b0bflavor",
                        "relationship-keydata": "image.image-id"
[{
                        }]"relationship-value": "CloudOwner",
                        "relatedrelationship-linkkey": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b",region.cloud-owner"
                    "related-to-property": [{},
                    {
    "property-key": "image.image-name",
                        "propertyrelationship-value": "unknownRegionOne",
                         }]"relationship-key": "cloud-region.cloud-region-id"
                }]
    },
        },
            "in-maint": false,{
            "resource-version": "1528481820321",
            "vserverrelationship-namevalue": "Firewall-0764efb04-5a46-4806-a766-2bdd24559f39",
            "prov-status": "ACTIVE",
            "vserverrelationship-idkey": "25fb07ab-0478-465e-a021-6384ac299671",
flavor.flavor-id"
               "vserver-name2": "Firewall-0",
     }],
                    "vserverrelated-selflinklink": "http://10.12.25.2:8774/v2.1/b49b830686654191bb1e952a74b014ad/servers/25fb07ab-0478-465e-a021-6384ac299671",
/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39",
              "is-closed-loop-disabled      "related-to-property": false[{
        },
        {
            "relationshipproperty-listkey": {"flavor.flavor-name",
                "relationship": [{
       "property-value": "m1.medium"
                    }]
                },
                {
                    "related-to": "generic-vnfimage",
                    "relationship-data": [{
                        "relationship-value": "8a9ddb25-2e79-449c-a40d-5011bac0da39CloudOwner",
                        "relationship-key": "genericcloud-vnfregion.vnfcloud-idowner"
                    }],
                    {
        "related-link": "/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39",
                    "relatedrelationship-to-propertyvalue": [{"RegionOne",
                        "propertyrelationship-key": "genericcloud-vnfregion.vnfcloud-region-nameid",
                        "property-value": "Firewall-1"},
                    }]{
                },
            "relationship-value": "42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
    {
                    "relatedrelationship-tokey": "flavorimage.image-id",
                    "relationship-data": [{
    }],
                    "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
                    "relationshiprelated-to-valueproperty": "CloudOwner",[{
                        "relationshipproperty-key": "cloud-regionimage.cloudimage-ownername",
                    },
    "property-value": "unknown"
               {
     }]
                }]
   "relationship-value": "RegionOne",
        },
                "relationshipin-keymaint": "cloud-region.cloud-region-id"false,
                    }"resource-version": "1528481820321",
            "vserver-name": "Firewall-0",
       {
         "prov-status": "ACTIVE",
               "relationshipvserver-valueid": "764efb0425fb07ab-5a460478-4806465e-a766a021-2bdd24559f396384ac299671",
                        "relationshipvserver-keyname2": "flavor.flavorFirewall-id0",
                    }]"vserver-selflink": "http://10.12.25.2:8774/v2.1/b49b830686654191bb1e952a74b014ad/servers/25fb07ab-0478-465e-a021-6384ac299671",
            "is-closed-loop-disabled": false
       "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39" },
        {
            "relatedrelationship-to-propertylist": [{
                "relationship": [{
            "property-key": "flavor.flavor-name",
                        "propertyrelated-valueto": "m1.medium"generic-vnf",
                    }]"relationship-data": [{
                },
        "relationship-value": "8a9ddb25-2e79-449c-a40d-5011bac0da39",
       {
                    "relatedrelationship-tokey": "image",generic-vnf.vnf-id"
                    "relationship-data": [{}],
                        "relationshiprelated-valuelink": "CloudOwner",
    /aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39",
                    "relationshiprelated-to-keyproperty": "cloud-region.cloud-owner"[{
                    },
                    {"property-key": "generic-vnf.vnf-name",
                        "relationshipproperty-value": "RegionOneFirewall-1",
                        "relationship-key": "cloud-region.cloud-region-id"
    }]
                },
                    {
                        "relationshiprelated-valueto": "42fd42f8-cf81-4f4c-a552-d4b124f83b0bflavor",
                        "relationship-keydata": "image.image-id"
[{
                      }]   "relationship-value": "CloudOwner",
                        "relatedrelationship-linkkey": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b",region.cloud-owner"
                    "related-to-property": [{},
                        "property-key": "image.image-name",{
                        "propertyrelationship-value": "unknownRegionOne",
                    }]    "relationship-key": "cloud-region.cloud-region-id"
                }]
    },
        },
            "in-maint": false,{
            "resource-version": "1528481820321",
            "vserverrelationship-namevalue": "Firewall-0764efb04-5a46-4806-a766-2bdd24559f39",
            "prov-status": "ACTIVE",
            "vserverrelationship-idkey": "25fb07ab-0478-465e-a021-6384ac299672",
flavor.flavor-id"
                   "vserver-name2": "Firewall-0" }],
            "vserver-selflink        "related-link": "http://10.12.25.2:8774/v2.1/b49b830686654191bb1e952a74b014ad/servers/25fb07ab-0478-465e-a021-6384ac299672",
/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39",
                    "isrelated-closedto-loop-disabledproperty": false[{
        }],
        "resource-version": "1527638176989",
        "modelproperty-customization-idkey": "4cc1e555-361f-4d69-ae21-9f371ea9f40cflavor.flavor-name",
         "vf-modules": {
            "vf-module  "property-value": [{
"m1.medium"
                   "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",
                "resourcerelated-versionto": "1527641224058image",
                    "modelrelationship-customization-iddata": "49c8f521-e5ee-4095-bb87-4090166e49ab",
 [{
                        "is-base-vf-modulerelationship-value": true"CloudOwner",
                        "vfrelationship-module-idkey": "0f792076cloud-f5b3-4251-9fcc-c4d5afae0eb1",
region.cloud-owner"
                 "module-index": 0   },
                   "model-invariant-id": "2a8844a8-f5f7-46dd-a732-472c6972a28e",
 {
                        "orchestrationrelationship-statusvalue": "activeRegionOne",
            }]
        },
        "vserverrelationship-key": [{
 "cloud-region.cloud-region-id"
                   "vserver-name": "Firewall-1" },
              "vserver-id": "25fb07ab-0478-465e-a021-6384ac299671",
     {
       "model-invariant-id": "0c5a20de-87ad-442c-9190-f38ab0a6bb7f"
        }],
        "modelrelationship-invariant-idvalue": "99f1fd3f42fd42f8-845ccf81-48f54f4c-a0baa552-11fbde6ae557d4b124f83b0b",
         "vnf-name": "PacketGenerator-1",
        "is-closed-loop-disabled": false
    },
 "relationship-key": "image.image-id"
         {
          "nf-role": "",
 }],
                    "servicerelated-idlink": "8ea56b0d-459d-4668-b363-c9567432d8b9/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
        "relationship-list": {
            "relationshiprelated-to-property": [{
                        "relatedproperty-tokey": "serviceimage.image-instancename",
                "relationship-data": [{
                    "relationshipproperty-value": "Demonstrationunknown",
                    "relationship-key": "customer.global-customer-id"}]
                },]
            },
    {
        "in-maint": false,
            "relationshipresource-valueversion": "vFWCL1528481820321",
            "vserver-name": "Firewall-0",
            "relationshipprov-keystatus": "service-subscription.service-type"ACTIVE",
                }"vserver-id": "25fb07ab-0478-465e-a021-6384ac299672",
                {
      "vserver-name2": "Firewall-0",
              "relationshipvserver-valueselflink": "c6456519-6acf-4adb-997c-3c363dd4caaf",
       http://10.12.25.2:8774/v2.1/b49b830686654191bb1e952a74b014ad/servers/25fb07ab-0478-465e-a021-6384ac299672",
             "relationship-keyis-closed-loop-disabled": "service-instance.service-instance-id"
        false
        }],
        "resource-version": "1527638176989",
        "relatedmodel-customization-linkid": "/aai/v11/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFWCL/service-instances/service-instance/c6456519-6acf-4adb-997c-3c363dd4caaf4cc1e555-361f-4d69-ae21-9f371ea9f40c",
        "vf-modules": {
            "relatedvf-to-propertymodule": [{
                    "propertyvf-module-keyname": "servicevPacketGen-instance.serviceVNF-instance1128-name3",
                    "propertymodel-version-valueid": "Firewall1"d6d4a002-a584-4640-bdce-a50e9bce552b",
                }]
       "heat-stack-id": "vPacketGen-VNF-1128-3/df34f5d6-ed39-4184-b785-51c37cfa8ac2",
     },
            {"resource-version": "1527641224058",
                "relatedmodel-customization-toid": "l3-network49c8f521-e5ee-4095-bb87-4090166e49ab",
                "relationship-datais-base-vf-module": [{
    true,
                "relationshipvf-module-valueid": "HNP1d77c0f792076-1094f5b3-41ec4251-b7f39fcc-94bb30951870c4d5afae0eb1",
                    "relationshipmodule-keyindex": "l3-network.network-id"
0,
                 }]"model-invariant-id": "2a8844a8-f5f7-46dd-a732-472c6972a28e",
                "relatedorchestration-linkstatus": "/aai/v13/network/l3-networks/l3-network/HNP1d77c-1094-41ec-b7f3-94bb30951871",active"
                "relationship-label": "org.onap.relationships.inventory.Uses",}]
        },
        "related-to-propertyvserver": [{
                    "propertyvserver-keyname": "l3-network.network-nameFirewall-1",
                    "propertyvserver-valueid": "HNPORTALOAM.OAM"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
    },
    {
        "relatednf-torole": "vserver",
        "service-id": "8ea56b0d-459d-4668-b363-c9567432d8b9",
        "relationship-datalist": [{
                    "relationship-value": "CloudOwner",[{
                    "relationship-key"related-to": "cloud-region.cloud-owner"service-instance",
                },
                "relationship-data": [{
                    "relationship-value": "RegionOneDemonstration",
                    "relationship-key": "cloud-regioncustomer.cloudglobal-regioncustomer-id"
                },
                {
                    "relationship-value": "b49b830686654191bb1e952a74b014advFWCL",
                    "relationship-key": "tenantservice-subscription.tenantservice-idtype"
                },
                {
                    "relationship-value": "25fb07abc6456519-04786acf-465e4adb-a021997c-6384ac2996713c363dd4caaf",
                    "relationship-key": "vserver.vserverservice-instance.service-instance-id"
                }],
                "related-link": "/aai/v13v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/b494cd6e-b9f3-45e0-afe7-e1d1a5f5d74b"business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFWCL/service-instances/service-instance/c6456519-6acf-4adb-997c-3c363dd4caaf",
            }]
     "related-to-property": [{
          },
          "vnfproperty-idkey": "6700c313service-fbb7instance.service-4cf9instance-ac70-0293ec56df69name",
           "nf-type": "",
        "l3property-networksvalue": [{
"Firewall1"
              "network-role": "HNPORTALOAM.OAM",  }]
            "network-technology": "ovs"},
            "service-id": "V7611HNP-1222-48f1-8085-94aef0c6ef3d51870",
{
              "network-id  "related-to": "HNP1d77c-1222-41ec-b7f3-94bb30951870l3-network",
                "neutronrelationship-network-iddata": "491c7cef-a3f4-4990-883e-b0af397466d0",[{
            "is-external-network": false,
           "relationship-value": "isHNP1d77c-1094-bound41ec-tob7f3-vpn94bb30951870": false,
                    "is-provider-network": false,
relationship-key": "l3-network.network-id"
               "network-type": "OVS_PROVIDER_VLAN" }],
            "orchestration-status    "related-link": "active/aai/v13/network/l3-networks/l3-network/HNP1d77c-1094-41ec-b7f3-94bb30951871",
                "networkrelationship-role-instancelabel": 0"org.onap.relationships.inventory.Uses",
             "resource-version   "related-to-property": "1526558298075",
[{
                    "networkproperty-namekey": "HNPORTALOAM.OAMl3-network.network-name",
                    "isproperty-shared-networkvalue": false"HNPORTALOAM.OAM"
                }],
        "prov-status": "PREPROV",
    },
          "vnf-type": "vFW-vSINK-service/vPKG 0",
 {
                "orchestrationrelated-statusto": "Createdvserver",
        "nf-naming-code": "",
        "inrelationship-maintdata": false,[{
        "nf-function": "",
            "modelrelationship-version-idvalue": "a5565bf4-d55a-4964-8fbc-6a7674a2e676CloudOwner",
        "vservers": [{
            "relationship-listkey": {"cloud-region.cloud-owner"
                "relationship": [},
                {
                    "relatedrelationship-tovalue": "generic-vnfRegionOne",
                    "relationship-datakey": [{
 "cloud-region.cloud-region-id"
                },
                {
                    "relationship-value": "8a9ddb25-2e79-449c-a40d-5011bac0da39b49b830686654191bb1e952a74b014ad",
                        "relationship-key": "generic-vnftenant.vnftenant-id"
                },
                }],{
                    "relatedrelationship-linkvalue": "/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da3925fb07ab-0478-465e-a021-6384ac299671",
                    "relatedrelationship-to-propertykey": [{
"vserver.vserver-id"
                }],
                "propertyrelated-keylink": "generic-vnf.vnf-name",
/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/b494cd6e-b9f3-45e0-afe7-e1d1a5f5d74b"
            }]
        },
        "propertyvnf-valueid": "Firewall-1"6700c313-fbb7-4cf9-ac70-0293ec56df69",
        "nf-type": "",
           }]"l3-networks": [{
            "network-role": "HNPORTALOAM.OAM",
   },
         "network-technology": "ovs",
      {
        "service-id": "V7611HNP-1222-48f1-8085-94aef0c6ef3d51870",
            "relatednetwork-toid": "flavorHNP1d77c-1222-41ec-b7f3-94bb30951870",
                    "relationshipneutron-network-dataid": [{"491c7cef-a3f4-4990-883e-b0af397466d0",
            "is-external-network": false,
            "relationship-valueis-bound-to-vpn": "CloudOwner"false,
            "is-provider-network": false,
            "relationshipnetwork-keytype": "cloud-region.cloud-owner"OVS_PROVIDER_VLAN",
            "orchestration-status": "active",
       },
     "network-role-instance": 0,
            "resource-version": "1526558298075",
 {
           "network-name": "HNPORTALOAM.OAM",
            "relationshipis-shared-valuenetwork": "RegionOne",false
        }],
          "prov-status": "PREPROV",
        "relationshipvnf-keytype": "cloudvFW-region.cloud-region-id"vSINK-service/vPKG 0",
        "orchestration-status": "Created",
           }"nf-naming-code": "",
        "in-maint": false,
           {
                "nf-function": "",
        "relationshipmodel-version-valueid": "764efb04a5565bf4-5a46d55a-48064964-a7668fbc-2bdd24559f396a7674a2e676",
          "vservers": [{
              "relationship-keylist": "flavor.flavor-id"{
                    }],"relationship": [{
                    "related-linkto": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39generic-vnf",
                    "relatedrelationship-to-propertydata": [{
                        "propertyrelationship-keyvalue": "flavor.flavor-name8a9ddb25-2e79-449c-a40d-5011bac0da39",
                        "propertyrelationship-valuekey": "m1.mediumgeneric-vnf.vnf-id"
                    }]
                },
                {
                    "related-to": "image""related-link": "/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39",
                    "relationshiprelated-to-dataproperty": [{
                        "relationshipproperty-valuekey": "CloudOwnergeneric-vnf.vnf-name",
                        "relationshipproperty-keyvalue": "cloud-region.cloud-ownerFirewall-1"
                    },]
                },
        {
        {
                    "relationshiprelated-valueto": "RegionOneflavor",
                        "relationship-keydata": "cloud-region.cloud-region-id"[{
                    },
    "relationship-value": "CloudOwner",
                    {
    "relationship-key": "cloud-region.cloud-owner"
                   "relationship-value": "42fd42f8-cf81-4f4c-a552-d4b124f83b0b" },
                    {
    "relationship-key": "image.image-id"
                    }],
"relationship-value": "RegionOne",
                        "relatedrelationship-linkkey": "/aai/v11/cloud-infrastructure/region.cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b",-id"
                    "related-to-property": [},
                    {
                        "propertyrelationship-keyvalue": "image.image-name764efb04-5a46-4806-a766-2bdd24559f39",
                        "propertyrelationship-valuekey": "unknownflavor.flavor-id"
                    }],
                }]
    "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39",
        },
            "inrelated-to-maintproperty": false,[{
            "resource-version": "1528481820321",
               "vserverproperty-namekey": "Firewallflavor.flavor-0name",
            "prov-status": "ACTIVE",
            "vserverproperty-idvalue": "b494cd6e-b9f3-45e0-afe7-e1d1a5f5d74b",m1.medium"
            "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
    {
            }],
        "resourcerelated-versionto": "1527638176989image",
         "model-customization-id": "4cc1e555-361f-4d69-ae21-9f371ea9f40c",
           "vfrelationship-modulesdata": [{
            "vf-module": [{
                "vfrelationship-module-namevalue": "vPacketGen-VNF-1128-3CloudOwner",
                        "modelrelationship-version-idkey": "d6d4a002cloud-a584-4640-bdce-a50e9bce552b",
region.cloud-owner"
                  "heat-stack-id": "vPacketGen-VNF-1128-3/df34f5d6-ed39-4184-b785-51c37cfa8ac2",
  },
                  "resource-version": "1527641224058",
  {
                        "modelrelationship-customization-idvalue": "49c8f521-e5ee-4095-bb87-4090166e49abRegionOne",
                "is-base-vf-module": true,
                "vfrelationship-module-idkey": "0f792076cloud-f5b3region.cloud-4251region-9fcc-c4d5afae0eb1id",
                  "module-index": 0  },
                 "model-invariant-id": "2a8844a8-f5f7-46dd-a732-472c6972a28e",
   {
                        "orchestrationrelationship-statusvalue": "active"42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
            }]
        },
        "vserverrelationship-key": [{
"image.image-id"
              "vserver-name": "Firewall-1",
     }],
       "vserver-id": "25fb07ab-0478-465e-a021-6384ac299672",
            "modelrelated-invariant-idlink": "0c5a20de-87ad-442c-9190-f38ab0a6bb7f"
/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
          }],
          "modelrelated-invariantto-idproperty": "99f1fd3f-845c-48f5-a0ba-11fbde6ae557",
[{
                        "vnfproperty-namekey": "PacketGeneratorimage.image-2name",
               "is-closed-loop-disabled": false
    }],
    "modelproperty-invariant-idvalue": "0c5a20de-87ad-442c-9190-f38ab0a6bb7f",
    "service-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"
}

Network Discovery

Network Discovery Context Builder → Network Discovery

The context builder next needs to send multiple requests – one for each resource provided by Service Decomposition – to Network Discovery in order to obtain the values of associated attributes.

Request (Network Resource)
Code Block
languagejs
collapsetrue
http://10.147.112.148:8080/network-discovery/v1/network/resource?requestId=d4ec9585-eb78-4450-b52c-dc3fa6194667___3?resourceType=l3-network?resourceId=HNP1d77c-1222-41ec-b7f3-94bb30951870?notificationURL=http://10.147.112.148:8080/network-discovery/v1/network/resource






Network Discovery → AAI Enricher

For each resource passed to it, Network Discovery simply hands off the discovery work to the AAI Enricher, which utilizes addons to query live networks. (Note: Enricher is not in ONAP at this time but the responses could be mocked.)

Request
Code Block
languagejs
collapsetrue
https://d2enrichment:9505/enricher/v11/network/l3-networks/l3-network/HNP1d77c-1222-41ec-b7f3-94bb30951870?sot=!aai
Response
Code Blocklanguagexml
Code Block
languagejs
collapsetrue
https://d2enrichment:9505/enricher/v11/network/l3-networks/l3-network/HNP1d77c-1222-41ec-b7f3-94bb30951870?sot=!aai


Response
Code Block
languagexml
collapsetrue
e.g.


<l3-network xmlns="http://org.openecomp.aai.inventory/v10">
  <network-id>HNP1d77c-1222-41ec-b7f3-94bb30951870</network-id>
  <network-name>networkname</network-name>
  <is-shared-network>true</is-shared-network>
  <in-maint>false</in-maint>
  <retrieval-timestamp>2018-09-12 01:02:03 +0000</retrieval-timestamp>
</l3-network>
Response (Network Resource)
Code Block
languagejs
collapsetrue
[requestId=9d9bbc4a-787a-44d3-8ac4-37daed95b252___13, code=200, message=OK, ackFinalIndicator=true, resources=[Resource [id=HNP1d77c-1222-41ec-b7f3-94bb30951870, name=null, type=l3-network, dataQuality=DataQuality [status=error, errorText=ENRICHER-312, Unknown SoT as Enricher could not recognize the SoT reference.], attributeList=null]]]




Request (VM Resource)
Code Block
languagejs
collapsetrue

     

Network Discovery → AAI Enricher

Request
Response
Code Block
languagejs
collapsetrue


Response
Code Block
languagexml
collapsetrue
e.g.


<vserver xmlns="http://org.openecomp.aai.invetory/v10">
  <vserver-id>9168b536-cd40-4630-b43f-b259807c6e87</vserver-id>
  <vserver-name>new-server-test</vserver-name>
  <locked>false</locked>
  <hostname>kll0123</hostname>
  <image-id>70a599e0-31e7-49b7-b260-868f441e862b</image-id>
  <retrieval-timestamp>2018-09-04 01:23:45 +0000</retrieval-timestamp>
</vserver>
Response (VM Resource)
[requestId=9d9bbc4a-787a-44d3-8ac4-37daed95b252___13, code=200, message=OK, ackFinalIndicator=true, resources=[Resource [id=HNP1d77c-1222-41ec-b7f3-94bb30951870, name=null, type=l3-network, dataQuality=DataQuality [status=error, errorText=ENRICHER-312, Unknown SoT as Enricher could not recognize the SoT reference.], attributeList=null]]]
Code Block
languagejs
collapsetrue