[openstack-dev] [Horizon][OSC][Nova][Neutron] Launch instance with Floating IP

Martin Millnert martin at millnert.se
Wed Sep 7 22:54:33 UTC 2016


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]

 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)



More information about the OpenStack-dev mailing list