[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