<div dir="ltr">Thanks for you interest, folks.<div><br></div><div>Salvatore, I think we're mostly model this with load balancing examples because firstly we're working on lbaas and secondly - lbaas already has providers/drivers and knowing limitations of that, we are trying to understand how to do Flavors better.</div>
<div>For sure we plan to make the framework generic.</div><div><br></div><div>Regarding catalog vs scheduler - I think we're planning scheduling rather then catalog.</div><div><span style="font-family:arial,sans-serif;font-size:13px">> In the latter case the selection of a "flavour" will be more like expressing a desired configuration, and this sort of "scheduler" </span></div>
<div><span style="font-family:arial,sans-serif;font-size:13px">> will then pick the driver which offer the closest specification, or reject the request if no driver is available (which might happen if > the driver is there but has no capacity).</span><br>
</div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px">Yes, that is how I see it working.</span></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br>
</span></div><div><span style="font-family:arial,sans-serif;font-size:13px">On some previous Jay's comment:</span></div><div><div class="im" style="font-family:arial,sans-serif;font-size:13px">> > Well, provider becomes read-only attribute and for admin only (jsut to<br>
> > see which driver actually handles the resources), not too much of API<br>> > visibility.<br><br></div><span style="font-family:arial,sans-serif;font-size:13px">> I'd very much prefer to keep the provider/driver name out of the public</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">> API entirely. I don't see how it is needed.</span><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px">Yep, like network segmentation id (which is implementation detail) is not visible to the user, </span></div>
<div><span style="font-family:arial,sans-serif;font-size:13px">provider/driver will only be visible to admin.</span></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><font face="arial, sans-serif">Driver attribute of the resource just represents the binding between resource and the driver that handles REST calls.</font></div>
<div><font face="arial, sans-serif">I think it must be useful for the admin to know that.</font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">Thanks,</font></div><div><font face="arial, sans-serif">Eugene.</font></div>
<div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Mar 4, 2014 at 1:11 PM, Salvatore Orlando <span dir="ltr"><<a href="mailto:sorlando@nicira.com" target="_blank">sorlando@nicira.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>I read this thread and I think this moves us in the right direction of moving away from provider mapping, and, most importantly, abstracting away backend-specific details.</div>
<div><br>
</div><div>I was however wondering if "flavours" (or "service offerings") will act more like a catalog or a scheduler.</div><div>The difference, in mu opinion, is the following:</div><div>In the first case, specifying of an item from the catalog will uniquely identify the backend which will implement the service. For instance if you select "Gold<br>

 or "GoldwithSSL" then your load balancer will be implemented using the backend driver "Iota", whereas if you select "Copper" it will be implemented using driver "Epsilon".</div><div>

In the latter case the selection of a "flavour" will be more like expressing a desired configuration, and this sort of "scheduler" will then pick the driver which offer the closest specification, or reject the request if no driver is available (which might happen if the driver is there but has no capacity).</div>

<div><br></div><div>From my perspective, it would also be important to not focus exclusively on one service (I've read mostly about load balancing here), but provide a solution, and then a PoC implementation, which will apply to Firewall and VPN services as well.</div>
<span class="HOEnZb"><font color="#888888">
<div><br></div><div>Salvatore</div></font></span><div><br></div><div>PS: I'm terrible at names; So far I think we've been using mostly "flavour" and "service offering". Regardless of what makes sense one has to consider also uniformity with similar concepts across openstack projects.</div>

</div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div class="h5">On 4 March 2014 00:33, Samuel Bercovici <span dir="ltr"><<a href="mailto:SamuelB@radware.com" target="_blank">SamuelB@radware.com</a>></span> wrote:<br>

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





<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Hi,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">The discussion about advanced services and scheduling was primarily around choosing backbends based on capabilities.<u></u><u></u></span></p>


<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">AFAIK, the Nova flavor specify capacity.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">So I think that using the term “flavor” might not match what is intended.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">A better word might be “capability” or “group of capabilities”.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Is the following what we want to achieve?<u></u><u></u></span></p>
<p><u></u><span style="font-size:11.0pt;font-family:Symbol;color:#1f497d"><span>·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><u></u><span dir="LTR"></span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">A tenant creates a vip and requires high-available with advanced L7 and SSL capabilities for production.
<u></u><u></u></span></p>
<p><u></u><span style="font-size:11.0pt;font-family:Symbol;color:#1f497d"><span>·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><u></u><span dir="LTR"></span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Another tenant creates a vip that requires advanced L7 and SSL capabilities for development.<u></u><u></u></span></p>


<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">The admin or maybe even the tenant might group such capabilities (ha, L7, SSL) and name them advanced-adc and another group of capabilities (no-ha, L7, SSL)
 and name them adc-for-testing.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">This leads to an abbreviation of:<u></u><u></u></span></p>
<p><u></u><span style="font-size:11.0pt;font-family:Symbol;color:#1f497d"><span>·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><u></u><span dir="LTR"></span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Tenant creates a vip that requires advanced-adc.<u></u><u></u></span></p>


<p><u></u><span style="font-size:11.0pt;font-family:Symbol;color:#1f497d"><span>·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><u></u><span dir="LTR"></span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Tenant creates a vip the requires adc-for-testing.<u></u><u></u></span></p>


<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Regards,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">                -Sam.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Eugene Nikanorov [mailto:<a href="mailto:enikanorov@mirantis.com" target="_blank">enikanorov@mirantis.com</a>]
<br>
<b>Sent:</b> Thursday, February 27, 2014 12:12 AM<br>
<b>To:</b> OpenStack Development Mailing List<br>
<b>Subject:</b> [openstack-dev] [Neutron] Flavor Framework<u></u><u></u></span></p><div><div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Hi neutron folks,<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I know that there are patches on gerrit for VPN, FWaaS and L3 services that are leveraging Provider Framework. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Recently we've been discussing more comprehensive approach that will allow user to choose service capabilities rather than vendor or provider.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I've started creating design draft of Flavor Framework, please take a look: <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><a href="https://wiki.openstack.org/wiki/Neutron/FlavorFramework" target="_blank">https://wiki.openstack.org/wiki/Neutron/FlavorFramework</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">It also now looks clear to me that the code that introduces providers for vpn, fwaas, l3 is really necessary to move forward to Flavors with one exception: providers should not be exposed to public API.<u></u><u></u></p>


</div>
<div>
<p class="MsoNormal">While provider attribute could be visible to administrator (like segmentation_id of network), it can't be specified on creation and it's not available to a regular user.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Looking forward to get your feedback.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Eugene.<u></u><u></u></p>
</div>
</div>
</div></div></div>
</div>

<br></div></div><div class="">_______________________________________________<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></div></blockquote></div><br></div>
<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">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>