Hi Eugene, Angus,<div><br></div><div>Adding openstack-dev (probably the more appropriate mailing list for discussion a new openstack feature) and some folks from Radware and F5 who had previously also contacted me about Quantum + Load-balancing as a service.  I'm probably leaving out some other people who have contacted me about this as well, but hopefully they are on the ML and can speak up.  <br>

<br><div class="gmail_quote">On Tue, Jul 24, 2012 at 7:51 PM, Angus Salkeld <span dir="ltr"><<a href="mailto:asalkeld@redhat.com" target="_blank">asalkeld@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="HOEnZb"><div class="h5">On 24/07/12 18:33 -0700, Eugene Kirpichov wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello community,<br>
<br>
We at Mirantis have had a number of clients request functionality to<br>
control various load balancer devices (software and hardware) via an<br>
OpenStack API and horizon. So, in collaboration with Cisco OpenStack<br>
team and a number of other community members, we’ve started<br>
socializing the blueprints for an elastic load balancer API service.<br>
At this point we’d like to share where we are and would very much<br>
appreciate anyone participate and provide input.<br></blockquote></div></div></blockquote><div><br></div><div>Yes, I definitely think LB is one of the key items that we'll want to tackle during Grizzly in terms of L4-L7 services.  </div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<br>
The current vision is to allow cloud tenants to request and<br>
provision virtual load balancers on demand and allow cloud<br>
administrators to manage a pool of available LB devices. Access is<br>
provided under a unified interface to different kinds of load<br>
balancers, both software and hardware. It means that API for tenants<br>
is abstracted away from the actual API of underlying hardware or<br>
software load balancers, and LBaaS effectively bridges this gap.<br></blockquote></div></div></blockquote><div><br></div><div>That's the openstack way, no arguments there :) </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="HOEnZb"><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
POC level support for Cisco ACE and HAproxy is currently implemented<br>
in the form of plug-ins to LBaaS called “drivers”. We also started some<br>
work on F5 drivers. Would appreciate hearing input on what other<br>
drivers may be important at this point…nginx?<br></blockquote></div></div></blockquote><div><br></div><div>haproxy is the most common non-vendor solution I hear mentioned.  </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="HOEnZb"><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Another question we have is if this should be a standalone module or a<br>
Quantum plugin… <br></blockquote></div></div></blockquote><div><br></div><div>Based on discussions during the PPB meeting about quantum becoming core, there was a push for having a single network service and API, which would tend to suggest it being a sub-component of Quantum that is independently loadable.  I also tend to think that its likely to be a common set of developers working across all such networking functionality, so it wouldn't seem like keeping different core-dev teams, repos, tarballs, docs, etc. probably doesn't make sense.  I think this is generally inline with the plan of allowing Quantum to load additional portions of the API as needed for additional services like LB, WAN-bridging, but this is probably a call for the PPB in general.  </div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<br>
In order not to reinvent the wheel, we decided to base our API on<br>
Atlas-LB (<a href="http://wiki.openstack.org/Atlas-LB" target="_blank">http://wiki.openstack.org/<u></u>Atlas-LB</a>).<br></blockquote></div></div></blockquote><div><br></div><div>Seems like a good place to start.  </div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<br>
Here are all the pointers:<br>
* Project overview: <a href="http://goo.gl/vZdei" target="_blank">http://goo.gl/vZdei</a> </blockquote></div></div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="HOEnZb"><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
* Screencast: <a href="http://www.youtube.com/watch?v=NgAL-kfdbtE" target="_blank">http://www.youtube.com/watch?<u></u>v=NgAL-kfdbtE</a><br>
* API draft: <a href="http://goo.gl/gFcWT" target="_blank">http://goo.gl/gFcWT</a><br>
* Roadmap: <a href="http://goo.gl/EZAhf" target="_blank">http://goo.gl/EZAhf</a><br>
* Github repo: <a href="https://github.com/Mirantis/openstack-lbaas" target="_blank">https://github.com/Mirantis/<u></u>openstack-lbaas</a></blockquote></div></div></blockquote><div><br></div><div>Will take a look.. I'm getting a permission error on the overview. </div>

<div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
<br>
The code is written in Python and based on the OpenStack service<br>
template. We’ll be happy to give a walkthrough over what we have to<br>
anyone who may be interested in contributing (for example, creating a<br>
driver to support a particular LB device).<br>
</blockquote>
<br></div></div>
I made a really simple loadbancer (using HAproxy) in Heat<br>
(<a href="https://github.com/heat-api/heat/blob/master/heat/engine/loadbalancer.py" target="_blank">https://github.com/heat-api/<u></u>heat/blob/master/heat/engine/<u></u>loadbalancer.py</a>)<br>
to implement the AWS::ElasticLoadBalancing::<u></u>LoadBalancer but<br>
it would be nice to use a more complete loadbancer solution.<br>
When I get a moment I'll see if I can integrate. One issue is<br>
I need latency statistics to trigger autoscaling events.<br>
See the statistics types here:<br>
<a href="http://docs.amazonwebservices.com/ElasticLoadBalancing/latest/DeveloperGuide/US_MonitoringLoadBalancerWithCW.html" target="_blank">http://docs.amazonwebservices.<u></u>com/ElasticLoadBalancing/<u></u>latest/DeveloperGuide/US_<u></u>MonitoringLoadBalancerWithCW.<u></u>html</a><br>


<br>
Anyways, nice project.<br></blockquote><div><br></div><div>Integration with Heat would be great regardless of the above decisions.</div><div><br></div><div>dan</div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<br>
Regards<span class="HOEnZb"><font color="#888888"><br>
Angus Salkeld</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
All of the documents and code are not set in stone and we’re writing<br>
here specifically to ask for feedback and collaboration from the<br>
community.<br>
<br>
We would like to start holding weekly IRC meetings at<br>
#openstack-meeting; we propose 19:00 UTC on Thursdays (this time seems<br>
free according to <a href="http://wiki.openstack.org/Meetings/" target="_blank">http://wiki.openstack.org/<u></u>Meetings/</a> ), starting Aug 2.<br>
<br>
--<br>
Eugene Kirpichov<br>
<a href="http://www.linkedin.com/in/eugenekirpichov" target="_blank">http://www.linkedin.com/in/<u></u>eugenekirpichov</a><br>
<br>
______________________________<u></u>_________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~<u></u>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/~<u></u>openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/<u></u>ListHelp</a><br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~<u></u>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/~<u></u>openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/<u></u>ListHelp</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>Dan Wendlandt <div>Nicira, Inc: <a href="http://www.nicira.com" target="_blank">www.nicira.com</a><br><div>twitter: danwendlandt<br>

~~~~~~~~~~~~~~~~~~~~~~~~~~~<br></div></div><br>
</div>