Double api sounds a little terrifying when really there are probably so
many different ways you can already solve this using the services we
already have.

The thing I don't get is Martin's requirement that "an instance must
have internet on boot" and that to do that he must have a floating ip
assigned to it. Internet on boot I can understand because of
preconfigured images and snapshots starting internal services and tasks
on boot, but why is floating ip on boot such a hard requirement? Is
adding a floating ip before boot even possible with Nova right now (I
ask as I've never looked into it)?

Unless I'm missing something, you can easily setup a private network
with internet access, boot your instance on that, and then add a
floating ip. The instance will have internet on boot, and then be given
a floating ip. Does that not solve your problem and can that not be
orchestrated with the current range of services/tools we have?

On 08/09/16 12:41, Fox, Kevin M wrote:
> Interesting. It kind of sounds like your proposing a sort of... openstack 
> standard library api api? (yes, double apis) Where you can build up an api 
> using other api calls and users can rely on those standard overarching api's 
> to be there?
>
> Thanks,
> Kevin
> ________________________________________
> From: Andrew Laski [and...@lascii.com]
> Sent: Wednesday, September 07, 2016 4:34 PM
> To: openstack-dev@lists.openstack.org
> Subject: Re: [openstack-dev] [Horizon][OSC][Nova][Neutron] Launch instance 
> with Floating IP
>
> On Wed, Sep 7, 2016, at 06:54 PM, Martin Millnert wrote:
>> On Thu, 2016-09-08 at 09:34 +1200, Adrian Turjak wrote:
>>> This is exactly what something like Minstral would be fantastic for.
>>> Multi-project workflow.
>>> Rather than try and build logic like this directly into nova, looks
>>> at extending something like Minstral with a basic easy to call task.
>> I have API- and code-reading homework to do here - but based on input
>> on IRC, and efforts thus far, the ideal solution is not really to bolt
>> a humongous piece of logic onto Nova. Rather it is appears to be first
>> and foremost Neutron that need a little bit more intelligence regarding
>> its virtual networks and the intentions of its operators.
>>
>> From what I can tell, Mistral is a very useful project for scheduling
>> recurring tasks or similar, which there is a definite need of in a
>> mature deployment.
>>
>> But I disagree with the "solve it with a new project"-approach here:
>>
>>  1) "launch my instance" is as core as it gets in OpenStack,
>>
>>  2) "launch my instance with Internet" is approximately identically as
>> core, just a bit difficult for $reasons and not fully supported today,
>>
>>  3) core functionality should IMO require as few API calls as possible,
>> to as few components as possible, while keeping REST data models etc.
>> intact, [1][2]
> I agree that it should require as few API calls as possible but maybe we
> disagree about what core functionality is. Or to put it another way,
> what is core functionality depends on your perspective.
>
> I subscribe to the plumbing and porcelain approach
> (https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain)
> and believe that Nova should be part of the plumbing. So while I fully
> agree with a small number of API calls to do simple tasks I don't
> believe that orchestrating network setups is core functionality in Nova
> but is core to OpenStack.
>
>>  4) there are timing concerns with adding Internet to an instance today
>> in OpenStack, since it in some cases needs to happen somewhere between
>> the events "network port created" and "instance launched", in order for
>> the instance to actually have Internet when it boots,
>>
>>  5) Scheduling "Launch instance with Internet" or "Add Internet to
>> instance" via something like Mistral would additionally either, A) add
>> a significant delay to the boot time, or B) not even fulfill the
>> objective of having Internet once instance powers on,
>>
>>  6) To replicate the logic of shade's "get me online" functions, a
>> large amount of code is required, and depending on how you go about it,
>> you also risk duplicating logic already in e.g. Nova or Neutron.
>>
>> Best regards,
>> Martin
>>
>> [1] "A designer knows he has achieved perfection not when there is
>> nothing left to add, but when there is nothing left to take away."
>>   -- Antoine de Saint-Exupery
>> [2] https://tools.ietf.org/rfcdiff?url2=draft-heitz-idr-large-community
>> -02.txt (example of commendable improvement almost unheard of within
>> the IETF)
>>
>> __________________________________________________________________________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe:
>> openstack-dev-requ...@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-requ...@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-requ...@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-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to