Table of Contents
Base Candidate Class
Attribute | Required | Content |
---|
inventory_provider | Y | String |
aai
inventory_type | Y | String |
candidate_id | Y | String |
candidate_ |
type | Y | String |
uniqueness | Y | Boolean |
cost | Y | String |
Inventory Types
1) Cloud
2) Service
3) Vfmodule
4) Transport
5) NSSI
All the candidate for every inventory types extend from the candidate base class.
(Should the fields in models (cloud_info, complex_info, location_info ..) come from the configuration (or) should be defined in the models itself as instance variables (or) should the fields be derived from AAI)
Cloud object
Following are the AAI objects from which the respective candidates takes the required data:
Cloud object
EXAMPLE : https://docs.onap.org/projects/onap-optf-has/en/latest/sections/homingspecification.html
MODEL
Attribute | Required | Content |
---|
cloud-region | Y | dict |
complex | Y | dict |
flavors | Y |
Vfmodule object
...
location_id, location_type
...
Object
...
Transport object
...
location_id, location_type
...
Object
...
NSSI object
dict |
location_id, location_type
Object
Service object
...
location_id, location_type
...
Object
...
sriov_automation* | N | boolean |
Service object
EXAMPLE : https://docs.onap.org/projects/onap-optf-has/en/latest/sections/homingspecification.html
MODEL
Attribute | Required | Content |
---|---|---|
generic-vnf | Y | dict |
vlan_info* | Y | dict |
cloud-region | Y | dict |
service-instance | Y | dict |
complex | Y | dict |
sriov_automation* | N | boolean |
Vfmodule object
EXAMPLE : https://docs.onap.org/projects/onap-optf-has/en/latest/sections/homingspecification.html
MODEL
Attribute | Required | Content |
---|---|---|
generic-vnf | Y | dict |
cloud-region | Y | dict |
vlan_info* | Y | dict |
vserver | Y | dict |
service-instance | Y | dict |
vf-module | Y | dict |
complex | Y | dict |
l-interfaces | Y | dict |
sriov_automation* | N | boolean |
Transport object
EXAMPLE : https://docs.onap.org/projects/onap-optf-has/en/latest/sections/homingspecification.html
MODEL
Attribute | Required | Content |
---|---|---|
service-instance | Y | dict |
complex | Y | dict |
zone | Y | dict |
Design
In the data module, after fetching the data from AAI the candidate gets populated like this
Elite soft json viewer | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"candidate_id":"1ac71fb8-ad43-4e16-9459-c3f372b8236d",
"candidate_type":"service",
"inventory_type":"service",
"inventory_provider":"aai",
"cost":"100",
"cloud_region":{
"location_id":"DLLSTX9A",
"location_type":"azure",
"cloud_owner":"att-aic",
"cloud_region_version":"1.1"
},
"generic_vnf":{
"host_id":"vnf_123456"
},
"complex":{
"latitude":"32.897480",
"longitude":"-97.040443",
"city":"Dallas",
"state":"TX",
"country":"USA",
"region":"US",
"complex_name":"dalls_one",
"physical_location_id":"DLLSTX9A"
}
}
|
While returning to solver;
Elite soft json viewer | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"candidate_id": "1ac71fb8-ad43-4e16-9459-c3f372b8236d",
"candidate_type": "service",
"inventory_type": "service",
"inventory_provider": "aai",
"host_id": "vnf_123456",
"cost": "100",
"location_id": "DLLSTX9A",
"location_type": "azure",
"latitude": "32.897480",
"longitude": "-97.040443",
"city": "Dallas",
"state": "TX",
"country": "USA",
"region": "US",
"complex_name": "dalls_one",
"cloud_owner": "att-aic",
"cloud_region_version": "1.1",
"physical_location_id": "DLLSTX9A"
} |