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

https://nexus.onap.org/service/local/repositories/releases/archive/org/onap/aai/aai-common/aai-schema/1.3.0/aai-schema-1.3.0.jar/!/onap/aai_swagger_html/aai_swagger_v14.html

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.