Mark, in our use case that (public ip for free per instance) wouldn't change. Our use case doesn't involve floating IPs (yet). We'll have flat networks for both "public" and "private", as we define them. The way nova is currently implemented, all of these addresses would be considered "private" whether they are actually private for our use or not. We'll need to get away from assuming fixed == private and floating == public, and move towards referring to addresses based on their container network's label (which could be end up being "public" or "private" but could instead be "whizzlegoober" or "secret" if desired).<div>
<br></div><div>-tr3buchet<br><br><div class="gmail_quote">On Mon, Apr 18, 2011 at 3:53 PM, Mark Washenberger <span dir="ltr"><<a href="mailto:mark.washenberger@rackspace.com">mark.washenberger@rackspace.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><font face="arial" size="2"><p>Perhaps I misunderstood. I thought option #3 consisted of adding new http resources to the openstack api to expose the add/allocate/associate/etc floating ip functionality to the api consumer.</p>

<p> </p>
<p>If that is the case, I believe it would be a break with the cloud servers 1.0 api, where a customer would expect to get a public ip for free when they create an instance.</p><div><div></div><div class="h5">
<p> </p>
<p>"Jesse Andrews" <<a href="mailto:anotherjesse@gmail.com" target="_blank">anotherjesse@gmail.com</a>> said:<br><br>I like the simple solution (#3) as well.</p>
<div>It gets parity for the APIs while leaving more advanced topics for the NaaS discussions.<br>
<div>
<div><span style="border-collapse:separate;color:#000000;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-size:medium">
<div><br>-- Sent from my Tandy 1000sx</div>
<div>Jesse Andrews</div>
<div><a href="mailto:anotherjesse@gmail.com" target="_blank">anotherjesse@gmail.com</a></div>
</span></div>
<br>
<div>
<div>On Apr 18, 2011, at 11:36 AM, Trey Morris wrote:</div>
<br>
<blockquote>Appears my response got lost somehow. I vote for #3 as it's the most configurable (and affects nothing contrariwise). In addition to believing we use flags too often, I don't think having a flag solves the problem very well. A couple of examples show why:
<div>you want a few instances having floating IP(s) while others do not</div>
<div>you want multiple floating IPs for an instance<br>
<div>-tr3buchet<br><br>
<div class="gmail_quote">On Mon, Apr 18, 2011 at 6:15 AM, Ilya Alekseyev <span dir="ltr"><<a href="mailto:ilyaalekseyev@acm.org" target="_blank">ilyaalekseyev@acm.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_quote">Mark,<br><br>approach #1 implementation is here: <a href="https://code.launchpad.net/%7Eopenstack-gd/nova/auto-float-ip" target="_blank">https://code.launchpad.net/~openstack-gd/nova/auto-float-ip</a>. I saw that you interested in approach #3 too. May be you have some ideas of specification of API for approach #3?<br>
 <br>Erik,<br>there is implementation of floating ips in Nova. In implementation of approach #1 we just care about auto assigning/deassigning. As I know floating ip implemented like NAT from network nodes.
<div>
<div>
<div>
<div><br><br>
<div class="gmail_quote">2011/4/17 Mark Washenberger <span dir="ltr"><<a href="mailto:mark.washenberger@rackspace.com" target="_blank">mark.washenberger@rackspace.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid #cccccc;padding-left:1ex"><span style="font-family:arial;font-size:10pt">
<p>Eldar,</p>
<div></div>
<p>I'm having some trouble finding the diff for your implementation of approach #1. Any chance you can share it on the list?</p>
<div></div>
<p>Thanks</p>
<div></div>
<div>"Erik Carlin" <<a href="mailto:erik.carlin@rackspace.com" target="_blank">erik.carlin@rackspace.com</a>> said:<br><br>> Cool.  Got it.  Floating IPs or what Amazon calls Elastic IPs.  How are you<br>
 > solving the cross L2 problem?<br>> <br>> Erik<br>> <br>> Sent from my iPhone<br>></div>
> On Apr 15, 2011, at 7:28 PM, "Eldar Nugaev" <<a href="mailto:enugaev@griddynamics.com" target="_blank">enugaev@griddynamics.com</a>>
<div>
<div><br>> wrote:<br>> <br>> > Hi Erik<br>> ><br>> > Thank you for response!<br>> > Yes, you are absolutely right OpenStack API already support shared IP<br>> groups.<br> > > Suppose there are some misunderstanding, because I wrote about floating IPs.<br>
> ><br>> > I want to have API for association IPs from floating IPs pool with<br>> > particular VM.<br>> ><br> > > At this moment we have #1 implementation as a path in our RPM repo<br>> > <a href="http://yum.griddynamics.net/" target="_blank">http://yum.griddynamics.net/</a>. And going to make the merge proposal to<br>
 > > trunk.<br>> ><br>> > Also we going to create blueprint about #3 and attach branch to it.<br>> ><br>> > Eldar<br>> ><br>> > On Sat, Apr 16, 2011 at 2:34 AM, Erik Carlin<br>> <<a href="mailto:erik.carlin@rackspace.com" target="_blank">erik.carlin@rackspace.com</a>> wrote:<br>
 > >> Eldar -<br>> >><br>> >> The OpenStack API already supports sharing IPs between instances<br>> (although<br>> >> this may be an extension?).  What exact behavior are you after?  More<br>
 > >> important than the way in which we expose via the API is how it's<br>> >> implemented.  It's important to note that this is extremely network<br>> >> topology dependent.  Sharing IPs today requires L2 adjacency so other<br>
 > VMs<br>> >> can GARP for the IP.  L2 doesn't work at scale so you need another<br>> >> mechanism.  I'm pretty sure the way AWS does it is to have a separate<br>> pool<br>> >> of IPs and inject /32 routes higher up that route towards the<br>
 > appropriate<br>> >> VM IP.  What are your thoughts around how this would be implemented?<br>> >><br>> >> Multiple people are working towards an independent Network as a Service<br>> >> external to nova so it may make sense to plug this requirement in there.<br>
 > >><br>> >> Erik<br>> >><br>> >> On 4/11/11 8:31 AM, "Eldar Nugaev" <<a href="mailto:enugaev@griddynamics.com" target="_blank">enugaev@griddynamics.com</a>><br>> wrote:<br>
 > >><br>> >>> Hello everyone,<br>> >>><br>> >>> We going to add possibility to assigning floating IP addresses in<br>> >>> OpenStack API.<br>> >>> Our goal reproduce AWS behavior when creating instance automatically<br>
 > >>> assigns any free floating IP or add methods to OpenStack API for<br>> >>> allocation and association API addresses.<br>> >>><br>> >>> At this time we see three way:<br>
 > >>><br>> >>> 1. FLAG --auto_assign_floating_ip (default=False)<br>> >>> 2. Optional parameter "auto_assign_floating_ip" in existing "create"<br>> >>> method<br>
 > >>> 3. OpenStack API add floating_ip - allocate_floating_ip,<br>> >>> associate_floating_ip<br>> >>><br>> >>> What way is more suitable at this time?<br>> >>><br>
 > >>> --<br>> >>> Eldar<br>> >>> Skype: eldar.nugaev<br>> >>><br>> >>> _______________________________________________<br>> >>> Mailing list: <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
 > >>> Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>> >>> Unsubscribe : <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
 > >>> More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>> >><br>> >><br>> >><br>> >> Confidentiality Notice: This e-mail message (including any attached or<br>
 > >> embedded documents) is intended for the exclusive and confidential use of<br>> the<br>> >> individual or entity to which this message is addressed, and unless<br>> otherwise<br>> >> expressly indicated, is confidential and privileged information of<br>
 > Rackspace.<br>> >> Any dissemination, distribution or copying of the enclosed material is<br>> prohibited.<br>> >> If you receive this transmission in error, please notify us immediately<br>> by e-mail<br>
 > >> at <a href="mailto:abuse@rackspace.com" target="_blank">abuse@rackspace.com</a>, and delete the original message.<br>> >> Your cooperation is appreciated.<br>> >><br>> >><br>> ><br>
 > ><br>> ><br>> > --<br>> > Eldar<br>> > Skype: eldar.nugaev<br>> <br>> <br>> Confidentiality Notice: This e-mail message (including any attached or<br>> embedded documents) is intended for the exclusive and confidential use of the<br>
 > individual or entity to which this message is addressed, and unless otherwise<br>> expressly indicated, is confidential and privileged information of Rackspace.<br>> Any dissemination, distribution or copying of the enclosed material is<br>
 > prohibited.<br>> If you receive this transmission in error, please notify us immediately by e-mail<br>> at <a href="mailto:abuse@rackspace.com" target="_blank">abuse@rackspace.com</a>, and delete the original message.<br>
 > Your cooperation is appreciated.<br>> <br>> <br>> _______________________________________________<br>> Mailing list: <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
 > Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>> Unsubscribe : <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
 > More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>></div>
</div>
</span><br>_______________________________________________<br> Mailing list: <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br> Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
 Unsubscribe : <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br> More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
 <br></blockquote>
</div>
</div>
</div>
</div>
</div>
</div>
<br> <br>_______________________________________________<br> Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br> Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
 Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br> More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
 <br></blockquote>
</div>
</div>
</div>
_______________________________________________<br>Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
</blockquote>
</div>
</div>
</div></div></div></font><br>_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
<br></blockquote></div><br></div>