[openstack-dev] [nova] Averting the Nova crisis by splitting out virt drivers

John Garbutt john at johngarbutt.com
Fri Sep 5 10:50:11 UTC 2014


On 5 September 2014 00:26, Jay Pipes <jaypipes at gmail.com> wrote:
> On 09/04/2014 10:33 AM, Dugger, Donald D wrote:
>>
>> Basically +1 with what Daniel is saying (note that, as mentioned, a
>> side effect of our effort to split out the scheduler will help but
>> not solve this problem).
>
>
> The difference between Dan's proposal and the Gantt split is that Dan's
> proposal features quite prominently the following:
>
> == begin ==
>
>  - The nova/virt/driver.py class would need to be much better
>    specified. All parameters / return values which are opaque dicts
>    must be replaced with objects + attributes. Completion of the
>    objectification work is mandatory, so there is cleaner separation
>    between virt driver impls & the rest of Nova.
>
> == end ==
>
> In other words, Dan's proposal above is EXACTLY what I've been saying needs
> to be done to the interfaces between nova-conductor, nova-compute, and
> nova-scheduler *before* any split of the scheduler code is even remotely
> feasible.
>
> Splitting the scheduler out before this is done would actually not "help but
> not solve this problem" -- it would instead further the problem, IMO.

Given any changes we make to the scheduler interface need to be
backwards compatible, I am not totally convinced being in a separate
repo makes things a whole lot worse, vs the review bottlenecks we
have. Anyways, I certainly agree that work needs to be done ASAP, and
if we can make that a priority in Nova, it would be much quicker and
easier to do while still inside Nova.

We have similar issues with glance, cinder and neutron right now that
need fixing soon too. I know we have patches up for some improvements
in that area, but it certainly feels like we need to do better there.

The virt driver is a step ahead of the scheduler because we know what
interface we are talking about, and we already have most of a
versioning plan in place.

I think the key work we have with the scheduler is to actually draw
out the interface (in code), so we agree what interface we need to
firm up and version. I think we are starting to get agreement on that
now, which is great.

I still think the scheduler split is as urgent as the virt split, but
the virt split is much closer to being possible right now.

At this point, it feels like all of kilo-1 gets dedicated to splitting
out these interfaces, and completing objects. But lets see what the
summit brings.

Thanks,
John



More information about the OpenStack-dev mailing list