[openstack-dev] [nova][oot drivers] Putting a contract out on ComputeDriver.get_traits()

Eric Fried openstack at fried.cc
Tue Jun 19 20:24:08 UTC 2018


All (but especially out-of-tree compute driver maintainers)-

	ComputeDriver.get_traits() was introduced mere months ago [1] for
initial implementation by Ironic [2] mainly because the whole
update_provider_tree framework [3] wasn't fully baked yet.  Now that
update_provider_tree is a thing, I'm starting work to cut Ironic over to
using it [4].  Since, as of this writing, Ironic still has the only
in-tree implementation of get_traits [5], I'm planning to whack the
ComputeDriver interface [6] and its one callout in the resource tracker
[7] at the same time.

	If you maintain an out-of-tree driver and this is going to break you
unbearably, scream now.  However, be warned that I will probably just
ask you to cut over to update_provider_tree.

Thanks,
efried

[1] https://review.openstack.org/#/c/532290/
[2]
https://review.openstack.org/#/q/topic:bp/ironic-driver-traits+(status:open+OR+status:merged)
[3]
http://specs.openstack.org/openstack/nova-specs/specs/rocky/approved/update-provider-tree.html
[4] https://review.openstack.org/#/c/576588/
[5]
https://github.com/openstack/nova/blob/0876b091db6f6f0d6795d5907d3d8314706729a7/nova/virt/ironic/driver.py#L737
[6]
https://github.com/openstack/nova/blob/ecaadf6d6d3c94706fdd1fb24676e3bd2370f9f7/nova/virt/driver.py#L886-L895
[7]
https://github.com/openstack/nova/blob/ecaadf6d6d3c94706fdd1fb24676e3bd2370f9f7/nova/compute/resource_tracker.py#L915-L926



More information about the OpenStack-dev mailing list