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

Reply via email to