<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" id="owaParaStyle"></style><style type="text/css"></style><style type="text/css"></style>
</head>
<body fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;"><font size="2">Hi Salvatore,</font>
<div><font size="2"><br>
</font></div>
<div><font size="2">Thank you very much for your feedback,</font></div>
<div><font size="2">I already knew about the 'maintainer' policy, and I saw in the Neutron wiki that: "<span style="line-height: 20px; background-color: rgb(255, 255, 255);">This may be achieved by having an existing core dev agree to maintain a plugin, or
 by having one of the developers of the plugin become a member of the core developer team</span><span style="line-height: 20px; background-color: rgb(255, 255, 255);">". </span></font><span style="font-size: small; line-height: 20px;">I am aware of the core-developer's
 duties as described in the wiki, and i</span><span style="font-size: 10pt; line-height: 20px;"><font size="2">f the team agrees I will be really glad to be part of it in order to maintain the plugin and contribute to the project even more :)</font></span></div>
<div><br>
</div>
<div>The plugin is not exactly a derivative of OVS's, it's designed to work on top of any L2 plugin, provided that the needed support is implemented.</div>
<div>For now, we are only supporting OVS's plugin, but I plan on extending the number of supported plugins as long as the model is approved (or alternatively switch to an Openstack "standard" model :) ). </div>
<div><br>
</div>
<div>As you suggested, I'll push the plugin code as a draft soon, which will make it easier to discuss this kind of things.</div>
<div><br>
</div>
<div>Thank you,</div>
<div>Ivar.</div>
<div><font color="#333333"><span style="font-size: 14px; line-height: 20px;"><br>
</span></font></div>
<div><font color="#333333"><span style="font-size: 14px; line-height: 20px;"><br>
</span></font>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div id="divRpF309863" style="direction: ltr;"><font face="Tahoma" size="2" color="#000000"><b>From:</b> Salvatore Orlando [sorlando@nicira.com]<br>
<b>Sent:</b> Wednesday, July 10, 2013 11:17 AM<br>
<b>To:</b> OpenStack Development Mailing List<br>
<b>Subject:</b> Re: [openstack-dev] [Neutron] Embrane's Neutron Plugin<br>
</font><br>
</div>
<div></div>
<div>
<div dir="ltr">Hi Ivar,
<div><br>
</div>
<div style="">thanks for your interest in Openstack and Neutron.</div>
<div style="">A few replies inline; I hope you'll find them useful.</div>
<div style=""><br>
</div>
<div style="">Salvatore</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On 10 July 2013 02:40, Ivar Lazzaro <span dir="ltr"><<a href="mailto:ivar@embrane.com" target="_blank">ivar@embrane.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left-width:1px; border-left-color:rgb(204,204,204); border-left-style:solid; padding-left:1ex">
<div>
<div style="direction:ltr; font-size:10pt; font-family:Tahoma">
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US">Hi,<u></u><u></u></span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US">My name is Ivar Lazzaro, I’m an Italian developer currently employed at Embrane.<u></u><u></u></span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US"><br>
</span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US">Embrane provides L3 to L7 network services, (including routing, load balancing, SSL offloads, firewalls and IPsec VPNs), and we have developed a Neutron plugin that we would
 like to share and contribute to Openstack[1].</span></p>
</div>
</div>
</blockquote>
<div><br>
</div>
<div style="">That would be great!</div>
<div style="">the current policy for Neutron plugins is that each plugin should have a member of the core team which will act as a 'maintainer'; this figure is not required to be an 'expert' of the specific plugin technology. His duties are mainly those of
 keeping track of bugs/blueprints, review code, and interact with the developers. </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left-width:1px; border-left-color:rgb(204,204,204); border-left-style:solid; padding-left:1ex">
<div>
<div style="direction:ltr; font-size:10pt; font-family:Tahoma">
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US"><u></u><u></u></span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US"><br>
</span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US">My experience with OpenStack started with the Essex edition, which I deployed and managed as a "user". Embrane leverages any existing form of L2 to offer connectivity at L3
 and above, and therefore our interest in contributing to OpenStack grew as L3 (and above) capabilities started to be added to Neutron, leading to the realization of a Neutron plugin.<u></u><u></u></span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US"><br>
</span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US">I'd like to talk about it with you before "blindly" requesting a review, and get your feedback and advice in order to improve it at the most!</span></p>
</div>
</div>
</blockquote>
<div><br>
</div>
<div style="">Sounds a very sensible approach, since we're already halfway through the release cycle, and finding resources for reviewing code might not be the easiest thing. </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left-width:1px; border-left-color:rgb(204,204,204); border-left-style:solid; padding-left:1ex">
<div>
<div style="direction:ltr; font-size:10pt; font-family:Tahoma">
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US"><u></u><u></u></span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US"><br>
</span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US">The idea is to provide L3 connectivity in Openstack through our software platform, called heleos, obviously using a plugin to follow the Neutron workflow.Since we don't provide
 L2 connectivity (which is part of the core APIs as well) our plugin is going to work together with one of the existing, which will manage L2 connectivity and share all the information needed.<u></u><u></u></span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US"><br>
</span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US">Therefore, whenever a user chooses to use Embrane's Neutron plugin, he specifies one of the supported existing plugins in the configuration file, and L2 connectivity will
 be provided by that specific choice.<u></u><u></u></span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US">At the current state, for instance, our plugin is able to work with the OpenVSwitch's so that:<u></u><u></u></span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US"><br>
</span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US">-create_network() will call OVS plugin;</span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small">-create_port() will call OVS plugin;</p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US">-crate_router() will call Embrane's which will use knowledge from the OVS plugin in order to provide L3 connectivity.<u></u><u></u></span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US"><br>
</span></p>
</div>
</div>
</blockquote>
<div style="">It looks like your plugin is pretty much a derivative of the OVS plugin, which replaces the L3 agent with Embrane's heleos.</div>
<div style="">I think this approach makes some sense, but in the medium/long term you would like to be able to run your plugin on top of any L2 plugin.</div>
<div style=""><br>
</div>
<div style="">There is a Neutron blueprint for that, and that is <a href="https://blueprints.launchpad.net/neutron/+spec/quantum-l3-routing-plugin" target="_blank">https://blueprints.launchpad.net/neutron/+spec/quantum-l3-routing-plugin</a></div>
<div style="">That blueprint is unfortunately a bit stuck at the moment.</div>
<div style="">It would be good for the whole community to understand whether we can actually still merge it during the Havana timeframe.</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left-width:1px; border-left-color:rgb(204,204,204); border-left-style:solid; padding-left:1ex">
<div>
<div style="direction:ltr; font-size:10pt; font-family:Tahoma">
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US"></span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US">and so forth...<u></u><u></u></span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small">The calls can be asynchronous (using Router "status" in a way similar to the LBaaS extension).</p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US"><br>
</span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US">Without going too much into details, that's all about the L3 plugin that we would like to share. We are also interested in sharing a LBaaS service plugin, but I'll do a different
 blueprint for that one.</span></p>
</div>
</div>
</blockquote>
<div><br>
</div>
<div style="">I think it won't harm pushing your code as a draft on gerrit. </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left-width:1px; border-left-color:rgb(204,204,204); border-left-style:solid; padding-left:1ex">
<div>
<div style="direction:ltr; font-size:10pt; font-family:Tahoma">
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US"><u></u><u></u></span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US">All your feedback and comments are welcome :)<u></u><u></u></span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US"><br>
</span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><span lang="EN-US">Thanks,</span></p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small">Ivar.</p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small"><br>
</p>
<p style="color:rgb(34,34,34); font-family:arial; font-size:small">[1] <a href="https://blueprints.launchpad.net/neutron/+spec/embrane-neutron-plugin" style="font-family:Tahoma; font-size:10pt" target="_blank">https://blueprints.launchpad.net/neutron/+spec/embrane-neutron-plugin</a></p>
</div>
</div>
<br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>