Example of AAI data for vFWCL with Robot
This example is taken from the results of the running the robot demo vFWCL instantiate tests.
More information for A&AI REST API can be found in here
vf-module
GET https://{{AAI1_PUB_IP}}:30233/aai/v14/network/generic-vnfs/generic-vnf/0519e79a-6b2a-4dfb-98ea-7f8500806696/vf-modules/vf-module?depth=all
{
"vf-module-id": "6e4b778a-f559-4518-b070-48abc260f99d",
"vf-module-name": "Vfmodule_Ete_vFWCLvFWSNK_938f7652_0",
"heat-stack-id": "Vfmodule_Ete_vFWCLvFWSNK_938f7652_0/9116a634-f191-4dee-a696-6e1b1ce28097",
"orchestration-status": "active",
"is-base-vf-module": true,
"automated-assignment": false,
"resource-version": "1563486286838",
"model-invariant-id": "857eb10e-1c4c-484a-ba4b-ab657b6dad9c",
"model-version-id": "2f26cb20-d402-4597-bab1-273f6f4acc60",
"model-customization-id": "a590ece6-4a4f-429e-aff4-1bb8969b2c08",
"module-index": 0,
"relationship-list": {
"relationship": [
{
"related-to": "vserver",
"relationship-label": "org.onap.relationships.inventory.Uses",
"related-link": "/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/6bbd2981b210461dbc8fe846df1a7808/vservers/vserver/5c2533a6-1f4e-4b7e-8434-1e77195888a2",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
"relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
"relationship-value": "RegionOne"
},
{
"relationship-key": "tenant.tenant-id",
"relationship-value": "6bbd2981b210461dbc8fe846df1a7808"
},
{
"relationship-key": "vserver.vserver-id",
"relationship-value": "5c2533a6-1f4e-4b7e-8434-1e77195888a2"
}
],
"related-to-property": [
{
"property-key": "vserver.vserver-name",
"property-value": "Ete_vFWCLvFWSNK_938f7652_0"
}
]
},
{
"related-to": "vserver",
"relationship-label": "org.onap.relationships.inventory.Uses",
"related-link": "/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/6bbd2981b210461dbc8fe846df1a7808/vservers/vserver/e69b8b2d-b248-4eb1-aa0f-92afdaddba31",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
"relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
"relationship-value": "RegionOne"
},
{
"relationship-key": "tenant.tenant-id",
"relationship-value": "6bbd2981b210461dbc8fe846df1a7808"
},
{
"relationship-key": "vserver.vserver-id",
"relationship-value": "e69b8b2d-b248-4eb1-aa0f-92afdaddba31"
}
],
"related-to-property": [
{
"property-key": "vserver.vserver-name",
"property-value": "demofwl01snk7652"
}
]
}
]
}
}
vnfc
GET https://{{AAI1_PUB_IP}}:30233/aai/v14/network/vnfcs/vnfc/demofwl01pgnb5b9?depth=all
{
"vnfc-name": "demofwl01pgnb5b9",
"nfc-naming-code": "vFWCLvPKG",
"nfc-function": "vFWCLvPKG",
"in-maint": false,
"is-closed-loop-disabled": false,
"resource-version": "1562777145165",
"relationship-list": {
"relationship": [
{
"related-to": "vserver",
"relationship-label": "tosca.relationships.HostedOn",
"related-link": "/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/41d6d38489bd40b09ea8a6b6b852dcbd/vservers/vserver/b22654cc-bd9a-425f-ad4a-43ef2726d440",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
"relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
"relationship-value": "RegionOne"
},
{
"relationship-key": "tenant.tenant-id",
"relationship-value": "41d6d38489bd40b09ea8a6b6b852dcbd"
},
{
"relationship-key": "vserver.vserver-id",
"relationship-value": "b22654cc-bd9a-425f-ad4a-43ef2726d440"
}
],
"related-to-property": [
{
"property-key": "vserver.vserver-name",
"property-value": "demofwl01pgnb5b9"
}
]
}
]
}
}
Note: vnfc
The returned VNFC structures does not have CP list which is the simplest way to get the IP addresses allocated for particular VM/v-server
vserver
GET https://{{AAI1_PUB_IP}}:{{AAI1_PUB_PORT}}/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/6bbd2981b210461dbc8fe846df1a7808/vservers/vserver/e69b8b2d-b248-4eb1-aa0f-92afdaddba31?depth=all
{
"vserver-id": "e69b8b2d-b248-4eb1-aa0f-92afdaddba31",
"vserver-name": "demofwl01snk7652",
"vserver-name2": "demofwl01snk7652",
"prov-status": "ACTIVE",
"vserver-selflink": "http://10.12.25.2:8774/v2.1/6bbd2981b210461dbc8fe846df1a7808/servers/e69b8b2d-b248-4eb1-aa0f-92afdaddba31",
"in-maint": false,
"is-closed-loop-disabled": false,
"resource-version": "1563486310825",
"relationship-list": {
"relationship": [
{
"related-to": "vnfc",
"relationship-label": "tosca.relationships.HostedOn",
"related-link": "/aai/v14/network/vnfcs/vnfc/demofwl01snk7652",
"relationship-data": [
{
"relationship-key": "vnfc.vnfc-name",
"relationship-value": "demofwl01snk7652"
}
]
},
{
"related-to": "generic-vnf",
"relationship-label": "tosca.relationships.HostedOn",
"related-link": "/aai/v14/network/generic-vnfs/generic-vnf/0519e79a-6b2a-4dfb-98ea-7f8500806696",
"relationship-data": [
{
"relationship-key": "generic-vnf.vnf-id",
"relationship-value": "0519e79a-6b2a-4dfb-98ea-7f8500806696"
}
],
"related-to-property": [
{
"property-key": "generic-vnf.vnf-name",
"property-value": "Ete_vFWCLvFWSNK_938f7652_0"
}
]
},
{
"related-to": "vf-module",
"relationship-label": "org.onap.relationships.inventory.Uses",
"related-link": "/aai/v14/network/generic-vnfs/generic-vnf/0519e79a-6b2a-4dfb-98ea-7f8500806696/vf-modules/vf-module/6e4b778a-f559-4518-b070-48abc260f99d",
"relationship-data": [
{
"relationship-key": "generic-vnf.vnf-id",
"relationship-value": "0519e79a-6b2a-4dfb-98ea-7f8500806696"
},
{
"relationship-key": "vf-module.vf-module-id",
"relationship-value": "6e4b778a-f559-4518-b070-48abc260f99d"
}
]
},
{
"related-to": "image",
"relationship-label": "org.onap.relationships.inventory.Uses",
"related-link": "/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
"relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
"relationship-value": "RegionOne"
},
{
"relationship-key": "image.image-id",
"relationship-value": "42fd42f8-cf81-4f4c-a552-d4b124f83b0b"
}
],
"related-to-property": [
{
"property-key": "image.image-name",
"property-value": "unknown"
}
]
},
{
"related-to": "flavor",
"relationship-label": "org.onap.relationships.inventory.Uses",
"related-link": "/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
"relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
"relationship-value": "RegionOne"
},
{
"relationship-key": "flavor.flavor-id",
"relationship-value": "764efb04-5a46-4806-a766-2bdd24559f39"
}
],
"related-to-property": [
{
"property-key": "flavor.flavor-name",
"property-value": "m1.medium"
}
]
}
]
},
"l-interfaces": {
"l-interface": [
{
"interface-name": "Vfmodule_Ete_vFWCLvFWSNK_938f7652_0-vsn_0_onap_private_port_0-la7jv4u3kl74",
"interface-id": "5c42d7cd-9a71-4d04-9f78-4eebe2949af9",
"macaddr": "fa:16:3e:fe:15:98",
"network-name": "3a7ad481-b99e-4e73-81df-0a393e807e09",
"is-port-mirrored": false,
"resource-version": "1563486311764",
"in-maint": false,
"is-ip-unnumbered": false,
"l3-interface-ipv4-address-list": [
{
"l3-interface-ipv4-address": "10.0.139.122",
"l3-interface-ipv4-prefix-length": 32,
"resource-version": "1563486311764",
"neutron-network-id": "3a7ad481-b99e-4e73-81df-0a393e807e09",
"neutron-subnet-id": "8754bc21-e28e-4a97-952d-e1c40a84e512"
}
]
},
{
"interface-name": "Vfmodule_Ete_vFWCLvFWSNK_938f7652_0-vsn_0_int_protected_private_port_0-j2qidf3xzxg3",
"interface-id": "4d049f33-ae4e-499d-a836-c45a61cc694f",
"macaddr": "fa:16:3e:14:de:2b",
"network-name": "e6fdfb4a-57f6-474b-a4e6-ffea15fb0227",
"is-port-mirrored": false,
"resource-version": "1563486311192",
"in-maint": false,
"is-ip-unnumbered": false,
"l3-interface-ipv4-address-list": [
{
"l3-interface-ipv4-address": "192.168.20.250",
"l3-interface-ipv4-prefix-length": 32,
"resource-version": "1563486311192",
"neutron-network-id": "e6fdfb4a-57f6-474b-a4e6-ffea15fb0227",
"neutron-subnet-id": "305533e1-0a0c-43ed-9223-4ecccbdd689e"
}
]
}
]
}
}
image
Taking a look at what is present for the 'image':
GET https://{{AAI1_PUB_IP}}:{{AAI1_PUB_PORT}}/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/42fd42f8-cf81-4f4c-a552-d4b124f83b0b?depth=all
flavor
Taking a look at what is in AAI for 'flavor'
GET https://{{AAI1_PUB_IP}}:{{AAI1_PUB_PORT}}/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39?depth=all
l3-network
GET https://{{AAI1_PUB_IP}}:30233/aai/v14/network/l3-networks
Note: l3-network
No examples found so far. It would be the best structure to keep information about created Network kinds. This network objects are associated with the heat stack in the same way how vf-module is associated with it today. Because of that it is the best place to keep information about created networks in OVN.