Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Base Candidate Class 

AttributeRequiredContentValuesDescription
inventory_providerYStringaai
inventory_typeY

String

Cloud, Service, Vfmodule, Transport, NSSI
candidate_idYString
candidate_idtypeYString
uniquenessYBoolean
costYString

...

 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)Following are the AAI objects from which the respective candidates takes the required data:

Cloud object

EXAMPLE

...

languagejs
collapsetrue

...

https://docs.onap.org/projects/onap-optf-has/en/latest/sections/homingspecification.html

MODEL

AttributeRequiredContent
cloud-regionYdict
complexY

dict

flavorsYdict
sriov_automation*Nboolean


Service object

EXAMPLE : https://docs.onap.org/projects/onap-optf-has/en/latest/sections/homingspecification.html

MODEL

AttributeRequiredContent
ValuesDescriptionlocation
generic-vnfYdict
vlan_info*Y
Object

location_id, location_type

complex_info

dict

cloud-regionYdict
service-instanceY

Object

physical_location_id, complex_name, latitude, longitude, state, country, city, regioncloud_infoNObjectcloud_region_version, cloud_ownerother attributesObjectflavors,  sriov_automation 

Service object

EXAMPLE

...

languagejs
collapsetrue

...

dict
complexYdict
sriov_automation*Nboolean


Vfmodule object

EXAMPLE : https://docs.onap.org/projects/onap-optf-has/en/latest/sections/homingspecification.html

MODEL

AttributeRequiredContent
generic-vnfYdict
cloud-regionY

dict

vlan_info*Ydict
vserverYdict
service-instanceYdict
vf-moduleYdict
complexYdict
l-interfacesYdict
sriov_automation*Nboolean


Transport object

EXAMPLE : https://docs.onap.org/projects/onap-optf-has/en/latest/sections/homingspecification.html

MODEL

...

languagejs
collapsetrue

...

AttributeRequiredContent
ValuesDescriptionlocation_infovlan_info
service-instanceY
Object

location_id, location_type

dict
complexY

Object

vlan_key, port_keycloud_infoNObjectcloud_region_version, cloud_owner, vim_id

Vfmodule object

EXAMPLE

dict

zoneYdict

Design

In the data module, after fetching the data from AAI the candidate gets populated like this 

Elite soft json viewer
modeText
width475
height500
{
   "candidate_id" : ""1ac71fb8-ad43-4e16-9459-c3f372b8236d",
"uniqueness" : "", "costcandidate_type" : "",
"service_resource_id" : "",
 "location_id" : "", "locationinventory_type" : "service",

"physical_location_id" : "", "complexinventory_nameprovider" : "aai",
"latitude" : "", "longitudecost" : "100",
"city" : "", "state" : "",
"cloud_region" : "",
"country" : "",

"vim-id" : "",
"cloud_region_version" : "",
"cloud_owner" : "",{
      "location_id":"DLLSTX9A",
      
"hostlocation_idtype" : "azure",
"vlan_key" : "", "port_key" : "",  "sriovcloud_automationowner" : "att-aic",
 "nf-name" : "" "nf-id" : "cloud_region_version"
"nf-type:"1.1"
: "" "vnf-type" : ""
"ipv4-oam-address" : ""
"ipv6-oam-address" : ""
"vf-module-name" : ""
"vf-module-id" : ""
"service_instance_id" : ""
"sriov_automation" : ""
"vservers" : [
                 {
                      "vserver-id" : ""
                      "vserver-name" : ""
     },
   "generic_vnf":{
      "host_id":"vnf_123456"
   },
   "complex":{
      "latitude":"32.897480",
                 "l-interfaces" : [
                                {
                                   "interface-id" : ""
             "longitude":"-97.040443",
                     "interface-name" : ""
              "city":"Dallas",
                    "macaddr" : """state":"TX",
                                   "network-id" : ""
                 "country":"USA",
                 "network-name" : ""
                  "region":"US",
                "ipv4-addresses" : ""
               "complex_name":"dalls_one",
                   "ipv6-addresses" : ""
                          "physical_location_id":"DLLSTX9A"
     }
                         ]
             
    }
              
]

}

MODEL

...

location_id, location_type

...

Object

...

Transport object

EXAMPLE

Code Block
languagejs
collapsetrue
{  			
"inventory_provider" : "",
"inventory_type" : "",
"candidate_id" : "",
"uniqueness" : "",
"cost" : "",
"service_resource_id" : "",

"location_id" : "",
"location_type" : "",

"physical_location_id" : "",
"complex_name" : "",
"latitude" : "",
"longitude" : "",
"city" : "",
"state" : "",
"region" : "",
"country" : "",
"vim-id" : "",
"cloud_region_version" : "",
"cloud_owner" : "

While returning to solver;

Elite soft json viewer
modeText
width475
height400
{
    "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",
    "zone_idstate" : "TX",
"zone_name" : "",  "sriov_automationcountry" : "USA",
 }

MODEL

...

location_id, location_type

...

Object

...

NSSI object

EXAMPLE

Code Block
languagejs
collapsetrue
{  			 "inventory_providerregion" : "US",
 "inventory_type" : "", "candidatecomplex_idname" : "dalls_one",
"uniqueness"  : "", "costcloud_owner" : "att-aic",
"service_resource_id" : "",  }

MODEL

...

Object

CONFIGURATION

Applicable fields of all the models should be present in the configuration

...

"

...

zone_info = ["zone_id", "zone_name"]

cloud_

...

region_version"

...

vlan_info = ["host_id", "vlan_key", "port_key"]

...

: "1.1",
    "physical_location_id"

...

Base candidate class

inventory_provider, inventory_type, candidate_id, uniqueness, cost, service_resource_id

Example of how a cloud inventory type should be defined

...

: "DLLSTX9A"
}