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

true
Code Block
languagejs
collapse

Response

Code Block
languagejs
collapsetrue
{
    "
relationship
service-instance-
list
id": 
{
"c6456519-6acf-4adb-997c-3c363dd4caaf",
    
"relationship
"service-instance-name": 
[{
"Firewall1",
    
"model-invariant-id": "0c5a20de-87ad-442c-9190-f38ab0a6bb7f",
    "
related
model-version-
to
id": "
generic-vnf
d3d6cf83-d03a-43cc-99ff-206d40bb9a72",
    "resource-version": "1527637758480",
    
"relationship-
data
list": 
[
{
        "relationship": [
       
"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-
 {
                        "relationship-key": "generic-vnf.vnf-
name
id",
                        "
property
relationship-value": "
PacketGenerator-1
6700c313-fbb7-4cf9-ac70-0293ec56df68"
            
}]
        }
           
},
     ],
   
{
             "related-to-property": 
"generic-vnf",
[
         
"relationship-data":
 
[{
          {
      
"relationship-value":
 
"6700c313-fbb7-4cf9-ac70-0293ec56df69",
                 "
relationship
property-key": "generic-vnf.vnf-
id
name",
            
}],
            "
related
property-
link
value": "
/aai/v13/network/generic-vnfs/generic-vnf/6700c313-fbb7-4cf9-ac70-0293ec56df69",
PacketGenerator-1"
            
"related-to-property":
 
[{
       }
         
"property-key":
 
"generic-vnf.vnf-name",
      ]
          
"property-value":
 
"PacketGenerator-2"
 },
          
}]
  {
      
}]
     
},
     "
model
related-
version-id
to": "
d3d6cf83-d03a-43cc-99ff-206d40bb9a72",
generic-vnf",
                "
service
related-
instance-id
link": "
c6456519-6acf-4adb-997c-3c363dd4caaf
/aai/v13/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39",
    
"resource-version": "1527637758480",
            "
generic
relationship-
vnfs
data": [
{

           
"nf-role":
 
"",
        {
"service-id":
 
"8ea56b0d-459d-4668-b363-c9567432d8b7",
         
"relationship-list":
 
{
             "relationship-key":
[{
 "generic-vnf.vnf-id",
                        "
related
relationship-
to
value": "
service-instance",
8a9ddb25-2e79-449c-a40d-5011bac0da39"
                 
"relationship-data":
 
[{
  }
                
"relationship-value": "Demonstration",
],
                
"
relationship
related-to-
key
property": 
"customer.global-customer-id"
[
                
},
    
{
   
{
                     "
relationship
property-
value
key": "
vFWCL
generic-vnf.vnf-name",
                        "
relationship
property-
key
value": "
service-subscription.service-type
Firewall-1"
                
},
    }
            
{
    ]
            
"relationship-value": "c6456519-6acf-4adb-997c-3c363dd4caaf",
}
        ]
    
}
}
Response
Code Block
languagejs
collapsetrue
{
    "relationship-keylist": "service-instance.service-instance-id"{
        "relationship": [{
      }],                 "related-linkto": "/aai/v11/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFWCL/service-instances/service-instance/c6456519-6acf-4adb-997c-3c363dd4caaf",
 generic-vnf",
              "relatedrelationship-to-propertydata": [{
  
                 "propertyrelationship-keyvalue": "service-instance.service-instance-name",
 6700c313-fbb7-4cf9-ac70-0293ec56df68",
                  "propertyrelationship-valuekey": "Firewall1"
   generic-vnf.vnf-id"
            }],
            }"related-link": "/aai/v13/network/generic-vnfs/generic-vnf/6700c313-fbb7-4cf9-ac70-0293ec56df68",
            "related-to-property": [{
                "relatedproperty-tokey": "l3-networkgeneric-vnf.vnf-name",
                "relationshipproperty-datavalue": [{"PacketGenerator-1"
            }]
       "relationship-value": "HNP1d77c-1094-41ec-b7f3-94bb30951870" },
        {
            "relationshiprelated-keyto": "l3-network.network-id"generic-vnf",
                }],"relationship-data": [{
                "relatedrelationship-linkvalue": "/aai/v13/network/l3-networks/l3-network/HNP1d77c-1094-41ec-b7f3-94bb309518706700c313-fbb7-4cf9-ac70-0293ec56df69",
                "relationship-labelkey": "org.onap.relationships.inventory.Uses",generic-vnf.vnf-id"
            }],
   "related-to-property": [{        "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/6700c313-fbb7-4cf9-ac70-0293ec56df69",
           "property-key": "l3related-network.networkto-nameproperty",: [{
                   ""property-valuekey": "HNPORTALOAM.OAM"generic-vnf.vnf-name",
                }]"property-value": "PacketGenerator-2"
            },]
        }]
   { },
      "model-version-id": "d3d6cf83-d03a-43cc-99ff-206d40bb9a72",
        "related-to"service-instance-id": "vserverc6456519-6acf-4adb-997c-3c363dd4caaf",
           "resource-version": "1527637758480",
    "relationshipgeneric-datavnfs": [{
           
        "relationshipnf-valuerole": "CloudOwner",
           "service-id": "8ea56b0d-459d-4668-b363-c9567432d8b7",
        "relationship-keylist": "cloud-region.cloud-owner"
{
            "relationship": [{
                 }"related-to": "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/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/25fb07ab-0478-465e-a021-6384ac299671"/v11/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": "RegionOneHNP1d77c-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": "tenant.tenant-id""related-to-property": [{
                 },   "property-key": "l3-network.network-name",
            {        "property-value": "HNPORTALOAM.OAM"
           "relationship-value": "25fb07ab-0478-465e-a021-6384ac299672",    }]
            },
   "relationship-key": "vserver.vserver-id"                 }],{
                "related-linkto": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/25fb07ab-0478-465e-a021-6384ac299672"",
            }]    "relationship-data": [{
   },         "vnf-id": "6700c313-fbb7-4cf9-ac70-0293ec56df68",         "nf-type"relationship-value": "CloudOwner",
        "l3-networks": [{             "networkrelationship-rolekey": "HNPORTALOAM.OAM",cloud-region.cloud-owner"
            "network-technology": "ovs",   },
         "service-id": "V7611HNP-1222-48f1-8085-94aef0c6ef3d51870",      {
      "network-id": "HNP1d77c-1222-41ec-b7f3-94bb30951870",             "neutronrelationship-network-idvalue": "491c7cef-a3f4-4990-883e-b0af397466d0RegionOne",
 
          "is-external-network": false,             "is-bound-to-vpnrelationship-key": false,"cloud-region.cloud-region-id"
            "is-provider-network": false,   },
         "network-type": "OVS_PROVIDER_VLAN",      {
      "orchestration-status": "active",             "networkrelationship-role-instancevalue": 0"b49b830686654191bb1e952a74b014ad",
            "resource-version        "relationship-key": "1526558298075tenant.tenant-id",
            "network-name": "HNPORTALOAM.OAM",   },
         "is-shared-network": false       {
 }],         "prov-status": "PREPROV",         "vnfrelationship-typevalue": "vFW-vSINK-service/vPKG 0",25fb07ab-0478-465e-a021-6384ac299671",
          "orchestration-status": "Created",         "nfrelationship-naming-codekey": "",vserver.vserver-id"
             "in-maint": false,  }],
      "nf-function": "",         "modelrelated-version-idlink": "a5565bf4-d55a-4964-8fbc-6a7674a2e676",/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/25fb07ab-0478-465e-a021-6384ac299671"
          "vservers": [{ },
           "relationship-list {
                "related-to": {"vserver",
                "relationship-data": [{
                    "relatedrelationship-tovalue": "generic-vnfCloudOwner",
                    "relationship-datakey": [{ "cloud-region.cloud-owner"
                },
                {
                    "relationship-value": "8a9ddb25-2e79-449c-a40d-5011bac0da39RegionOne",
  
                     "relationship-key": "genericcloud-vnfregion.vnfcloud-region-id"
                },
    }],            {
        "related-link": "/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39",
                    "related-to-property": [{
   "relationship-value": "b49b830686654191bb1e952a74b014ad",
                    "propertyrelationship-key": "generic-vnftenant.vnftenant-nameid",
                },
          "property-value": "Firewall-1"     {
               }]     "relationship-value": "25fb07ab-0478-465e-a021-6384ac299672",
          },          "relationship-key": "vserver.vserver-id"
     {           }],
         "related-to": "flavor",      "related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/25fb07ab-0478-465e-a021-6384ac299672"
             "relationship-data": [{}]
        },
        "vnf-id": "6700c313-fbb7-4cf9-ac70-0293ec56df68",
        "relationshipnf-valuetype": "CloudOwner",
           "l3-networks": [{
            "relationshipnetwork-keyrole": "cloud-region.cloud-owner"HNPORTALOAM.OAM",
                    }"network-technology": "ovs",
            "service-id": "V7611HNP-1222-48f1-8085-94aef0c6ef3d51870",
      {            "network-id": "HNP1d77c-1222-41ec-b7f3-94bb30951870",
            "relationshipneutron-network-valueid": "RegionOne491c7cef-a3f4-4990-883e-b0af397466d0",
            "is-external-network": false,
           "relationship-key": "cloudis-region.cloudbound-regionto-idvpn": false,
                   }"is-provider-network": false,
            "network-type": "OVS_PROVIDER_VLAN",
      {           "orchestration-status": "active",
             "relationshipnetwork-role-valueinstance": "764efb04-5a46-4806-a766-2bdd24559f39"0,
            "resource-version": "1526558298075",
            "relationshipnetwork-keyname": "flavorHNPORTALOAM.flavor-idOAM",
            "is-shared-network": false
        }],
          "prov-status": "PREPROV",
         "relatedvnf-linktype": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39",vFW-vSINK-service/vPKG 0",
          "orchestration-status": "Created",
             "relatednf-tonaming-propertycode": [{"",
           "in-maint": false,
            "propertynf-keyfunction": "flavor.flavor-name",
               "model-version-id": "a5565bf4-d55a-4964-8fbc-6a7674a2e676",
        "property-valuevservers": "m1.medium"[{
            "relationship-list": {
      }]          "relationship": [{
     },                 {
                    ""related-to": "imagegeneric-vnf",
                    "relationship-data": [{
                        "relationship-value": "CloudOwner8a9ddb25-2e79-449c-a40d-5011bac0da39",
                        "relationship-key": "cloudgeneric-regionvnf.cloudvnf-ownerid"
                    }],
                    {
 "related-link": "/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39",
                      "relationshiprelated-to-valueproperty": "RegionOne",[{
                        "relationshipproperty-key": "cloudgeneric-regionvnf.cloudvnf-region-idname",
                    },       "property-value": "Firewall-1"
             {       }]
                 "relationship-value": "42fd42f8-cf81-4f4c-a552-d4b124f83b0b"},
                {
       "relationship-key": "image.image-id"                     }]"related-to": "flavor",
                    "relatedrelationship-linkdata": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b", [{
                        "relatedrelationship-to-propertyvalue": [{"CloudOwner",
                        "propertyrelationship-key": "imagecloud-region.imagecloud-nameowner",
                    },
      "property-value": "unknown"             {
       }]                 }]
"relationship-value": "RegionOne",
           },             "inrelationship-maintkey": false, "cloud-region.cloud-region-id"
                   "resource-version": "1528481820321", },
                 "vserver-name": "Firewall-0",  {
          "prov-status": "ACTIVE",             "vserverrelationship-idvalue": "25fb07ab764efb04-04785a46-465e4806-a021a766-6384ac2996712bdd24559f39",
             "vserver-name2": "Firewall-0",
              "vserverrelationship-selflinkkey": "http://10.12.25.2:8774/v2.1/b49b830686654191bb1e952a74b014ad/servers/25fb07ab-0478-465e-a021-6384ac299671",flavor.flavor-id"
            "is-closed-loop-disabled": false
        }],
        {             "relationship-list": {"related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39",
                    "relationshiprelated-to-property": [{
                        "relatedproperty-tokey": "genericflavor.flavor-vnfname",
                        "relationshipproperty-datavalue": [{"m1.medium"
                    }]
   "relationship-value": "8a9ddb25-2e79-449c-a40d-5011bac0da39",            },
            "relationship-key": "generic-vnf.vnf-id"                  {
  }],                     "related-linkto": "/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39image",
                    "relatedrelationship-to-propertydata": [{
                        "propertyrelationship-keyvalue": "generic-vnf.vnf-nameCloudOwner",
                        "propertyrelationship-valuekey": "Firewall-1cloud-region.cloud-owner"
                    }]
                },
          
     {                     "related-to": "flavor",
                    "relationship-data": [{
                        "relationship-value": "CloudOwnerRegionOne",
                        "relationship-key": "cloud-region.cloud-ownerregion-id"
                    },
                    {
                        "relationship-value": "RegionOne42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
                        "relationship-key": "cloud-region.cloud-region-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": [{
                        "relationshipproperty-valuekey": "764efb04-5a46-4806-a766-2bdd24559f39image.image-name",
                        "relationshipproperty-keyvalue": "flavor.flavor-idunknown"
                    }],
                }]
      "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39",      },
              "relatedin-to-propertymaint": [{false,
            "resource-version": "1528481820321",
            "propertyvserver-keyname": "flavor.flavorFirewall-name0",
            "prov-status": "ACTIVE",
            "propertyvserver-valueid": "m1.medium"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": "imagegeneric-vnf",
                    "relationship-data": [{
                        "relationship-value": "CloudOwner8a9ddb25-2e79-449c-a40d-5011bac0da39",
                        "relationship-key": "cloudgeneric-regionvnf.cloudvnf-ownerid"
                    }],
                    {
"related-link": "/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39",
                       "relationship-value"related-to-property": "RegionOne",[{
                        "relationshipproperty-key": "cloudgeneric-regionvnf.cloudvnf-region-idname",
                    },    "property-value": "Firewall-1"
                    }]
 {               },
         "relationship-value": "42fd42f8-cf81-4f4c-a552-d4b124f83b0b",       {
                    "relationshiprelated-keyto": "image.image-idflavor",
                    }],
"relationship-data": [{
                   "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
                    "related-to-property"relationship-value": [{"CloudOwner",
                        "propertyrelationship-key": "imagecloud-region.imagecloud-nameowner",
                    },
      "property-value": "unknown"             {
       }]                 }]
"relationship-value": "RegionOne",
           },             "inrelationship-maintkey": false, "cloud-region.cloud-region-id"
                   "resource-version": "1528481820321", },
                 "vserver-name": "Firewall-0",  {
          "prov-status": "ACTIVE",             "vserverrelationship-idvalue": "25fb07ab764efb04-04785a46-465e4806-a021a766-6384ac2996722bdd24559f39",
                        "vserverrelationship-name2key": "Firewallflavor.flavor-0",id"
                   "vserver-selflink": "http://10.12.25.2:8774/v2.1/b49b830686654191bb1e952a74b014ad/servers/25fb07ab-0478-465e-a021-6384ac299672", }],
            "is-closed-loop-disabled": false
        }],
        "resourcerelated-versionlink": "1527638176989",/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39",
          "model-customization-id": "4cc1e555-361f-4d69-ae21-9f371ea9f40c",         "vfrelated-to-modulesproperty": [{
            "vf-module": [{
                 "vfproperty-module-namekey": "vPacketGen-VNF-1128-3flavor.flavor-name",
                "model-version-id        "property-value": "d6d4a002-a584-4640-bdce-a50e9bce552b",m1.medium"
                  "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-modulerelated-to": true"image",
                    "vfrelationship-module-iddata": "0f792076-f5b3-4251-9fcc-c4d5afae0eb1", [{
                        "modulerelationship-indexvalue": 0"CloudOwner",
                  "model-invariant-id      "relationship-key": "2a8844a8cloud-f5f7-46dd-a732-472c6972a28e",region.cloud-owner"
                    "orchestration-status": "active"},
             }]       {
 },         "vserver": [{             "vserverrelationship-namevalue": "Firewall-1RegionOne",
             "vserver-id": "25fb07ab-0478-465e-a021-6384ac299671",                "modelrelationship-invariant-idkey": "0c5a20decloud-87adregion.cloud-442cregion-9190-f38ab0a6bb7fid"
        }],         "model-invariant-id": "99f1fd3f-845c-48f5-a0ba-11fbde6ae557",  },
      "vnf-name": "PacketGenerator-1",         "is-closed-loop-disabled": false    {
},     {         "nf-role": "",         "servicerelationship-idvalue": "8ea56b0d42fd42f8-459dcf81-46684f4c-b363a552-c9567432d8b9d4b124f83b0b",
        "relationship-list": {                "relationship-key": [{ "image.image-id"
                   "related-to": "service-instance" }],
                    "relationshiprelated-datalink": [{"/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
                    "relationshiprelated-to-valueproperty": "Demonstration",[{
                        "relationshipproperty-key": "customerimage.globalimage-customer-id"name",
                  },      "property-value": "unknown"
         {           }]
         "relationship-value": "vFWCL",      }]
            },
 "relationship-key": "service-subscription.service-type"          "in-maint": false,
     },       "resource-version": "1528481820321",
        {    "vserver-name": "Firewall-0",
               "relationshipprov-valuestatus": "c6456519-6acf-4adb-997c-3c363dd4caafACTIVE",
    
               "relationshipvserver-keyid": "service-instance.service-instance-id"25fb07ab-0478-465e-a021-6384ac299672",
                }]"vserver-name2": "Firewall-0",
                "related-link"vserver-selflink": "http:/aai/v11/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFWCL/service-instances/service-instance/c6456519-6acf-4adb-997c-3c363dd4caaf/10.12.25.2:8774/v2.1/b49b830686654191bb1e952a74b014ad/servers/25fb07ab-0478-465e-a021-6384ac299672",
                "related-to-property": [{
  "is-closed-loop-disabled": false
        }],
        "resource-version": "1527638176989",
        "propertymodel-customization-keyid": "service-instance.service-instance-name4cc1e555-361f-4d69-ae21-9f371ea9f40c",
        "vf-modules": {
            "propertyvf-valuemodule": "Firewall1"[{
                }]
"vf-module-name": "vPacketGen-VNF-1128-3",
           },        "model-version-id": "d6d4a002-a584-4640-bdce-a50e9bce552b",
    {                 "related-to"heat-stack-id": "l3-networkvPacketGen-VNF-1128-3/df34f5d6-ed39-4184-b785-51c37cfa8ac2",
                "relationshipresource-dataversion": [{
   "1527641224058",
                "relationshipmodel-customization-valueid": "HNP1d77c49c8f521-1094e5ee-41ec4095-b7f3bb87-94bb309518704090166e49ab",
                    "relationship-key": "l3-network.network-id"
                }]is-base-vf-module": true,
                "relatedvf-module-linkid": "/aai/v13/network/l3-networks/l3-network/HNP1d77c-1094-41ec-b7f3-94bb309518710f792076-f5b3-4251-9fcc-c4d5afae0eb1",
                "relationshipmodule-labelindex": "org.onap.relationships.inventory.Uses"0,
                "relatedmodel-toinvariant-propertyid": [{"2a8844a8-f5f7-46dd-a732-472c6972a28e",
                    "propertyorchestration-keystatus": "l3-network.network-name",active"
            }]
        "property-value": "HNPORTALOAM.OAM"},
        "vserver": [{
       }]             }"vserver-name": "Firewall-1",
            {
 "vserver-id": "25fb07ab-0478-465e-a021-6384ac299671",
              "relatedmodel-invariant-toid": "vserver",0c5a20de-87ad-442c-9190-f38ab0a6bb7f"
        }],
        "relationshipmodel-invariant-dataid": [{
           "99f1fd3f-845c-48f5-a0ba-11fbde6ae557",
        "relationshipvnf-valuename": "CloudOwnerPacketGenerator-1",
        "is-closed-loop-disabled": false
    },
    {
        "relationshipnf-keyrole": "cloud-region.cloud-owner",
        "service-id": "8ea56b0d-459d-4668-b363-c9567432d8b9",
      },  "relationship-list": {
            "relationship": [{
  
                 "relationshiprelated-valueto": "RegionOneservice-instance",
   
                "relationship-keydata": "cloud-region.cloud-region-id"[{
                },          "relationship-value": "Demonstration",
      {                     "relationship-"relationship-key": "customer.global-customer-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/v11/business/v13customers/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/b494cd6e-b9f3-45e0-afe7-e1d1a5f5d74b"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",
                    "nfproperty-typevalue": "Firewall1",
        "l3-networks": [{       }]
     "network-role": "HNPORTALOAM.OAM",      },
      "network-technology": "ovs",     {
       "service-id         "related-to": "V7611HNP-1222-48f1-8085-94aef0c6ef3d51870l3-network",
                "networkrelationship-iddata": "HNP1d77c-1222-41ec-b7f3-94bb30951870",[{
                    "neutronrelationship-network-idvalue": "491c7cefHNP1d77c-a3f41094-499041ec-883eb7f3-b0af397466d094bb30951870",
            "is-external-network": false,        "relationship-key": "l3-network.network-id"
     "is-bound-to-vpn": false,          }],
  "is-provider-network": false,             "networkrelated-typelink": "OVS_PROVIDER_VLAN",/aai/v13/network/l3-networks/l3-network/HNP1d77c-1094-41ec-b7f3-94bb30951871",
                "orchestrationrelationship-statuslabel": "activeorg.onap.relationships.inventory.Uses",
                "networkrelated-roleto-instanceproperty": 0,[{
                    "resourceproperty-versionkey": "1526558298075l3-network.network-name",
                    "networkproperty-namevalue": "HNPORTALOAM.OAM",
                }]
  "is-shared-network": false         }],
         "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": [{              {
      "related-to": "generic-vnf",
                    "relationship-datavalue": [{
 "RegionOne",
                      "relationship-valuekey": "8a9ddb25cloud-2e79region.cloud-449cregion-a40d-5011bac0da39id",
                },
       "relationship-key": "generic-vnf.vnf-id"        {
            }],                     "related-link"relationship-value": "/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39b49b830686654191bb1e952a74b014ad",
                    "related-to-property": [{relationship-key": "tenant.tenant-id"
                },
        "property-key": "generic-vnf.vnf-name",        {
                    "propertyrelationship-value": "Firewall-1"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"
            }]
       "related-to": "flavor" },
           "vnf-id": "6700c313-fbb7-4cf9-ac70-0293ec56df69",
        "relationshipnf-datatype": [{"",
        "l3-networks": [{
              "relationshipnetwork-valuerole": "CloudOwnerHNPORTALOAM.OAM",
            "network-technology": "ovs",
            "relationshipservice-keyid": "cloud-region.cloud-owner"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,
            "relationshipis-provider-valuenetwork": "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-2bdd24559f39",a5565bf4-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": "cloudrelated-region.cloudto-ownerproperty": [{
                   },     "property-key": "generic-vnf.vnf-name",
              {          "property-value": "Firewall-1"
               "relationship-value": "RegionOne",    }]
                },
   "relationship-key": "cloud-region.cloud-region-id"            {
        },            "related-to": "flavor",
       {             "relationship-data": [{
          "              "relationship-value": "42fd42f8-cf81-4f4c-a552-d4b124f83b0bCloudOwner",
                        "relationship-key": "imagecloud-region.imagecloud-idowner"
                    }],
                    {
  "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b",                     "relatedrelationship-to-propertyvalue": [{"RegionOne",
                        "propertyrelationship-key": "image.image-name",cloud-region.cloud-region-id"
                    },
    "property-value": "unknown"               {
     }]                 }]             }"relationship-value": "764efb04-5a46-4806-a766-2bdd24559f39",
            "in-maint": false,             "resourcerelationship-versionkey": "1528481820321",flavor.flavor-id"
             "vserver-name": "Firewall-0",      }],
      "prov-status": "ACTIVE",             "vserverrelated-idlink": "b494cd6e-b9f3-45e0-afe7-e1d1a5f5d74b",/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39",
             "vserver-name2": "Firewall-0",
       "related-to-property": [{
           "vserver-selflink": "http://10.12.25.2:8774/v2.1/b49b830686654191bb1e952a74b014ad/servers/25fb07ab-0478-465e-a021-6384ac299671",             "is-closed-loop-disabledproperty-key": false
 "flavor.flavor-name",
      }],         "resource-version": "1527638176989",         "modelproperty-customization-idvalue": "4cc1e555-361f-4d69-ae21-9f371ea9f40c",m1.medium"
         "vf-modules": {          }]
  "vf-module": [{             },
   "vf-module-name": "vPacketGen-VNF-1128-3",            {
    "model-version-id": "d6d4a002-a584-4640-bdce-a50e9bce552b",
                "heatrelated-stack-idto": "vPacketGen-VNF-1128-3/df34f5d6-ed39-4184-b785-51c37cfa8ac2",image",
                    "resourcerelationship-versiondata": "1527641224058", [{
                        "modelrelationship-customization-idvalue": "49c8f521-e5ee-4095-bb87-4090166e49abCloudOwner",
                "is-base-vf-module": true,        "relationship-key": "cloud-region.cloud-owner"
                   "vf-module-id": "0f792076-f5b3-4251-9fcc-c4d5afae0eb1", },
                    {
      "module-index": 0,                 "modelrelationship-invariant-idvalue": "2a8844a8-f5f7-46dd-a732-472c6972a28eRegionOne",
                        "orchestrationrelationship-statuskey": "activecloud-region.cloud-region-id"
            }]
        },
         "vserver": [{          {
  "vserver-name": "Firewall-1",             "vserver-id        "relationship-value": "25fb07ab42fd42f8-0478cf81-465e4f4c-a021a552-6384ac299672d4b124f83b0b",
             "model-invariant-id": "0c5a20de-87ad-442c-9190-f38ab0a6bb7f"           "relationship-key":  }],"image.image-id"
         "model-invariant-id": "99f1fd3f-845c-48f5-a0ba-11fbde6ae557",         "vnf-name": "PacketGenerator-2", }],
         "is-closed-loop-disabled": false     }],     "modelrelated-invariant-id": "0c5a20de-87ad-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"
}

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

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 Block
languagejsxml
collapsetrue
httpse.g.


<l3-network xmlns="http://d2enrichment:9505/enricher/v11/network/l3-networks/l3-network/HNP1d77c-1222-41ec-b7f3-94bb30951870?sot=!aai
Response
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
language
xml
js
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
Code Block
languagejs
collapsetrue


Response
Code Block
language
js
xml
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]]]
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)
Code Block
languagejs
collapsetrue