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-
subscription.service-type"
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"
                }]
           
"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-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"

                
},
                
],
{
                    
"
related
relationship-
link
value": "
/aai/v13/network/l3-networks/l3-network/HNP1d77c-1094-41ec-b7f3-94bb30951870",
25fb07ab-0478-465e-a021-6384ac299671",
                    
"relationship-
label
key": "
org.onap.relationships.inventory.Uses",
vserver.vserver-id"
                }],
       
"related-to-property":
 
[
        
"related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/25fb07ab-0478-465e-a021-6384ac299671"
            },
{
            {
                
"
property
related-
key
to": "
l3-network.network-name
vserver",
                "relationship-data": [{
                    "
property
relationship-value": "
HNPORTALOAM.OAM
CloudOwner",
                    "relationship-key": "cloud-region.cloud-owner"
      
}
          },
              
]
  {
                  
},
  "relationship-value": "RegionOne",
                 
{
   "relationship-key": "cloud-region.cloud-region-id"
                },
   
"related-to":
 
"vserver",
            {
                    "relationship-
data
value": 
[
"b49b830686654191bb1e952a74b014ad",
                    "relationship-key": "tenant.tenant-id"
        
{
        },
                {
       
"relationship-value": "CloudOwner",
             "relationship-value": "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",
        "nf-type": "",
        
"
relationship
l3-
value
networks": 
"RegionOne",
[{
            
"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,
            
"relationship-value
"is-provider-network": 
"b49b830686654191bb1e952a74b014ad"
false,
            
"network-type": "OVS_PROVIDER_VLAN",
            
"
relationship
orchestration-
key
status": "
tenant.tenant-id
active",
            "network-role-instance": 0,
            
}
"resource-version": "1526558298075",
            "network-name": "HNPORTALOAM.OAM",
            "is-shared-network": false
{
        }],
        
"prov-status": "PREPROV",
        "
relationship
vnf-
value
type": "
25fb07ab
vFW-
0478-465e-a021-6384ac299671
vSINK-service/vPKG 0",
        "orchestration-status": "Created",
        "nf-naming-code": "",
        "in-maint": false,
        "
relationship
nf-
key
function":
"vserver.vserver
 "",
        "model-version-id": "a5565bf4-d55a-4964-8fbc-6a7674a2e676",
        "vservers": [{
            "relationship-list": {
          
}
      "relationship": [{
                 
],
   "related-to": "generic-vnf",
                    "
related
relationship-
link
data":
"/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/25fb07ab-0478-465e-a021-6384ac299671"
 [{
                        "relationship-value": "8a9ddb25-2e79-449c-a40d-5011bac0da39",
                    
},
    "relationship-key": "generic-vnf.vnf-id"
               
{
     }],
                    "related-
to
link": "
vserver
/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39",
                    
"relationship-data
"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": "
RegionOne
CloudOwner",
                        
"relationship-key": "cloud-region.cloud-
region-id
owner"
                    
},

                    
{
                        
"relationship-value": "
b49b830686654191bb1e952a74b014ad
RegionOne",

                        
"relationship-key": "
tenant.tenant
cloud-region.cloud-region-id"

                    
},
                    
{
                        
"relationship-value": "25fb07ab-0478-465e-a021-6384ac299672",
"relationship-value": "764efb04-5a46-4806-a766-2bdd24559f39",
                        
"relationship-key": "
vserver
flavor.
vserver
flavor-id"
                    
}
],
                    
"related-link": "/aai/
v13
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
property-
id
value": "
6700c313-fbb7-4cf9-ac70-0293ec56df68",
m1.medium"
                    }]
 
"nf-type":
 
"",
             
"l3-networks": [
 },
                {
                    "
network
related-
role
to": "
HNPORTALOAM.OAM
image",
                    "
network
relationship-
technology
data": 
"ovs",
[{
                        "
service
relationship-
id
value": "
V7611HNP-1222-48f1-8085-94aef0c6ef3d51870
CloudOwner",
                        "
network
relationship-
id
key": "
HNP1d77c
cloud-
1222-41ec-b7f3-94bb30951870",
region.cloud-owner"
                    },
 
"neutron-network-id":
 
"491c7cef-a3f4-4990-883e-b0af397466d0",
                  {
  
"is-external-network":
 
false,
                     "
is-bound-to-vpn
relationship-value": 
false
"RegionOne",
                    
"is-provider-network":
 
false,
   
"network-type
"relationship-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": "unknown"
false,
             
"nf-function":
 
"",
      }]
      
"model-version-id":
 
"a5565bf4-d55a-4964-8fbc-6a7674a2e676",
         }]
   
"vservers":
 
[
        },
        
{
    
"in-maint": false,
            
"
relationship
resource-
list
version": 
{
"1528481820321",
            
"relationship
"vserver-name": 
[
"Firewall-0",
            "prov-status": "ACTIVE",
            "vserver-id": 
{
"25fb07ab-0478-465e-a021-6384ac299671",
            "vserver-name2": "Firewall-0",
            
"related-to
"vserver-selflink": "
generic-vnf
http://10.12.25.2:8774/v2.1/b49b830686654191bb1e952a74b014ad/servers/25fb07ab-0478-465e-a021-6384ac299671",
            
"is-closed-loop-disabled": 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": [{
    
],
                    
"related-link": "/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39
"property-key": "generic-vnf.vnf-name",
                        
"related-to-property
"property-value": 
[
"Firewall-1"
                    }]
               
{
 },
                {
                    
"
property
related-
key
to": "
generic-vnf.vnf-name
flavor",
                    "relationship-data": [{
                        "
property
relationship-value": "
Firewall-1
CloudOwner",
                        "relationship-key": "cloud-region.cloud-owner"
          
}
          },
                    {
 
]
                       "relationship-value": "RegionOne",
    
},
                    "relationship-key": "cloud-region.cloud-region-id"
       
{
             },
                   
"related-to": "flavor",
 {
                        
"relationship-
data
value": 
[
"764efb04-5a46-4806-a766-2bdd24559f39",
                        "relationship-key": "flavor.flavor-id"
          
{
          }],
                    
"relationship-value
"related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39",
                    "related-to-property": [{
                        "
relationship
property-key": "
cloud-region
flavor.
cloud
flavor-
owner
name",
                        "property-value": "m1.medium"
          
},
          }]
                },
                {
                    "related-to": "image",
                    "relationship-
value
data":
"RegionOne",
 [{
                        "relationship-value": "CloudOwner",
                        "relationship-key": "cloud-region.cloud-
region-id
owner"
                    },
                
},
    {
                        "relationship-value": "RegionOne",
         
{
               "relationship-key": "cloud-region.cloud-region-id"
                    },
   
"relationship-value":
 
"764efb04-5a46-4806-a766-2bdd24559f39",
                {
                        "relationship-
key
value": "
flavor.flavor-id"
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": {
            
"related-to
"vf-module": 
"image",
[{
                "vf-module-name": "vPacketGen-VNF-1128-3",
                "
relationship
model-version-
data
id": 
[
"d6d4a002-a584-4640-bdce-a50e9bce552b",
                "heat-stack-id": "vPacketGen-VNF-1128-3/df34f5d6-ed39-4184-b785-51c37cfa8ac2",
                "resource-version": "1527641224058",
{
                
"relationship-value
"model-customization-id": "
CloudOwner
49c8f521-e5ee-4095-bb87-4090166e49ab",
                
"is-base-vf-module": true,
                
"
relationship
vf-module-
key
id": "
cloud-region.cloud-owner"
0f792076-f5b3-4251-9fcc-c4d5afae0eb1",
                "module-index": 0,
                
}
"model-invariant-id": "2a8844a8-f5f7-46dd-a732-472c6972a28e",
                "orchestration-status": "active"
            }]
     
{
   },
        "vserver": [{
            
"vserver-name": "Firewall-1",
            "
relationship
vserver-
value
id": "
RegionOne
25fb07ab-0478-465e-a021-6384ac299671",
            "model-invariant-id": "0c5a20de-87ad-442c-9190-f38ab0a6bb7f"
        }],
        
"relationship-key
"model-invariant-id": "
cloud-region.cloud-region-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-
value
data": 
"42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
[{
                    "relationship-value": "Demonstration",
                    "relationship-key": "
image
customer.
image
global-customer-id"
                },
                {
  
}
                  "relationship-value": "vFWCL",
             
],
       "relationship-key": "service-subscription.service-type"
                },
   
"related-link":
 
"/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
            {
                    "
related
relationship-
to-property
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
-key
": 
"image.image-name",
[{
                    "property-key": "service-instance.service-instance-name",
                    "property-value": "
unknown
Firewall1"
                }]
            },
      
}
      {
                "related-to": "l3-network",
        
]
        "relationship-data": [{
                   
}
 "relationship-value": "HNP1d77c-1094-41ec-b7f3-94bb30951870",
                    "relationship-key": 
]
"l3-network.network-id"
                
}],

                
"
in
related-
maint
link": 
false,
"/aai/v13/network/l3-networks/l3-network/HNP1d77c-1094-41ec-b7f3-94bb30951871",
                
"
resource
relationship-
version
label": "
1528481820321
org.onap.relationships.inventory.Uses",

                
"vserver-name
"related-to-property": 
"Firewall-0",
[{
                    "
prov
property-
status
key": "
ACTIVE
l3-network.network-name",
                    "
vserver
property-
id
value": "
25fb07ab-0478-465e-a021-6384ac299671",
HNPORTALOAM.OAM"
                }]
    
"vserver-name2":
 
"Firewall-0",
       },
            {
"vserver-selflink":
 
"http://10.12.25.2:8774/v2.1/b49b830686654191bb1e952a74b014ad/servers/25fb07ab-0478-465e-a021-6384ac299671",
               "related-to": "vserver",
    
"is-closed-loop-disabled":
 
false
           "relationship-data": [{
    
},
                
{
"relationship-value": "CloudOwner",
                    "relationship-
list
key": 
{
"cloud-region.cloud-owner"
                },
       
"relationship":
 
[
        {
                    
{
"relationship-value": "RegionOne",
                    "relationship-key": "cloud-region.cloud-region-id"
         
"related-to": "generic-vnf"
       },
                {
                    "relationship-
data
value": 
[
"b49b830686654191bb1e952a74b014ad",
                    "relationship-key": "tenant.tenant-id"
              
{
  },
                {
                    
"relationship-value": "
8a9ddb25
25fb07ab-
2e79
0478-
449c
465e-
a40d
a021-
5011bac0da39
6384ac299671",

                    
"relationship-key": "
generic-vnf
vserver.
vnf
vserver-id"
                }],
                
}
"related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b49b830686654191bb1e952a74b014ad/vservers/vserver/b494cd6e-b9f3-45e0-afe7-e1d1a5f5d74b"
            }]
        
],
},
        
"related-link
"vnf-id": "
/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39
6700c313-fbb7-4cf9-ac70-0293ec56df69",
        "nf-type": "",
        "l3-networks": [{
            "
related
network-
to-property
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",
            
"property-key": "generic-vnf.vnf-name"
"is-external-network": false,
            "is-bound-to-vpn": false,
            "is-provider-network": false,
            "
property
network-
value
type": "
Firewall-1"
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": "",
        
"
related
model-version-
to
id": "
flavor
a5565bf4-d55a-4964-8fbc-6a7674a2e676",
        "vservers": [{
            
"relationship-list": {
       
"relationship-data":
 
[
        "relationship": [{
                    "related-to": "generic-vnf",
     
{
               "relationship-data": [{
                        "relationship-value": "
CloudOwner
8a9ddb25-2e79-449c-a40d-5011bac0da39",

                        
"relationship-key": "
cloud
generic-
region
vnf.
cloud
vnf-
owner"
id"
                    
}],
                    "related-link": "/aai/v11/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39",
              
{
      "related-to-property": [{
                        
"relationship-value
"property-key": "
RegionOne
generic-vnf.vnf-name",
                        "property-value": "Firewall-1"
              
"relationship-key":
 
"cloud-region.cloud-region-id"
     }]
                },
              
},
  {
                    "related-to": "flavor",
            
{
        
"relationship-data": [{
                        
"relationship-value": "
764efb04-5a46-4806-a766-2bdd24559f39",
CloudOwner",
                        
"relationship-key": "
flavor
cloud-region.
flavor
cloud-
id
owner"
                    },
               
}
     {
                        
]
"relationship-value": "RegionOne",
                        
"related-link
"relationship-key": "
/aai/v11/
cloud-
infrastructure/
region.cloud-
regions/cloud-
region
/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39",
-id"
                    },
           
"related-to-property":
 
[
        {
                        
{
"relationship-value": "764efb04-5a46-4806-a766-2bdd24559f39",
                        
"property
"relationship-key": "flavor.flavor-
name
id"
,

                    }],
                    "
property
related-
value
link": "
m1.medium"
/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":
 
"CloudOwner",
               
{
                        "relationship-
key
value": "
cloud-region.cloud-owner"
RegionOne",
                        
"relationship-key": "cloud-region.cloud-region-id"
         
},
           },
                    {
    
{
                    "relationship-value": "42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
                        "relationship-
value
key": "
RegionOne",
image.image-id"
                    }],
                    "
relationship
related-
key
link": "/aai/v11/cloud-
region.
infrastructure/cloud-regions/cloud-region
-id"
/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
                    "related-to-property": [{
                
},
        "property-key": "image.image-name",
                        "property-value": "unknown"
 
{
                   }]
                }]
    
"relationship-value":
 
"42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
       },
            "in-maint": false,
            
"relationship-key
"resource-version": "
image.image-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
        }],
        "
related
resource-
link
version": "
/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b
1527638176989",
        "model-customization-id": "4cc1e555-361f-4d69-ae21-9f371ea9f40c",
        "vf-modules": {
            "
related
vf-
to-property
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",
                
"
property
resource-
key
version": "
image.image-name
1527641224058",
                
"model-customization-id": "49c8f521-e5ee-4095-bb87-4090166e49ab",
                
"property-value
"is-base-vf-module": 
"unknown"
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",
            
"in-maint
"model-invariant-id": 
false,
"0c5a20de-87ad-442c-9190-f38ab0a6bb7f"
        }],
        
"resource-version
"model-invariant-id": "
1528481820321
99f1fd3f-845c-48f5-a0ba-11fbde6ae557",

        
"
vserver
vnf-name": "
Firewall
PacketGenerator-
0
2",
        "is-closed-loop-disabled": false
    }],
    
"
prov
model-invariant-
status
id": "
ACTIVE", "vserver-id": "25fb07ab-0478-465e-a021-6384ac299672",
0c5a20de-87ad-442c-9190-f38ab0a6bb7f",
    
"
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."
                            },
                            "attributeList": []
                        }
                    ]
                }
            ],
            "vnfcList": []
        }
    ]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]]]