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",
    "relationshipservice-instance-name": ["Firewall1",
            {
                "related-to"model-invariant-id": "generic-vnf0c5a20de-87ad-442c-9190-f38ab0a6bb7f",
        "model-version-id": "d3d6cf83-d03a-43cc-99ff-206d40bb9a72",
    "resource-version": "1527637758480",
    "relationship-datalist": [{
        "relationship": [
            {
                "related-to": "generic-vnf",
       "relationship-value         "related-link": "/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-6700c313-fbb7-4cf9-ac70-0293ec56df68"
                    }
                ],
                "related-to-property": [
                    {
                        "property-key": "generic-vnf.vnf-name",
                        "property-value": "PacketGenerator-1"
                    }
                ]
            },
            {
                "related-to": "generic-vnf",
                "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39",
                "relationship-data": [
                    {
                        "relationship-valuekey": "6700c313generic-fbb7-4cf9-ac70-0293ec56df69vnf.vnf-id",
                        "relationship-keyvalue": "generic-vnf.vnf-id8a9ddb25-2e79-449c-a40d-5011bac0da39"
                    }
                ],
                "related-to-linkproperty": "/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"
                    }
                ]
            }
        ]
    },
    "model-version-id": "d3d6cf83-d03a-43cc-99ff-206d40bb9a72",
}
Response
Code Block
languagejs
collapsetrue
{
    "
service
relationship-
instance-id
list": 
"c6456519-6acf-4adb-997c-3c363dd4caaf",
{
   
"resource-version":
 
"1527637758480",
    "
generic-vnfs
relationship": [{
       
{
     
"nf-role
"related-to": "
", "service-id": "8ea56b0d-459d-4668-b363-c9567432d8b7
generic-vnf",
            "relationship-
list
data": [{
                "relationship-value": 
[
"6700c313-fbb7-4cf9-ac70-0293ec56df68",
                
{
"relationship-key": "generic-vnf.vnf-id"
            }],
            "related-
to
link": "
service-instance",
/aai/v13/network/generic-vnfs/generic-vnf/6700c313-fbb7-4cf9-ac70-0293ec56df68",
            
"
relationship
related-to-
data
property": [{
                
"property-key": "generic-vnf.vnf-name",
          
{
      "property-value": "PacketGenerator-1"
            }]
        },
        {
            "
relationship
related-
value
to": "
Demonstration
generic-vnf",
            "relationship-data": [{
                
"relationship-
key
value": "
customer.global-customer-id"
6700c313-fbb7-4cf9-ac70-0293ec56df69",
                "relationship-key": "generic-vnf.vnf-id"
            }],
            "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/6700c313-fbb7-4cf9-ac70-0293ec56df69",
            
"related-to-property": [{
                "property-key": "generic-vnf.vnf-name",
                "
relationship
property-value": "
vFWCL
PacketGenerator-2"
,

            }]
        }]
    },
    "model-version-id": "d3d6cf83-d03a-43cc-99ff-206d40bb9a72",
    "
relationship
service-instance-
key
id": "
service-subscription.service-type"
c6456519-6acf-4adb-997c-3c363dd4caaf",
    "resource-version": "1527637758480",
    "generic-vnfs": [{
        "nf-role": "",
        
}
"service-id": "8ea56b0d-459d-4668-b363-c9567432d8b7",
        "relationship-list": {
            
"relationship": [{
                "related-to": "service-instance",
                "relationship-
value
data": 
"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-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
"related-to-property": [
{
                    
"property-key": "l3-network.network-name",
                    
"property-value": "HNPORTALOAM.OAM"
                }]
            },
            
]
{
                
}
"related-to": "vserver",
                
"relationship-data": [{
                    
"
related
relationship-
to
value": "
vserver
CloudOwner",
                    
"relationship-
data
key": 
[
"cloud-region.cloud-owner"
                },
            
{
    {
                    
"relationship
"relationship-value": "
CloudOwner
RegionOne",
                    
"relationship-key": "cloud-region.cloud-
owner
region-id"
                
},
                
{
                    
"relationship-value": "
RegionOne
b49b830686654191bb1e952a74b014ad",
                    
"relationship-key": "
cloud-region
tenant.
cloud
tenant-
region-
id"
                
},
                {
            
{
        
"relationship-value": "25fb07ab-0478-465e-a021-6384ac299671",
                    "relationship-
value
key": "
b49b830686654191bb1e952a74b014ad
vserver.vserver-id"
,

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

                    },
                    
"relationship-key": "flavor.flavor-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
resource-
key
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
        
"relationship-value": "42fd42f8-cf81-4f4c-a552-d4b124f83b0b"
}],
        "resource-version": "1527638176989",
        "model-customization-id": "4cc1e555-361f-4d69-ae21-9f371ea9f40c",
        
"vf-modules": {
            "
relationship
vf-
key
module": 
"image.image-id"
[{
                "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",
                "
related
model-customization-
link
id": "
/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b
49c8f521-e5ee-4095-bb87-4090166e49ab",
                "is-base-vf-module": true,
                "
related
vf-
to
module-
property
id": 
[
"0f792076-f5b3-4251-9fcc-c4d5afae0eb1",
                "module-index": 0,
                
{
"model-invariant-id": "2a8844a8-f5f7-46dd-a732-472c6972a28e",
                "orchestration-status": "active"
            }]
        
"property-key": "image.image-name"
},
        "vserver": [{
            "vserver-name": "Firewall-1",
            
"property-value
"vserver-id": "
unknown"
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": [{
                    "
in
relationship-
maint
value": 
false
"Demonstration",
                    "
resource
relationship-
version
key": "
1528481820321",
customer.global-customer-id"
                },
     
"vserver-name": "Firewall-0",
           {
                    "
prov
relationship-
status
value": "
ACTIVE
vFWCL",
                    "
vserver
relationship-
id
key": "
25fb07ab
service-
0478-465e-a021-6384ac299671",
subscription.service-type"
                },
        
"vserver-name2": "Firewall-0",
        {
                    "
vserver
relationship-
selflink
value": "
http://10.12.25.2:8774/v2.1/b49b830686654191bb1e952a74b014ad/servers/25fb07ab-0478-465e-a021-6384ac299671
c6456519-6acf-4adb-997c-3c363dd4caaf",
                    "
is-closed-loop-disabled
relationship-key": 
false
"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",
                
"relationship-list
"related-to-property": [{
                    
"relationship
"property-key": 
[
"service-instance.service-instance-name",
                    "property-value": "Firewall1"
       
{
         }]
            },
           
"related-to": "generic-vnf",
 {
                "related-to": "l3-network",
                "relationship-data": [{
                    "relationship-value": "HNP1d77c-1094-41ec-b7f3-94bb30951870",
               
{
     "relationship-key": "l3-network.network-id"
                
}],
                "
relationship
related-
value
link": "
8a9ddb25-2e79-449c-a40d-5011bac0da39
/aai/v13/network/l3-networks/l3-network/HNP1d77c-1094-41ec-b7f3-94bb30951871",
                "relationship-label": "org.onap.relationships.inventory.Uses",
                "related-to-property": [{
        
"relationship
            "property-key": "
generic
l3-
vnf
network.
vnf
network-
id
name",
                    "property-value": "HNPORTALOAM.OAM"
                }]
            },
            {
        
],
        "related-to": "vserver",
                "relationship-data": [{
      
"related-link":
 
"/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39",
             "relationship-value": "CloudOwner",
                    "
related
relationship-
to-property
key": 
[
"cloud-region.cloud-owner"
                },
                
{
                    "relationship-value": "RegionOne",
                    "
property
relationship-key": "
generic
cloud-
vnf
region.
vnf
cloud-region-
name
id"
,

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

                    }],
                    "
relationship
related-
key
link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region
.cloud-owner"
/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39",
                    "related-to-property": [{
               
},
         "property-key": "flavor.flavor-name",
                        "property-value": 
{
"m1.medium"
                    }]
                },
         
"relationship-value": "RegionOne",
       {
                    "related-to": "image",
                    "relationship-
key
data": 
"cloud-region.cloud-region-id"
[{
                        "relationship-value": "CloudOwner",
           
},
             "relationship-key": "cloud-region.cloud-owner"
                    },
    
{
                {
                        "relationship-value": "
42fd42f8-cf81-4f4c-a552-d4b124f83b0b
RegionOne",
                        
"relationship-key": "
image.image
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"
                    
"property-key": "image.image-name",
}]
                }]
            },
            "
property
in-
value
maint": 
"unknown"
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": [{
                
"in-maint
"vf-module-name": 
false
"vPacketGen-VNF-1128-3",
                
"
resource
model-version-id": "
1528481820321
d6d4a002-a584-4640-bdce-a50e9bce552b",
                
"vserver-name
"heat-stack-id": "
Firewall-0
vPacketGen-VNF-1128-3/df34f5d6-ed39-4184-b785-51c37cfa8ac2",
                "
prov
resource-
status
version": "
ACTIVE
1527641224058",
                
"vserver
"model-customization-id": "
25fb07ab
49c8f521-
0478
e5ee-
465e
4095-
a021
bb87-
6384ac299672
4090166e49ab",
                
"vserver-name2
"is-base-vf-module": 
"Firewall-0"
true,
                
"vserver-selflink
"vf-module-id": "
http://10.12.25.2:8774/v2.1/b49b830686654191bb1e952a74b014ad/servers/25fb07ab-0478-465e-a021-6384ac299672
0f792076-f5b3-4251-9fcc-c4d5afae0eb1",
                
"
is-closed-loop-disabled
module-index": 
false
0,
                
}
"model-invariant-id": "2a8844a8-f5f7-46dd-a732-472c6972a28e",
            
],
    "orchestration-status": "active"
            
"resource-version": "1527638176989",
}]
        },
     
"model-customization-id":
 
"4cc1e555-361f-4d69-ae21-9f371ea9f40c",
  
"vf-modules
"vserver": [{
            
"
vf
vserver-
module
name": 
[
"Firewall-1",
            
{
"vserver-id": "25fb07ab-0478-465e-a021-6384ac299672",
            
"vf-module-name
"model-invariant-id": "
vPacketGen
0c5a20de-87ad-
VNF
442c-
1128
9190-
3
f38ab0a6bb7f"
,

        }],
        
"model-
version
invariant-id": "
d6d4a002
99f1fd3f-
a584
845c-
4640
48f5-
bdce
a0ba-
a50e9bce552b
11fbde6ae557",
        
"vnf-name": "PacketGenerator-2",
        "
heat
is-closed-
stack
loop-
id
disabled": 
"vPacketGen-VNF-1128-3/df34f5d6-ed39-4184-b785-51c37cfa8ac2",
false
    
"resource-version": "1527641224058",
}],
    
"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" }
"service-instance-name": "Firewall1"
}

Network Discovery

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 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?idrequestId=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

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
languagejsxml
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
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