[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