[openstack-dev] [nova] Latest news on placement API and Ocata rough goals

Jay Pipes jaypipes at gmail.com
Tue Sep 27 04:26:50 UTC 2016


On 09/23/2016 05:07 PM, Sylvain Bauza wrote:
> Le 23/09/2016 18:41, Jay Pipes a écrit :
>> 5. Nested resource providers
>>
>> Things like SR-IOV PCI devices are actually resource providers that
>> are embedded within another resource provider (the compute node
>> itself). In order to tag things like SR-IOV PFs or VFs with a set of
>> traits, we need to have discovery code run on the compute node that
>> registers things like SR-IOV PF/VFs or SR-IOV FPGAs as nested resource
>> providers.
>>
>> Some steps needed here:
>>
>> a) agreement on schema for placement DB for representing this nesting
>> relationship
>> b) write the discovery code in nova-compute for adding these resource
>> providers to the placement API when found
>>
>
> Again, that looks like a stretch goal to me, given how small we already
> discussed about that yet. But sure, Ocata would be fine for discussing
> first.

OK, so I was able to carve out some coding time today and pushed up the 
initial code that implements the nested resource providers modeling:

https://review.openstack.org/#/c/377138/

Basically, it adds a couple fields to represent the hierarchy of 
providers and logic to ensure that the tree of providers isn't broken 
accidentally. The modeling is done to allow for an unlimited amount of 
nesting levels (parent -> child relations) while being efficient for 
*most* tree operations (get me all nodes in a tree, get me direct 
children, get my parent, etc).

A followup patch adds a new method 
ResourceProviderList.get_all_by_root_provider_uuid() to get all resource 
providers in a single tree.

https://review.openstack.org/377215

More patches to follow that creates the resource provider records for 
SR-IOV PFs as children to the compute host's resource provider.

Best,
-jay



More information about the OpenStack-dev mailing list