<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><div><br></div>
<div><br></div>
<div><br></div>
<div>On Thu, Sep 8, 2016, at 05:48 AM, Kevin Benton wrote:<br></div>
<blockquote type="cite"><div dir="ltr">Why don't you just pre-create the port and associate the floating IP before booting the instance? <br></div>
</blockquote><div><br></div>
<div>Right. It's not difficult to do at all but there's a strong desire to have this be encompassed in a single API call. I think that's a great idea, but I don't think it belongs in Nova.</div>
<div><br></div>
<blockquote type="cite"><div><div><br></div>
<div defang_data-gmailquote="yes"><div>On Wed, Sep 7, 2016 at 5:58 PM, Adrian Turjak <span dir="ltr"><<a href="mailto:adriant@catalyst.net.nz" defang_rel="noreferrer" defang_data-ss1473339276="1">adriant@catalyst.net.nz</a>></span> wrote:<br></div>
<blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204, 204, 204);padding-left:1ex;" defang_data-gmailquote="yes"><div>Double api sounds a little terrifying when really there are probably so<br></div>
<div> many different ways you can already solve this using the services we<br></div>
<div> already have.<br></div>
<div> <br></div>
<div> The thing I don't get is Martin's requirement that "an instance must<br></div>
<div> have internet on boot" and that to do that he must have a floating ip<br></div>
<div> assigned to it. Internet on boot I can understand because of<br></div>
<div> preconfigured images and snapshots starting internal services and tasks<br></div>
<div> on boot, but why is floating ip on boot such a hard requirement? Is<br></div>
<div> adding a floating ip before boot even possible with Nova right now (I<br></div>
<div> ask as I've never looked into it)?<br></div>
<div> <br></div>
<div> Unless I'm missing something, you can easily setup a private network<br></div>
<div> with internet access, boot your instance on that, and then add a<br></div>
<div> floating ip. The instance will have internet on boot, and then be given<br></div>
<div> a floating ip. Does that not solve your problem and can that not be<br></div>
<div> orchestrated with the current range of services/tools we have?<br></div>
<div> <br></div>
<div><div><div><br></div>
<div>On 08/09/16 12:41, Fox, Kevin M wrote:<br></div>
<div> > 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?<br></div>
<div> ><br></div>
<div> > Thanks,<br></div>
<div> > Kevin<br></div>
<div> > ______________________________<wbr>__________<br></div>
<div> > From: Andrew Laski [<a href="mailto:andrew@lascii.com" defang_rel="noreferrer" defang_data-ss1473339276="1">andrew@lascii.com</a>]<br></div>
<div> > Sent: Wednesday, September 07, 2016 4:34 PM<br></div>
<div> > To: <a href="mailto:openstack-dev@lists.openstack.org" defang_rel="noreferrer" defang_data-ss1473339276="1">openstack-dev@lists.openstack.<wbr>org</a><br></div>
<div> > Subject: Re: [openstack-dev] [Horizon][OSC][Nova][Neutron] Launch instance with Floating IP<br></div>
<div> ><br></div>
<div> > On Wed, Sep 7, 2016, at 06:54 PM, Martin Millnert wrote:<br></div>
<div> >> On Thu, 2016-09-08 at 09:34 +1200, Adrian Turjak wrote:<br></div>
<div> >>> This is exactly what something like Minstral would be fantastic for.<br></div>
<div> >>> Multi-project workflow.<br></div>
<div> >>> Rather than try and build logic like this directly into nova, looks<br></div>
<div> >>> at extending something like Minstral with a basic easy to call task.<br></div>
<div> >> I have API- and code-reading homework to do here - but based on input<br></div>
<div> >> on IRC, and efforts thus far, the ideal solution is not really to bolt<br></div>
<div> >> a humongous piece of logic onto Nova. Rather it is appears to be first<br></div>
<div> >> and foremost Neutron that need a little bit more intelligence regarding<br></div>
<div> >> its virtual networks and the intentions of its operators.<br></div>
<div> >><br></div>
<div> >> From what I can tell, Mistral is a very useful project for scheduling<br></div>
<div> >> recurring tasks or similar, which there is a definite need of in a<br></div>
<div> >> mature deployment.<br></div>
<div> >><br></div>
<div> >> But I disagree with the "solve it with a new project"-approach here:<br></div>
<div> >><br></div>
<div> >>  1) "launch my instance" is as core as it gets in OpenStack,<br></div>
<div> >><br></div>
<div> >>  2) "launch my instance with Internet" is approximately identically as<br></div>
<div> >> core, just a bit difficult for $reasons and not fully supported today,<br></div>
<div> >><br></div>
<div> >>  3) core functionality should IMO require as few API calls as possible,<br></div>
<div> >> to as few components as possible, while keeping REST data models etc.<br></div>
<div> >> intact, [1][2]<br></div>
<div> > I agree that it should require as few API calls as possible but maybe we<br></div>
<div> > disagree about what core functionality is. Or to put it another way,<br></div>
<div> > what is core functionality depends on your perspective.<br></div>
<div> ><br></div>
<div> > I subscribe to the plumbing and porcelain approach<br></div>
<div> > (<a href="https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain" defang_rel="noreferrer" defang_data-ss1473339276="1">https://git-scm.com/book/en/<wbr>v2/Git-Internals-Plumbing-and-<wbr>Porcelain</a>)<br></div>
<div> > and believe that Nova should be part of the plumbing. So while I fully<br></div>
<div> > agree with a small number of API calls to do simple tasks I don't<br></div>
<div> > believe that orchestrating network setups is core functionality in Nova<br></div>
<div> > but is core to OpenStack.<br></div>
<div> ><br></div>
<div> >>  4) there are timing concerns with adding Internet to an instance today<br></div>
<div> >> in OpenStack, since it in some cases needs to happen somewhere between<br></div>
<div> >> the events "network port created" and "instance launched", in order for<br></div>
<div> >> the instance to actually have Internet when it boots,<br></div>
<div> >><br></div>
<div> >>  5) Scheduling "Launch instance with Internet" or "Add Internet to<br></div>
<div> >> instance" via something like Mistral would additionally either, A) add<br></div>
<div> >> a significant delay to the boot time, or B) not even fulfill the<br></div>
<div> >> objective of having Internet once instance powers on,<br></div>
<div> >><br></div>
<div> >>  6) To replicate the logic of shade's "get me online" functions, a<br></div>
<div> >> large amount of code is required, and depending on how you go about it,<br></div>
<div> >> you also risk duplicating logic already in e.g. Nova or Neutron.<br></div>
<div> >><br></div>
<div> >> Best regards,<br></div>
<div> >> Martin<br></div>
<div> >><br></div>
<div> >> [1] "A designer knows he has achieved perfection not when there is<br></div>
<div> >> nothing left to add, but when there is nothing left to take away."<br></div>
<div> >>   -- Antoine de Saint-Exupery<br></div>
<div> >> [2] <a href="https://tools.ietf.org/rfcdiff?url2=draft-heitz-idr-large-community" defang_rel="noreferrer" defang_data-ss1473339276="1">https://tools.ietf.org/<wbr>rfcdiff?url2=draft-heitz-idr-<wbr>large-community</a><br></div>
<div> >> -02.txt (example of commendable improvement almost unheard of within<br></div>
<div> >> the IETF)<br></div>
<div> >><br></div>
<div> >> ______________________________<wbr>______________________________<wbr>______________<br></div>
<div> >> OpenStack Development Mailing List (not for usage questions)<br></div>
<div> >> Unsubscribe:<br></div>
<div> >> <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" defang_rel="noreferrer" defang_data-ss1473339276="1">OpenStack-dev-request@lists.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br></div>
<div> >> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" defang_rel="noreferrer" defang_data-ss1473339276="1">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br></div>
<div> > ______________________________<wbr>______________________________<wbr>______________<br></div>
<div> > OpenStack Development Mailing List (not for usage questions)<br></div>
<div> > Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" defang_rel="noreferrer" defang_data-ss1473339276="1">OpenStack-dev-request@lists.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br></div>
<div> > <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" defang_rel="noreferrer" defang_data-ss1473339276="1">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br></div>
<div> ><br></div>
<div> > ______________________________<wbr>______________________________<wbr>______________<br></div>
<div> > OpenStack Development Mailing List (not for usage questions)<br></div>
<div> > Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" defang_rel="noreferrer" defang_data-ss1473339276="1">OpenStack-dev-request@lists.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br></div>
<div> > <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" defang_rel="noreferrer" defang_data-ss1473339276="1">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br></div>
<div> <br></div>
<div> <br></div>
<div> <br></div>
<div> ______________________________<wbr>______________________________<wbr>______________<br></div>
<div> OpenStack Development Mailing List (not for usage questions)<br></div>
<div> Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" defang_rel="noreferrer" defang_data-ss1473339276="1">OpenStack-dev-request@lists.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br></div>
<div> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" defang_rel="noreferrer" defang_data-ss1473339276="1">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br></div>
</div>
</div>
</blockquote></div>
</div>
<div><u>__________________________________________________________________________</u><br></div>
<div>OpenStack Development Mailing List (not for usage questions)<br></div>
<div>Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe<br></div>
<div><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" defang_rel="noreferrer" defang_data-ss1473339276="1">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br></div>
</blockquote><div><br></div>
</body>
</html>