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.142136:8080/ndcontextbuilderservice-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:80808443/aai/v13/nodes/service-decomposition/service/context?serviceInstanceId=instance/c6456519-6acf-4adb-997c-3c363dd4caaf

Response

Code Block
languagejs
collapsetrue
{
    "relationshipservice-instance-listid": {
 "c6456519-6acf-4adb-997c-3c363dd4caaf",
      "relationship"service-instance-name": ["Firewall1",
       "model-invariant-id": "0c5a20de-87ad-442c-9190-f38ab0a6bb7f",
    {
     "model-version-id": "d3d6cf83-d03a-43cc-99ff-206d40bb9a72",
          "related-to"resource-version": "generic-vnf1527637758480",
    "relationship-list": {
          "relationship-data": [
            {
       {         "related-to": "generic-vnf",
                "relationshiprelated-valuelink": "/aai/v13/network/generic-vnfs/generic-vnf/6700c313-fbb7-4cf9-ac70-0293ec56df68",
                "relationship-data": [
       "relationship-key": "generic-vnf.vnf-id"            {
        }                 ],"relationship-key": "generic-vnf.vnf-id",
                  "related-link      "relationship-value": "/aai/v13/network/generic-vnfs/generic-vnf/6700c313-fbb7-4cf9-ac70-0293ec56df68"
                    }
                ],
                "related-to-property": [
                    {
                        "property-key": "generic-vnf.vnf-name",
                        "property-value": "PacketGenerator-1"
                    }
                ]
            },
            {
                "related-to": "generic-vnf",
                "relationshiprelated-datalink": ["/aai/v13/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39",
                "relationship-data": [
  {                  {
      "relationship-value": "6700c313-fbb7-4cf9-ac70-0293ec56df69",                         "relationship-key": "generic-vnf.vnf-id",
                    }      "relationship-value": "8a9ddb25-2e79-449c-a40d-5011bac0da39"
            ],
        }
               "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/6700c313-fbb7-4cf9-ac70-0293ec56df69" ],
                "related-to-property": [
                    {
                        "property-key": "generic-vnf.vnf-name",
                        "property-value": "PacketGeneratorFirewall-21"
                    }
                ]
            }
        ]
    }
},
Response
Code Block
languagejs
collapsetrue
{
    "
model
relationship-
version-id
list": 
"d3d6cf83-d03a-43cc-99ff-206d40bb9a72",
{
        "
service-instance-id
relationship":
"c6456519-6acf-4adb-997c-3c363dd4caaf",
 [{
            "
resource
related-
version
to": "
1527637758480
generic-vnf",
    
"generic-vnfs
        "relationship-data": [{
        
{
        
"
nf
relationship-
role
value": "6700c313-fbb7-4cf9-ac70-0293ec56df68",
                "
service
relationship-
id
key": "
8ea56b0d
generic-
459d-4668-b363-c9567432d8b7",
vnf.vnf-id"
            
"relationship-list": {
}],
            "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/6700c313-fbb7-4cf9-ac70-0293ec56df68",
   
"relationship":
 
[
        "related-to-property": [{
           
{
     "property-key": "generic-vnf.vnf-name",
                
"
related
property-
to
value": "
service
PacketGenerator-
instance
1"
,

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

                }],
                "
property
related-
value
link": "
Firewall1"
/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-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",
                
"relationship-label": "org.onap.relationships.inventory.Uses",
                
"related-to-property": [{
                    "property-key": "l3-network.network-name",
      
{
              "property-value": "HNPORTALOAM.OAM"
                }]
        
"property-key":
 
"l3-network.network-name",
   },
            {
                "
property
related-
value
to": "
HNPORTALOAM.OAM
vserver",
                "relationship-data": [{
          
}
          "relationship-value": "CloudOwner",
             
]
       "relationship-key": "cloud-region.cloud-owner"
            
},
    },
                {

                    "
related
relationship-
to
value": "
vserver
RegionOne",
                    
"relationship-
data
key": 
[
"cloud-region.cloud-region-id"
                
},
          
{
      {
                    
"relationship-value": "
CloudOwner
b49b830686654191bb1e952a74b014ad",
                    
"relationship-key": "
cloud-region
tenant.
cloud
tenant-
owner
id"
                
},
                {
           
{
         "relationship-value": "25fb07ab-0478-465e-a021-6384ac299671",
                    
"relationship-
value
key": "
RegionOne",
vserver.vserver-id"
                }],
                "
relationship
related-
key
link": "/aai/v13/cloud-infrastructure/cloud-
region.
regions/cloud-region
-id
/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/25fb07ab-0478-465e-a021-6384ac299671"
            },
            {
  
},
              "related-to": "vserver",
             
{
   "relationship-data": [{
                    
"relationship-value": "
b49b830686654191bb1e952a74b014ad
CloudOwner",

                    
"relationship-key": "
tenant
cloud-region.
tenant
cloud-
id
owner"
                },
             
},
   {
                    "relationship-value": "RegionOne",
    
{
                "relationship-key": "cloud-region.cloud-region-id"
               
"relationship-value": "25fb07ab-0478-465e-a021-6384ac299671",
 },
                {
                    "relationship-
key
value": "
vserver.vserver-id
b49b830686654191bb1e952a74b014ad",
                    
"relationship-key": "tenant.tenant-id"
     
}
           },
             
],
   
{
                    "
related
relationship-
link
value": "
/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/25fb07ab-0478-465e-a021-6384ac299671"
25fb07ab-0478-465e-a021-6384ac299672",
                    
},
"relationship-key": "vserver.vserver-id"
                
{
}],
                
"related-
to
link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver
",
/25fb07ab-0478-465e-a021-6384ac299672"
            }]
        },
        "
relationship
vnf-
data
id": 
[
"6700c313-fbb7-4cf9-ac70-0293ec56df68",
        "nf-type": "",
        "l3-networks": [{
        
{
    "network-role": "HNPORTALOAM.OAM",
            "network-technology": "ovs",
            
"
relationship
service-
value
id": "
CloudOwner
V7611HNP-1222-48f1-8085-94aef0c6ef3d51870",
            "network-id": "HNP1d77c-1222-41ec-b7f3-94bb30951870",
            
"relationship-key
"neutron-network-id": "
cloud-region.cloud-owner"
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",
            
"relationship-value
"network-role-instance": 
"RegionOne"
0,
            "resource-version": "1526558298075",
            
"relationship-key
"network-name": "
cloud-region.cloud-region-id"
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,
        "
relationship
nf-
value
function": "
b49b830686654191bb1e952a74b014ad
",
        
"model-version-id": "a5565bf4-d55a-4964-8fbc-6a7674a2e676",
        "vservers": [{
            "relationship-
key
list": 
"tenant.tenant-id"
{
                
"relationship": [{
        
},
            "related-to": "generic-vnf",
               
{
     "relationship-data": [{
                        
"relationship-value": "
25fb07ab
8a9ddb25-
0478
2e79-
465e
449c-
a021
a40d-
6384ac299672
5011bac0da39",

                        
"relationship-key": "
vserver
generic-vnf.
vserver
vnf-id"
                    }],
       
}
             "related-link": "/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39",
           
],
         "related-to-property": [{
              
"related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/25fb07ab-0478-465e-a021-6384ac299672"
          "property-key": "generic-vnf.vnf-name",
             
}
           "property-value": "Firewall-1"
    
]
             
},
   }]
         
"vnf-id":
 
"6700c313-fbb7-4cf9-ac70-0293ec56df68",
      },
      
"nf-type":
 
"",
         {
   
"l3-networks":
 
[
                
{
"related-to": "flavor",
                    "
network
relationship-
role
data": 
"HNPORTALOAM.OAM",
[{
                     
"network-technology
   "relationship-value": "
ovs
CloudOwner",
                        "
service
relationship-
id
key": "
V7611HNP
cloud-
1222-48f1-8085-94aef0c6ef3d51870",
region.cloud-owner"
                    },
 
"network-id":
 
"HNP1d77c-1222-41ec-b7f3-94bb30951870",
                  {
  
"neutron-network-id":
 
"491c7cef-a3f4-4990-883e-b0af397466d0",
                     "
is
relationship-
external-network
value": 
false
"RegionOne",
                    
"is-bound-to-vpn": false,
    "relationship-key": "cloud-region.cloud-region-id"
                    
"is-provider-network": false,
},
                    {
  
"network-type":
 
"OVS_PROVIDER_VLAN",
                     "
orchestration
relationship-
status
value": "
active
764efb04-5a46-4806-a766-2bdd24559f39",
                        "
network
relationship-
role-instance
key": 
0,
"flavor.flavor-id"
                    
"resource-version": "1526558298075"
}],
                    "
network
related-
name
link": "
HNPORTALOAM.OAM
/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39",
                    "
is
related-
shared
to-
network
property": 
false
[{
                
}
        
]
"property-key": "flavor.flavor-name",
          
"prov-status":
 
"PREPROV",
             "
vnf
property-
type
value": "
vFW-vSINK-service/vPKG 0",
m1.medium"
             
"orchestration-status": "Created",
       }]
            
"nf-naming-code":
 
"",
   },
         
"in-maint":
 
false,
      {
      
"nf-function":
 
"",
             "
model
related-
version-id
to": "
a5565bf4-d55a-4964-8fbc-6a7674a2e676
image",

       
"vservers":
 
[
            "relationship-data": [{
   
{
                     "relationship-
list
value": 
{
"CloudOwner",
                        "relationship-key":
[
 "cloud-region.cloud-owner"
                    },
          
{
          {
                        "
related
relationship-
to
value": "
generic-vnf
RegionOne",
                        "relationship-key": "cloud-region.cloud-region-id"
        
"relationship-data":
 
[
           },
                    {
    
{
                    "relationship-value": "42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
                        "relationship-
value
key": "
8a9ddb25-2e79-449c-a40d-5011bac0da39",
image.image-id"
                    }],
                    "
relationship
related-
key
link": "
generic-vnf.vnf-id"
/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"
                    }]
        
"related-link":
 
"/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39",
       }]
            },
            "
related
in-
to-property
maint": 
[
false,
            "resource-version": "1528481820321",
            "vserver-name": "Firewall-0",
        
{
    
"prov-status": "ACTIVE",
            
"property-key
"vserver-id": "
generic-vnf.vnf-name
25fb07ab-0478-465e-a021-6384ac299671",
            "vserver-name2": "Firewall-0",
            
"property-value
"vserver-selflink": "
Firewall-1"
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",
                        "
related
relationship-
to
key": "
flavor",
generic-vnf.vnf-id"
                    }],
           
"relationship-data":
 
[
        
"related-link": "/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39",
                    "related-to-property": [{
         
{
               "property-key": "generic-vnf.vnf-name",
                        "
relationship
property-value": "
CloudOwner
Firewall-1"
,

                    }]
                
"relationship-key": "cloud-region.cloud-owner"
},
                {
                    
}
"related-to": "flavor",
                    
"relationship-data": [{
             
{
           "relationship-value": "CloudOwner",
                        
"relationship-
value
key": "
RegionOne",
cloud-region.cloud-owner"
                    },
                   
"relationship-key": "cloud-region.cloud-region-id"
 {
                        "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"
                    }]
            
"property-key":
 
"flavor.flavor-name",
   },
                {
                    "
property
related-
value
to": "
m1.medium
image",
                    "relationship-data": [{
                    
}
    "relationship-value": "CloudOwner",
                        "relationship-key": "cloud-region.cloud-owner"
 
]
                   },
         
},
           {
                 
{
       "relationship-value": "RegionOne",
                        "
related
relationship-
to
key": "
image",
cloud-region.cloud-region-id"
                    },
             
"relationship-data":
 
[
      {
                        
{
"relationship-value": "42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
                        
"relationship-
value
key": "
CloudOwner
image.image-id"
,

                    }],
                    "
relationship
related-
key
link": "/aai/v11/cloud-infrastructure/cloud-
region.cloud-owner"
regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
                    "related-to-property": [{
                
},
        "property-key": "image.image-name",
                        "property-value": "unknown"
 
{
                   }]
                }]
    
"relationship-value":
 
"RegionOne",
       },
            "in-maint": false,
            
"relationship-key
"resource-version": "
cloud-region.cloud-region-id"
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",
        
"
relationship
model-customization-
value
id": "
42fd42f8
4cc1e555-
cf81
361f-
4f4c
4d69-
a552
ae21-
d4b124f83b0b
9f371ea9f40c",
        "vf-modules": {
            "vf-module": [{
                "
relationship
vf-module-
key
name": "
image.image-id"
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,
                "
related
vf-module-
link
id": "
/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
0f792076-f5b3-4251-9fcc-c4d5afae0eb1",
                "module-index": 0,
                "
related
model-
to
invariant-
property
id": 
[
"2a8844a8-f5f7-46dd-a732-472c6972a28e",
                "orchestration-status": "active"
            }]
     
{
   },
        "vserver": [{
            
"vserver-name": "Firewall-1",
            "
property
vserver-
key
id": "
image.image-name
25fb07ab-0478-465e-a021-6384ac299671",
            "model-invariant-id": "0c5a20de-87ad-442c-9190-f38ab0a6bb7f"
        }],
        "model-invariant-id": "99f1fd3f-845c-48f5-a0ba-11fbde6ae557",
        "
property
vnf-
value
name": "
unknown
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"
           
},
     },
               
"in-maint": false,
 {
                    "
resource
relationship-
version
value": "
1528481820321
vFWCL",
                    "
vserver
relationship-
name
key": "
Firewall-0",
service-subscription.service-type"
                },
              
"prov-status": "ACTIVE",
  {
                    "
vserver
relationship-
id
value": "
25fb07ab
c6456519-
0478
6acf-
465e
4adb-
a021
997c-
6384ac299671
3c363dd4caaf",
                    "
vserver
relationship-
name2
key": "
Firewall-0",
service-instance.service-instance-id"
                }],
    
"vserver-selflink": "http://10.12.25.2:8774/v2.1/b49b830686654191bb1e952a74b014ad/servers/25fb07ab-0478-465e-a021-6384ac299671",
            "related-link": "/aai/v11/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFWCL/service-instances/service-instance/c6456519-6acf-4adb-997c-3c363dd4caaf",
                "
is
related-
closed
to-
loop-disabled
property": 
false
[{
                
},
    "property-key": "service-instance.service-instance-name",
           
{
         "property-value": "Firewall1"
          
"relationship-list":
 
{
     }]
            },
      
"relationship":
 
[
     {
                "related-to": "l3-network",
     
{
           "relationship-data": [{
                    "
related
relationship-
to
value": "
generic-vnf
HNP1d77c-1094-41ec-b7f3-94bb30951870",
                    "relationship-key": "l3-network.network-id"
            
"relationship-data":
 
[
   }],
                "related-link": "/aai/v13/network/l3-networks/l3-network/HNP1d77c-1094-41ec-b7f3-94bb30951871",
               
{
 "relationship-label": "org.onap.relationships.inventory.Uses",
                "related-to-property": [{
                    "
relationship
property-
value
key": "
8a9ddb25
l3-
2e79-449c-a40d-5011bac0da39
network.network-name",
                    "property-value": "HNPORTALOAM.OAM"
                }]
  
"relationship-key":
 
"generic-vnf.vnf-id"
         },
            {
              
}
  "related-to": "vserver",
                "relationship-data": [{
           
],
         "relationship-value": "CloudOwner",
                    
"
related
relationship-
link
key": "
/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39",
cloud-region.cloud-owner"
                },
                {
                    "
related
relationship-
to-property
value": 
[
"RegionOne",
                    "relationship-key": "cloud-region.cloud-region-id"
              
{
  },
                
{
                    "
property
relationship-
key
value": "
generic-vnf.vnf-name
b49b830686654191bb1e952a74b014ad",
                    
"property-value
"relationship-key": "
Firewall
tenant.tenant-
1
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",
        "
related
nf-
to
type": "
flavor
",
        "l3-networks": [{
            "network-role": "HNPORTALOAM.OAM",
            "
relationship
network-
data
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,
            "
relationship
is-
value
provider-network": 
"CloudOwner"
false,
            "network-type": "OVS_PROVIDER_VLAN",
            "orchestration-status": "active",
            "
relationship
network-role-
key
instance": 
"cloud-region.cloud-owner"
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,
        
"
relationship
nf-
value
function": "
RegionOne
",
        "model-version-id": "a5565bf4-d55a-4964-8fbc-6a7674a2e676",
        
"vservers": [{
            "relationship-
key
list": 
"cloud-region.cloud-region-id"
{
                "relationship": [{
                  
},
  "related-to": "generic-vnf",
                    "relationship-data": [{
           
{
             "relationship-value": "8a9ddb25-2e79-449c-a40d-5011bac0da39",
                        
"relationship-
value
key": "
764efb04
generic-
5a46-4806-a766-2bdd24559f39",
vnf.vnf-id"
                    }],
                    "
relationship
related-
key
link": "
flavor.flavor-id"
/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-link":
 
"/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39",
          },
                {
     
"related-to-property":
 
[
              "related-to": "flavor",
                    "relationship-data": [{
                        
"property-key
"relationship-value": "
flavor.flavor-name
CloudOwner",

                        
"
property
relationship-
value
key": "
m1.medium
cloud-region.cloud-owner"
                    },
               
}
     {
                        "relationship-value": "RegionOne",
 
]
                       "relationship-key": "cloud-region.cloud-region-id"
    
},
                },
            
{
        {
                        "
related
relationship-
to
value": "
image
764efb04-5a46-4806-a766-2bdd24559f39",

                        
"relationship-
data
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": [{
         
"relationship-value":
 
"CloudOwner",
              
"property-key": "flavor.flavor-name",
                        "
relationship
property-
key
value": "
cloud-region.cloud-owner
m1.medium"
                    }]
                },
                {
                   
{
 "related-to": "image",
                    "relationship-data": [{
                        "relationship-value": "
RegionOne
CloudOwner",

                        
"relationship-key": "cloud-region.cloud-
region-id
owner"
                    
},
              
},
      {
                        
"relationship-value": "RegionOne",
   
{
                     
"relationship-
value
key": "
42fd42f8
cloud-
cf81
region.cloud-
4f4c
region-
a552-d4b124f83b0b
id"
,

                    },
                   
"relationship-key": "image.image-id"
 {
                        "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-key
"property-value": "
image.image-name
unknown"
,

                    }]
                }]
  
"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",
        
"
in
vf-
maint
modules": 
false,
{
            
"resource-version
"vf-module": 
"1528481820321",
[{
                "
vserver
vf-module-name": "
Firewall-0
vPacketGen-VNF-1128-3",
                
"prov-status
"model-version-id": "
ACTIVE
d6d4a002-a584-4640-bdce-a50e9bce552b",
                
"vserver
"heat-stack-id": "
25fb07ab-0478-465e-a021-6384ac299672",
vPacketGen-VNF-1128-3/df34f5d6-ed39-4184-b785-51c37cfa8ac2",
                
"
vserver
resource-
name2
version": "
Firewall-0
1527641224058",
                
"vserver-selflink
"model-customization-id": "
http://10.12.25.2:8774/v2.1/b49b830686654191bb1e952a74b014ad/servers/25fb07ab-0478-465e-a021-6384ac299672",
49c8f521-e5ee-4095-bb87-4090166e49ab",
                
"is-
closed
base-
loop
vf-
disabled
module": 
false
true,
                
}
"vf-module-id": "0f792076-f5b3-4251-9fcc-c4d5afae0eb1",
          
],
      
"resource-version
"module-index": 
"1527638176989"
0,
                "model-
customization
invariant-id": "
4cc1e555
2a8844a8-
361f
f5f7-
4d69
46dd-
ae21
a732-
9f371ea9f40c
472c6972a28e",

          
"vf-modules": {
      
"vf-module
"orchestration-status": 
[
"active"
            }]
       
{
 },
        "vserver": [{
            
"
vf-module
vserver-name": "
vPacketGen-VNF-1128-3
Firewall-1",
            "vserver-id": "25fb07ab-0478-465e-a021-6384ac299672",
            "model-
version
invariant-id": "
d6d4a002
0c5a20de-
a584
87ad-
4640
442c-
bdce
9190-
a50e9bce552b
f38ab0a6bb7f"
,

        }],
        
"heat-stack
"model-invariant-id": "
vPacketGen
99f1fd3f-
VNF
845c-
1128
48f5-
3/df34f5d6-ed39-4184-b785-51c37cfa8ac2
a0ba-11fbde6ae557",
        "vnf-name": "PacketGenerator-2",
        
"resource-version
"is-closed-loop-disabled": 
"1527641224058",
false
    
}],
    "model-
customization
invariant-id": "
49c8f521
0c5a20de-
e5ee
87ad-
4095
442c-
bb87
9190-
4090166e49ab
f38ab0a6bb7f",
    
"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": "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-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" }, { "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" }, { "relationship-value": "RegionOne", "relationship-key": "cloud-region.cloud-region-id" }, { "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" }
Response
Code Block
languagejs
collapsetrue
{
    "service": {
        "uuid": "c6456519-6acf-4adb-997c-3c363dd4caaf",
        "dataQuality": {
            "status": "ok"
        },
        "attributeList": []
    },
    "dataQuality": {
        "status": "ok"
    },
    "attributeList": [],
    "vfList": [
        {
            "dataQuality": {
                "status": "ok"
            },
            "attributeList": [],
            "vfModuleList": [
                {
                    "maxInstances": 0,
                    "minInstances": 0,
                    "dataQuality": {
                        "status": "ok"
                    },
                    "attributeList": [],
                    "vmList": [
                        {
                            "uuid": "25fb07ab-0478-465e-a021-6384ac299671",
                            "nfNamingCode": "vserver",
                            "dataQuality": {
                                "status": "error",
                                "errorText": "ENRICHER-204, REST client response error."
                            },
                            "attributeList": []
                        },
                        {
                            "uuid": "25fb07ab-0478-465e-a021-6384ac299672",
                            "nfNamingCode": "vserver",
                            "dataQuality": {
                                "status": "error",
                                "errorText": "ENRICHER-204, REST client response error."
                            },
                            "attributeList": []
                        }
                    ],
                    "networkList": [
                        {
                            "uuid": "HNP1d77c-1222-41ec-b7f3-94bb30951870",
                            "type": "l3-network",
                            "dataQuality": {
                                "status": "error",
                                "errorText": "ENRICHER-312, Unknown SoT as Enricher could not recognize the SoT reference."
                            },
                            "attributeList": []
                        }
                    ]
                }
            ],
            "vnfcList": []
        },
        {
            "dataQuality": {
                "status": "ok"
            },
            "attributeList": [],
            "vfModuleList": [
                {
                    "maxInstances": 0,
                    "minInstances": 0,
                    "dataQuality": {
                        "status": "ok"
                    },
                    "attributeList": [],
                    "vmList": [
                        {
                            "uuid": "b494cd6e-b9f3-45e0-afe7-e1d1a5f5d74b",
                            "nfNamingCode": "vserver",
                            "dataQuality": {
                                "status": "error",
                                "errorText": "ENRICHER-204, REST client response error."
                            },
                            "attributeList": []
                        }
                    ],
                    "networkList": [
                        {
                            "uuid": "HNP1d77c-1222-41ec-b7f3-94bb30951870",
                            "type": "l3-network",
                            "dataQuality": {
                                "status": "error",
                                "errorText": "ENRICHER-312, Unknown SoT as Enricher could not recognize the SoT reference."
                            },
                            "attributeList": []
                        }
                    ]
                }
            ],
            "vnfcList": []
        }
    ]
}

Network Discovery Context Builder → Network Discovery

The context builder
"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?id?requestId=d4ec9585-eb78-4450-b52c-dc3fa6194667___3?resourceType=l3-network?resourceId=HNP1d77c-1222-41ec-b7f3-94bb30951870-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 Block
languagexml
collapsetrue
https://d2enrichment:9505/enricher/v11/network/l3-networks/l3-network/HNP1d77c-1222-41ec-b7f3-94bb30951870?sot=!aai
Response
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
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