Versions Compared

Key

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

Table of Contents
maxLevel3

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

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:8080/service-decomposition/service/context?serviceInstanceId=c6456519-6acf-4adb-997c-3c363dd4caaf

Response

Code Block
languagejs
collapsetrue
Response
Code Block
languagejs
collapsetrue
{
    "relationship-list": {
        "relationship": [
{
            
"related-to": "generic-vnf",
            
"relationship-data": [
{
                
"relationship-value": "6700c313-fbb7-4cf9-ac70-0293ec56df68",
                
"relationship-key": "generic-vnf.vnf-id"
            
}
],
            
"related-link": "/aai/v13/network/generic-vnfs/generic-vnf/6700c313-fbb7-4cf9-ac70-0293ec56df68",
            
"related-to-property": [{
                
{
"property-key": "generic-vnf.vnf-name",
                
"property-key": "generic-vnf.vnf-name", "property-value": "
"property-value": "PacketGenerator-1"
            
}
]
        },
        
{
            
"related-to": "generic-vnf",
            
"relationship-data": [
{
                
"relationship-value": "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",
                
"property-value": "PacketGenerator-2"
            
}
]
        
}
]
    },
    "model-version-id": "d3d6cf83-d03a-43cc-99ff-206d40bb9a72",
    "service-instance-id": "c6456519-6acf-4adb-997c-3c363dd4caaf",
    "resource-version": "1527637758480",
    "generic-vnfs": [
{
        "nf-role": "",
        
"service-id": "8ea56b0d-459d-4668-b363-c9567432d8b7",
        
"relationship-list": {
            
"relationship": [{
                
"related-to": "service-instance",
   
{
             "relationship-data": [{
                    "
related
relationship-
to
value": "
service-instance
Demonstration",
                    
"relationship-
data
key": 
[
"customer.global-customer-id"
                },
            
{
    
{
                    
"relationship-value": "
Demonstration
vFWCL",
                    "relationship-key": "
customer
service-subscription.
global
service-
customer-id
type"
                
},
                {
            
{
        
"relationship-value": "c6456519-6acf-4adb-997c-3c363dd4caaf",
                    "relationship-
value
key": "
vFWCL",
service-instance.service-instance-id"
                }],
                "
relationship
related-
key
link": "/aai/v11/business/customers/customer/Demonstration/service-subscriptions/service-subscription
.service-type"
/vFWCL/service-instances/service-instance/c6456519-6acf-4adb-997c-3c363dd4caaf",
                "related-to-property": [{
           
},
         "property-key": "service-instance.service-instance-name",
                  
{
  "property-value": "Firewall1"
                }]
            
"relationship-value": "c6456519-6acf-4adb-997c-3c363dd4caaf"
},
            
{
                
"
relationship
related-
key
to": "
service-instance.service-instance-id"
l3-network",
                "relationship-data": [{
            
}
        "relationship-value": "HNP1d77c-1094-41ec-b7f3-94bb30951870",
                    "relationship-key": "l3-network.network-id"
        
],
        }],
                "related-link": "/aai/
v11
v13/
business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFWCL/service-instances/service-instance/c6456519-6acf-4adb-997c-3c363dd4caaf
network/l3-networks/l3-network/HNP1d77c-1094-41ec-b7f3-94bb30951870",
                "relationship-label": "org.onap.relationships.inventory.Uses",
          
"related-
      "related-to-property": [{
                    "property-key": "l3-network.network-name",
       
{
             "property-value": "HNPORTALOAM.OAM"
                }]
  
"property-key": "service-instance.service-instance-name",
          },
            {
                "
property
related-
value
to": "
Firewall1
vserver",
                "relationship-data": [{
              
}
      "relationship-value": "CloudOwner",
                 
]
   "relationship-key": "cloud-region.cloud-owner"
                },
                
{
                    
"
related
relationship-
to
value": "
l3-network
RegionOne",
                    
"relationship-
data
key": 
[
"cloud-region.cloud-region-id"
                },
            
{
    {
                    
"relationship-value": "
HNP1d77c-1094-41ec-b7f3-94bb30951870
b49b830686654191bb1e952a74b014ad",
                    
"relationship-key": "
l3-network
tenant.
network
tenant-id"
                },
            
}
    {
                    
]
"relationship-value": "25fb07ab-0478-465e-a021-6384ac299671",
                    
"
related
relationship-
link
key": "
/aai/v13/network/l3-networks/l3-network/HNP1d77c-1094-41ec-b7f3-94bb30951870",
vserver.vserver-id"
                }],
        
"relationship-label": "org.onap.relationships.inventory.Uses",
        "related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/25fb07ab-0478-465e-a021-6384ac299671"
            },
            {
                "related-to
-property
": 
[
"vserver",
                "relationship-data": [{
           
{
         
"relationship-value": "CloudOwner",
                    
"
property
relationship-key": "
l3
cloud-
network
region.
network
cloud-
name
owner"
,

                },
                
"property-value": "HNPORTALOAM.OAM"
{
                    
}
"relationship-value": "RegionOne",
                    
]
"relationship-key": "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"
            }]
        
},
        
"
relationship
vnf-
value
id": "
RegionOne
6700c313-fbb7-4cf9-ac70-0293ec56df68",
        "nf-type": "",
        
"l3-networks": [{
            
"
relationship
network-
key
role": "
cloud-region.cloud-region-id"
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,
            
"relationship-value
"is-bound-to-vpn": 
"b49b830686654191bb1e952a74b014ad"
false,
            
"is-provider-network": false,
            "
relationship
network-
key
type": "
tenant.tenant-id"
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": "
25fb07ab-0478-465e-a021-6384ac299671
PREPROV",
        "vnf-type": "vFW-vSINK-service/vPKG 0",
        
"orchestration-status": "Created",
        
"relationship-key
"nf-naming-code": "
vserver.vserver-id
",
        "in-maint": false,
        "nf-function": "",
        
}
"model-version-id": "a5565bf4-d55a-4964-8fbc-6a7674a2e676",
        "vservers": [{
            
],
"relationship-list": {
                
"related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/25fb07ab-0478-465e-a021-6384ac299671"
"relationship": [{
                    
}
"related-to": "generic-vnf",
                    "relationship-data": [{
                        "
related
relationship-
to
value": "
vserver
8a9ddb25-2e79-449c-a40d-5011bac0da39",
                        "relationship-
data
key": 
[
"generic-vnf.vnf-id"
                    
}],
       
{
             "related-link": "/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39",
                    "
relationship
related-to-
value
property": 
"CloudOwner",
[{
                        
"relationship
"property-key": "
cloud
generic-
region
vnf.
cloud
vnf-
owner
name",
                        
},
"property-value": "Firewall-1"
                    }]
        
{
        },
                {
        
"relationship-value":
 
"RegionOne",
           "related-to": "flavor",
                    "relationship-
key
data": 
"cloud-region.cloud-region-id"
[{
                        
}
"relationship-value": "CloudOwner",
                        
{
"relationship-key": "cloud-region.cloud-owner"
                    },
            
"relationship-value":
 
"b49b830686654191bb1e952a74b014ad",
       
{
                        "relationship-
key
value": "
tenant.tenant-id
RegionOne",
                        "relationship-key": "cloud-region.cloud-region-id"
   
},
                 },
            
{
        {
                        "relationship-value": "
25fb07ab
764efb04-
0478
5a46-
465e
4806-
a021
a766-
6384ac299672
2bdd24559f39",
                        "relationship-key": "
vserver
flavor.
vserver
flavor-id"
                    
}
}],
                    
], "related-link": "/aai/v13/cloud-
"related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/
tenants
flavors/
tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/25fb07ab-0478-465e-a021-6384ac299672"
flavor/764efb04-5a46-4806-a766-2bdd24559f39",
                    
}
"related-to-property": [{
                
]
        
}
"property-key": "flavor.flavor-name",
            
"vnf-id": "6700c313-fbb7-4cf9-ac70-0293ec56df68",
            "
nf
property-
type
value": "m1.medium"
,

              
"l3-networks":
 
[
     }]
           
{
     },
               
"network-role": "HNPORTALOAM.OAM",
 {
                    "
network
related-
technology
to": "
ovs
image",
                    "
service
relationship-
id
data": 
"V7611HNP-1222-48f1-8085-94aef0c6ef3d51870",
[{
                        "
network
relationship-
id
value": "
HNP1d77c-1222-41ec-b7f3-94bb30951870
CloudOwner",
                        "
neutron
relationship-
network-id
key": "
491c7cef
cloud-
a3f4-4990-883e-b0af397466d0",
region.cloud-owner"
                    
"is-external-network": false
},
                    
"is-bound-to-vpn": false,
{
                        "
is
relationship-
provider-network
value": 
false
"RegionOne",
                        "
network
relationship-
type
key": "
OVS_PROVIDER_VLAN",
cloud-region.cloud-region-id"
                    
"orchestration-status": "active"
},
                    
"network-role-instance": 0,
{
                        "
resource
relationship-
version
value": "
1526558298075
42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
                        "
network
relationship-
name
key": "
HNPORTALOAM
image.
OAM
image-id"
,

                    
"is-shared-network": false
}],
                 
}
   "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
        
],
            "
prov
related-to-
status
property": 
"PREPROV",
[{
               
"vnf-type": "vFW-vSINK-service/vPKG
 
0",
        
"
orchestration
property-
status
key": "
Created
image.image-name",
            
"nf-naming-code":
 
"",
           
"
in
property-
maint
value": 
false,
"unknown"
            
"nf-function":
 
"",
       }]
     
"model-version-id":
 
"a5565bf4-d55a-4964-8fbc-6a7674a2e676",
          }]
  
"vservers":
 
[
         },
       
{
     
"in-maint": false,
            
"
relationship
resource-
list
version": 
{
"1528481820321",
            "vserver-name": "Firewall-0",
            "
relationship
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",
            
"related-to
"is-closed-loop-disabled": 
"generic-vnf",
false
        },
        
{
            
"relationship-
data
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"
                    }]
         
"property-key": "generic-vnf.vnf-name",
       },
                {
                    "
property
related-
value
to": "
Firewall-1
flavor",
                    "relationship-data": [{
                 
}
       "relationship-value": "CloudOwner",
                        
]
"relationship-key": "cloud-region.cloud-owner"
                    },
        
},
            {
                 
{
       "relationship-value": "RegionOne",
                        "
related
relationship-
to
key": "
flavor",
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-
region.cloud-owner"
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"
                    }]
                },
    
"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": "
764efb04-5a46-4806-a766-2bdd24559f39
RegionOne",
                        
"relationship-key": "
flavor.flavor
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/
flavors
images/
flavor
image/
764efb04
42fd42f8-
5a46
cf81-
4806
4f4c-
a766
a552-
2bdd24559f39
d4b124f83b0b",
                    
"related-to-property": [{
                        "property-key": "image.image-name",
           
{
             "property-value": "unknown"
                    }]
      
"property-key":
 
"flavor.flavor-name",
         }]
            
},
            "
property
in-
value
maint": 
"m1.medium"
false,
            "resource-version": "1528481820321",
            "vserver-name": "Firewall-0",
          
}
  "prov-status": "ACTIVE",
            "vserver-id": "25fb07ab-0478-465e-a021-6384ac299672",
            
]
"vserver-name2": "Firewall-0",
            "vserver-selflink": "http://10.12.25.2:8774/v2.1/b49b830686654191bb1e952a74b014ad/servers/25fb07ab-0478-465e-a021-6384ac299672",
            
}
"is-closed-loop-disabled": false
        }],
        "resource-version": "1527638176989",
        "model-customization-id": "4cc1e555-361f-4d69-ae21-9f371ea9f40c",
        "vf-modules": 
{
            
"vf-module": [{
                
"
related
vf-module-
to
name": "
image
vPacketGen-VNF-1128-3",
                "model-version-id": "d6d4a002-a584-4640-bdce-a50e9bce552b",
                "
relationship
heat-stack-
data
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,
                
"relationship-value
"vf-module-id": "
CloudOwner
0f792076-f5b3-4251-9fcc-c4d5afae0eb1",
                "module-index": 0,
                
"relationship-key
"model-invariant-id": "
cloud-region.cloud-owner"
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",
        "
relationship
vnf-
value
name": "
RegionOne
PacketGenerator-1",
        "is-closed-loop-disabled": false
    },
    {
        
"nf-role": "",
        
"
relationship
service-
key
id": "
cloud-region.cloud-region-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": "42fd42f8-cf81-4f4c-a552-d4b124f83b0b"
},
                
{
                    
"relationship-
key
value": "
image.image-id
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/
cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFWCL/service-instances/service-instance/c6456519-6acf-4adb-997c-3c363dd4caaf",
                "related-to-property": [{
                    "
related
property-
to-property
key": 
[
"service-instance.service-instance-name",
                    "property-value": "Firewall1"
                
{
}]
            },
            {
                "
property
related-
key
to": "
image.image
l3-
name
network",
                "relationship-data": [{
                    
"
property
relationship-value": "
unknown"
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"
                }]
          
"in-maint": false,
  },
            {
                "
resource
related-
version
to": "
1528481820321
vserver",
                
"
vserver
relationship-
name
data": 
"Firewall-0",
[{
                    "
prov
relationship-
status
value": "
ACTIVE
CloudOwner",
                    "
vserver
relationship-
id
key": "
25fb07ab
cloud-
0478-465e-a021-6384ac299671",
region.cloud-owner"
                },
        
"vserver-name2": "Firewall-0",
        {
                    "
vserver
relationship-
selflink
value": 
"http://10.12.25.2:8774/v2.1/b49b830686654191bb1e952a74b014ad/servers/25fb07ab-0478-465e-a021-6384ac299671",
"RegionOne",
                    
"is-closed-loop-disabled": false
"relationship-key": "cloud-region.cloud-region-id"
                },
                {
                    "relationship-
list
value": 
{
"b49b830686654191bb1e952a74b014ad",
                    
"relationship-key": 
[
"tenant.tenant-id"
                },
            
{
    
{
                    "
related
relationship-
to
value": "
generic-vnf
25fb07ab-0478-465e-a021-6384ac299671",
                    
"relationship-
data
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"
            }]
        
},
        
"relationship-value
"vnf-id": "
8a9ddb25
6700c313-
2e79
fbb7-
449c
4cf9-
a40d
ac70-
5011bac0da39
0293ec56df69",
        "nf-type": "",
        
"l3-networks": [{
            "
relationship
network-
key
role": "
generic-vnf.vnf-id"
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,
            
"related-link": "/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39"
"is-provider-network": false,
            "network-type": "OVS_PROVIDER_VLAN",
            
"related-to-property": [
"orchestration-status": "active",
            "network-role-instance": 0,
            "resource-version": "1526558298075",
          
{
  "network-name": "HNPORTALOAM.OAM",
            "is-shared-network": false
        }],
        "prov-status": "PREPROV",
        "
property
vnf-
key
type": "
generic
vFW-
vnf.vnf-name
vSINK-service/vPKG 0",
        "orchestration-status": "Created",
        "nf-naming-code": "",
        "in-maint": false,
        
"
property
nf-
value
function": "
Firewall-1
",
        "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",
                        
"
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": [{
                        
"relationship-value
"property-key": "
CloudOwner
generic-vnf.vnf-name",
                        
"
relationship
property-
key
value": "
cloud-region.cloud-owner
Firewall-1"
                    }]
                },
                {
                    
{
"related-to": "flavor",
                    "relationship-data": [{
                        "relationship-value": "
RegionOne
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": "
"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"
                    
},
                    
{
                        
"related-to
"relationship-value": "
image
RegionOne",
                        
"relationship-
data
key": 
[
"cloud-region.cloud-region-id"
                    },
                    {
                        "relationship-value": "42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
                        "relationship-
value
key": "
CloudOwner
image.image-id"
,

                    }],
                    "
relationship
related-
key
link": "/aai/v11/cloud-
region.cloud-owner"
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"
                    }]
                
"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": "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",
        "
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-key
"vserver-id": "
image.image-name
25fb07ab-0478-465e-a021-6384ac299672",
            "model-invariant-id": "0c5a20de-87ad-442c-9190-f38ab0a6bb7f"
        
}],
        
"property-value": "unknown" } ] } ] }, "in-maint": false, "resource-version": "1528481820321", "vserver-name": "Firewall-0", "prov-status": "ACTIVE", "vserver-id": "25fb07ab-0478-465e-a021-6384ac299672", "vserver-name2": "Firewall-0", "vserver-selflink": "http://10.12.25.2:8774/v2.1/b49b830686654191bb1e952a74b014ad/servers/25fb07ab-0478-465e-a021-6384ac299672", "is-closed-loop-disabled": false } ], "resource-version": "1527638176989", "model-customization-id": "4cc1e555-361f-4d69-ae21-9f371ea9f40c", "vf-modules": { "vf-module": [ { "vf-module-name": "vPacketGen-VNF-1128-3", "model-version-id": "d6d4a002-a584-4640-bdce-a50e9bce552b", "heat-stack-id": "vPacketGen-VNF-1128-3/df34f5d6-ed39-4184-b785-51c37cfa8ac2", "resource-version": "1527641224058", "model-customization-id": "49c8f521-e5ee-4095-bb87-4090166e49ab", "is-base-vf-module": true, "vf-module-id": "0f792076-f5b3-4251-9fcc-c4d5afae0eb1", "module-index": 0, "model-invariant-id": "2a8844a8-f5f7-46dd-a732-472c6972a28e", "orchestration-status": "active" } ] }, "vserver": [ { "vserver-name": "Firewall-1", "vserver-id": "25fb07ab-0478-465e-a021-6384ac299671", "model-invariant-id": "0c5a20de-87ad-442c-9190-f38ab0a6bb7f" } ], "model-invariant-id": "99f1fd3f-845c-48f5-a0ba-11fbde6ae557", "vnf-name": "PacketGenerator-1", "is-closed-loop-disabled": false }, { "nf-role": "", "service-id": "8ea56b0d-459d-4668-b363-c9567432d8b9", "relationship-list": { "relationship": [ { "related-to": "service-instance", "relationship-data": [ { "relationship-value": "Demonstration", "relationship-key": "customer.global-customer-id" }, { "relationship-value": "vFWCL", "relationship-key": "service-subscription.service-type" }, { "relationship-value": "c6456519-6acf-4adb-997c-3c363dd4caaf", "relationship-key": "service-instance.service-instance-id" } ], "related-link": "/aai/v11/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFWCL/service-instances/service-instance/c6456519-6acf-4adb-997c-3c363dd4caaf", "related-to-property": [ { "property-key": "service-instance.service-instance-name", "property-value": "Firewall1" } ] }, { "related-to": "l3-network", "relationship-data": [ { "relationship-value": "HNP1d77c-1094-41ec-b7f3-94bb30951870", "relationship-key": "l3-network.network-id" } ], "related-link": "/aai/v13/network/l3-networks/l3-network/HNP1d77c-1094-41ec-b7f3-94bb30951871", "relationship-label": "org.onap.relationships.inventory.Uses", "related-to-property": [ { "property-key": "l3-network.network-name", "property-value": "HNPORTALOAM.OAM" } ] }, { "related-to": "vserver", "relationship-data": [ { "relationship-value": "CloudOwner", "relationship-key": "cloud-region.cloud-owner" }, { "relationship-value": "RegionOne", "relationship-key": "cloud-region.cloud-region-id" }, { "relationship-value": "b49b830686654191bb1e952a74b014ad", "relationship-key": "tenant.tenant-id" }, { "relationship-value": "25fb07ab-0478-465e-a021-6384ac299671", "relationship-key": "vserver.vserver-id" } ], "related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/b494cd6e-b9f3-45e0-afe7-e1d1a5f5d74b" } ] }, "vnf-id": "6700c313-fbb7-4cf9-ac70-0293ec56df69", "nf-type": "", "l3-networks": [ { "network-role": "HNPORTALOAM.OAM", "network-technology": "ovs", "service-id": "V7611HNP-1222-48f1-8085-94aef0c6ef3d51870", "network-id": "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."
                            },
                   "model-invariant-id": "99f1fd3f-845c-48f5-a0ba-11fbde6ae557",
         "attributeListvnf-name": []"PacketGenerator-2",
                        }
                    ]
     "is-closed-loop-disabled": false
           }
            ],
            "vnfcList": []"model-invariant-id": "0c5a20de-87ad-442c-9190-f38ab0a6bb7f",
        }
    ]"service-instance-name": "Firewall1"
}


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
Code Block
languagejs
collapsetrue
http://10.147.112.148:8080/network-discovery/v1/network/resource?id=HNP1d77c-1222-41ec-b7f3-94bb30951870






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
[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]]]
Response
Code Block
languagejs
collapsetrue
[requestId=9d9bbc4a-787a-44d3-8ac4-37daed95b252___13, code=200, message=OK, ackFinalIndicator=true, resources=[Resource [id=HNP1d77c-1222-41ec-b7f3-94bb30951870, name=null, type=l3-network, dataQuality=DataQuality [status=error, errorText=ENRICHER-312, Unknown SoT as Enricher could not recognize the SoT reference.], attributeList=null]]]