OOF-AAI Interaction in R2
AAI Schema Changes Refer → Persistence of HPA related information in AAI
HPACapabilities
Given a list of HPACapabilities as requirements, return the candidate list of (cloud region + flavor_reference) such that there exist at least one flavor with all HPACapabilities satisfied.
Naive Approach relying of resources micro service
GET /cloud-infrastructure/cloud-regions (depth=0)
From the list of cloud regions return list of cloud region matching all the mandatory HPA capabilities. (Is there a way to efficiently do this in AAI to avoid step1)
For Each cloud region from cloud_regions (from prev step)
GET /cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/flavors
For Each flavor
Get RelationshipList and find the list of capabilities.
Match the requirement with the list of capabilities
Add the (cloud region + flavor_reference) to candidate list of cloud region
Desired Approach
Get all flavors that satisfies all HPACapability requirements (HPA1 AND HPA2 AND HPA3)
Add all (cloud region + flavor_reference) to candidate list of cloud region
If using Naive approach how to efficiently do step 2 so that we don't have to parse all cloud regions.
Unknowns:
If no such candidate exist during step 3.b in Naive Approach
Then match the requirement with the list of capabilities (for capabilities not associated with any flavors) using GET /cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/hpa-capabilitiesCan we use traversal microservice or namedqueries? How to formulate them?
Min Guarantee Capabilities
Get a list of canditate cloud regions and flavor references that satisfies the minimum guarantee requirements. For eg: cpu = 4, memory = 8GB
Question : Similar to HPACapabilities. Can we rely on flavors to get this information?
Location
Existing Service location.
Given the service details identify the cloud-region and the location details from complex.
Since this is a service we need to identify where it can get cloud-region and Complex
service-instance → cloud-region → complex → (lat,long)
CloudAffinity
Given a cloud-region identify the location details from complex.
GET /network/generic-vnfs?prov-status=PROV&equipment-role={}
For Each vnf in generic-vnfs
Get RelationshipList and find the list of vservers.
For Each vserver in vservers list
Get RelationshipList and find the pserver.
Using the URL from relationship data get the pserver details /cloud-infrastructure/pservers/pserver
Get RelationshipList and find the cloud-region
Using the URL from relationship data get the cloud-region details
Get complex information and location information
generic-vnf → vserver → pserver → complex → (lat,long)
generic-vnf → complex → (lat,long)
Unknowns :
Does VIM onboarding ensures the complex information is populated and the relationship between Cloud-region and complex established?
Confirm with ESR if this association between complex and cloud-region will be taken care - Looks like yes. Ask ESR.