[openstack-dev] Compute API (Was Re: [nova][cinder] how to handle AZ bug 1496235?)
Sylvain Bauza
sbauza at redhat.com
Mon Sep 28 08:22:26 UTC 2015
Le 25/09/2015 16:12, Andrew Laski a écrit :
> On 09/24/15 at 03:13pm, James Penick wrote:
>>>
>>>
>>> At risk of getting too offtopic I think there's an alternate
>>> solution to
>>> doing this in Nova or on the client side. I think we're missing
>>> some sort
>>> of OpenStack API and service that can handle this. Nova is a low level
>>> infrastructure API and service, it is not designed to handle these
>>> orchestrations. I haven't checked in on Heat in a while but perhaps
>>> this
>>> is a role that it could fill.
>>>
>>> I think that too many people consider Nova to be *the* OpenStack API
>>> when
>>> considering instances/volumes/networking/images and that's not
>>> something I
>>> would like to see continue. Or at the very least I would like to see a
>>> split between the orchestration/proxy pieces and the "manage my
>>> VM/container/baremetal" bits
>>
>>
>> (new thread)
>> You've hit on one of my biggest issues right now: As far as many
>> deployers
>> and consumers are concerned (and definitely what I tell my users within
>> Yahoo): The value of an OpenStack value-stream (compute, network,
>> storage)
>> is to provide a single consistent API for abstracting and managing those
>> infrastructure resources.
>>
>> Take networking: I can manage Firewalls, switches, IP selection, SDN,
>> etc
>> through Neutron. But for compute, If I want VM I go through Nova, for
>> Baremetal I can -mostly- go through Nova, and for containers I would
>> talk
>> to Magnum or use something like the nova docker driver.
>>
>> This means that, by default, Nova -is- the closest thing to a top level
>> abstraction layer for compute. But if that is explicitly against Nova's
>> charter, and Nova isn't going to be the top level abstraction for all
>> things Compute, then something else needs to fill that space. When that
>> happens, all things common to compute provisioning should come out of
>> Nova
>> and move into that new API. Availability zones, Quota, etc.
>
> I do think Nova is the top level abstraction layer for compute. My
> issue is when Nova is asked to manage other resources. There's no API
> call to tell Cinder "create a volume and attach it to this instance,
> and create that instance if it doesn't exist." And I'm not sure why
> the reverse isn't true.
>
> I want Nova to be the absolute best API for managing compute
> resources. It's when someone is managing compute and volumes and
> networks together that I don't feel that Nova is the best place for
> that. Most importantly right now it seems that not everyone is on the
> same page on this and I think it would be beneficial to come together
> and figure out what sort of workloads the Nova API is intending to
> provide.
I totally agree with you on those points :
- nova API should be only supporting CRUD operations for compute VMs
and should no longer manage neither volumes nor networks IMHO, because
it creates more problems than it resolves
- given the above, nova API could possibly accept resources from
networks or volumes but only for placement decisions related to instances.
Tho, I can also understand that operators sometimes just want a single
tool for creating this kind of relationship between a volume and an
instance (and not provide a YAML file), but IMHO, it doesn't perhaps
need a top-level API, just a python client able to do some very simple
orchestration between services, something like openstack-client.
I don't really see a uber-value for getting a proxy API calling Nova or
Neutron. IMHO, that should still be done by clients, not services.
-Sylvain
>
>>
>> -James
>
>> __________________________________________________________________________
>>
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe:
>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
> __________________________________________________________________________
>
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe:
> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
More information about the OpenStack-dev
mailing list