Declare PNF instances
PNF instances can be declared in ONAP inventory (AAI) using REST API
An example:
curl -X PUT \
https://{{ONAP_LB_IP@}}:30233/aai/v16/network/pnfs/pnf/my_pnf_instance_001 \
-H 'Accept: application/json' \
-H 'Authorization: Basic QUFJOkFBSQ==' \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json' \
-H 'Postman-Token: f5e2aae0-dc1c-4edb-b9e9-a93b05aee5e8' \
-H 'X-FromAppId: AAI' \
-H 'X-TransactionId: 999' \
-H 'depth: all' \
-d '{
"pnf-name":" my_pnf_instance_001",
"equip-type":" router",
"nf-role":"primary",
"p-interfaces": {
"p-interface": [
{
"interface-name": "ae1",
"port-description": "Link aggregate for trunk between switches"
},
{
"interface-name": "xe-0/0/6",
"port-description": "to PNF_instance_002 trunk1"
},
{
"interface-name": "xe-0/0/2",
"port-description": "to PNF_instance_003 trunk1"
},
{
"interface-name": "xe-0/0/10",
"port-description": "to PNF_instance_004 trunk1"
},
{
"interface-name": "xe-0/0/0",
"port-description": "firewall trunk"
},
{
"interface-name": "xe-0/0/14",
"port-description": "to PNF_instance_005 trunk1"
}
]
}
}' -k
It is possible to declare the location where is deployed the PNF (called a “complex” in ONAP AAI)
curl -X PUT \
https:// {{ONAP_LB_IP@}}:30233/aai/v11/cloud-infrastructure/complexes/complex/my_complex_name \
-H 'Accept: application/json' \
-H 'Authorization: Basic QUFJOkFBSQ==' \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json' \
-H 'Postman-Token: 43523984-db01-449a-8a58-8888871110bc' \
-H 'X-FromAppId: AAI' \
-H 'X-TransactionId: 999' \
-H 'depth: all' \
-d '{
"physical-location-type":"PoP",
"physical-location-id":"my_complex_name",
"complex-name":"Name of my Complex",
"city":"LANNION",
"postal-code":"22300",
"country":"FRANCE",
"street1":"Avenue Pierre Marzin",
"region":"Europe"
}' -k
To indicate that a PNF instance is located in a complex, we create a relation
curl -X PUT \
https:// {{ONAP_LB_IP@}}:30233/aai/v14/network/pnfs/pnf/my_pnf_instance_001/relationship-list/relationship \
-H 'Accept: application/json' \
-H 'Authorization: Basic QUFJOkFBSQ==' \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json' \
-H 'Postman-Token: 15315304-17c5-4e64-aada-bb149f1af915' \
-H 'X-FromAppId: AAI' \
-H 'X-TransactionId: 999' \
-H 'depth: all' \
-d '{
"related-to": "complex",
"related-link": "/aai/v11/cloud-infrastructure/complexes/complex/my_complex_name"
}' -k