[openstack-dev] [all] [nova] [placement] placement below or beside compute after extraction?

Matt Riedemann mriedemos at gmail.com
Mon Aug 20 22:57:44 UTC 2018


On 8/17/2018 11:56 AM, melanie witt wrote:
> We've seen exciting progress in finally solving a lot of these issues as 
> we've been developing placement. But, there is still a significant 
> amount of important work to do in Nova that depends on placement. For 
> example, we need to integrate nested resource providers into the virt 
> drivers in Nova to leverage it for vGPUs and NUMA modeling. We need 
> affinity modeling in placement to properly handle affinity with multiple 
> cells. We need shared storage accounting to properly handle disk usage 
> for deployments on shared storage.

As was mentioned in the epic #openstack-tc channel discussion today, 
most of this is either already done in placement and nova, as a client, 
is lagging (N-R-P and shared storage) or we don't have concrete plans 
for the rest (affinity modeling). Right?

> 
> As we've worked to develop placement and use it in Nova, we've found in 
> most cases that we've had to develop the Nova side and the placement 
> side together, at the same time, to make things work. This isn't really 
> surprising, as with any brand new functionality, it's difficult to 
> fulfill a use case completely without integrating things together and 
> iterating until everything works. Given that, I'd rather see placement 
> stay under compute so we can iterate quickly, as we still need to 
> develop new features in placement and exercise them for the first time, 
> in Nova. Once the major aforementioned efforts have been figured out and 
> landed with close coordination, I think it would make more sense to look 
> at placement being outside of the compute project.

It's definitely true that major changes done across two separate APIs 
and teams will be more complicated and take longer, case in point is 
volume multi-attach which took at least 3 microversions in cinder (3.27, 
3.44, 3.48) before nova, as a client, was fully working properly with it.

I can't say we're really iterating quickly as it stands today. And 
unless we have concrete plans on what we need out of placement *today* 
for these big things that nova needs (affinity modeling is probably the 
hardest) it's hard to justify not making it its own project in 
governance - otherwise we could delay that move for a very long time, 
like how many cycles did we push off fixing [1] because we said 
placement would solve this so just sit tight?

Once we split, it will take leadership for major efforts from someone 
like ildiko did for volume multi-attach to bring both teams together to 
get things done, although I expect any split out placement would at 
least have nova-core as an initial subset of the placement-core team.

I personally don't care much either way if the placement repo is under 
the compute program for some interim amount of time, but I don't think 
we can keep it from being a separately governed project for an undefined 
amount of time while nova figures out what major things we need first.

[1] https://bugs.launchpad.net/nova/+bug/1469179

-- 

Thanks,

Matt



More information about the OpenStack-dev mailing list