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
__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: [email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev