Roman,<div><br></div><div>In the best case we should allow choosing all protocols that are supported by drivers.</div><div>So this field should not be constrained at DB scheme level. </div><div>However I see an issue with that: currently LBaaS plugin is unaware of list of drivers and only operates with logical model. </div>
<div>It's service agent which knows and loads drivers. So in order to validate protocols based on drivers, </div><div>plugin should load driver classes, which implies that drivers are configured not only for service agent, but for plugin as well.</div>
<div>That seems to be not very elegant solution. </div><div><br></div><div>I'd suggest to make plugin poll agent for the list of supported protocols (that may be not only protocols, but some other capabilities as well)</div>
<div>and then create a validation constraints based on that.</div><div>However it is too much to be implemented in grizzly, so i guess we may just leave some reasonable fixed set of protocols.</div><div><br></div><div>Thanks,</div>
<div>Eugene.</div><div><br><div class="gmail_quote">On Wed, Jan 23, 2013 at 6:53 PM, Avishay Balderman <span dir="ltr"><<a href="mailto:AvishayB@radware.com" target="_blank">AvishayB@radware.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I think the protocols should be an open set and each lbass driver will have to declare the members of this set.<br>
However when you create a VIP you do not know yet which driver will be selected by the lbass "engine", so maybe the protocol passed by the client can be used as another hint for driver selection.<br>
<span class="HOEnZb"><font color="#888888">Avishay<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
-----Original Message-----<br>
From: Roman Prykhodchenko [mailto:<a href="mailto:rprikhodchenko@mirantis.com">rprikhodchenko@mirantis.com</a>]<br>
Sent: Wednesday, January 23, 2013 4:31 PM<br>
To: OpenStack Development Mailing List<br>
Subject: [openstack-dev] [Quantum] [LBaaS]Issues with supported protocols for VIPs and Pools<br>
<br>
Hi folks,<br>
<br>
Recently I discovered that it's impossible to specify TCP protocol when creating a VIP. After I started fixing that issue I found out that the problem is a little bit deeper and requires some assistance of the community to solve it.<br>

Currently it's impossible to specify TCP protocol when creating a VIP because only HTTP and HTTPS values are supported. However, you can create a Pool and supply any string value for it's protocol.<br>
<br>
It's not too hard to add some constraints to the DB schema and to the REST API. The problem is that we do not know what protocols will be supported by the drivers and also we cannot predict that. I can see 3 possible solutions:<br>

1. Get rid of validation to allow specifying any value. This is not foolproof at all but provides the biggest flexibility.<br>
2. Modify the schema  and the API to support all basic protocols (HTTP, HTTPS, TCP, UDP, IP). This is foolproof but may cause a problem in the case when someone needs something extraordinary.<br>
3. Poll all configured drivers and add all supported protocols to the API. This will allow to have something extraordinary configured but we can only add constraints to the API but not to the database schema.<br>
<br>
So, what do you think about this issue?<br>
<br>
<br>
- Roman Prykhodchenko<br>
<br>
<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>
_______________________________________________<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>
</div></div></blockquote></div><br></div>