[openstack-dev] [Quantum] [LBaaS]Issues with supported protocols for VIPs and Pools

Youcef Laribi Youcef.Laribi at eu.citrix.com
Wed Jan 23 20:34:40 UTC 2013


For Grizzly, the core LBaaS service should support a well-defined set of protocols. Let's say HTTP, HTTPS and TCP. All drivers are expected to support these three, which I think is a reasonable assumption to make for all open source and vendor LB solutions we are contemplating.

Beyond that (post Grizzly), we should look at a framework for how drivers can extend the core API with extra capabilities, whether it is support for new protocols, new LB algorithms, new types of health monitors, etc. 

Youcef

 

> -----Original Message-----
> From: Roman Prykhodchenko [mailto:rprikhodchenko at mirantis.com]
> Sent: Wednesday, January 23, 2013 7:27 AM
> To: OpenStack Development Mailing List
> Subject: Re: [openstack-dev] [Quantum] [LBaaS]Issues with supported
> protocols for VIPs and Pools
> 
> I agree with Eugene that the reasonable and fixed set of supported protocols
> will do the job for grizzly. The question then is which of the protocols should
> be there? My proposal is to include TCP, UDP, HTTP and HTTPS for now.
> 
> On Wed 23 Jan 2013 05:14:28 PM EET, Eugene Nikanorov wrote:
> > Roman,
> >
> > In the best case we should allow choosing all protocols that are
> > supported by drivers.
> > So this field should not be constrained at DB scheme level.
> > However I see an issue with that: currently LBaaS plugin is unaware of
> > list of drivers and only operates with logical model.
> > It's service agent which knows and loads drivers. So in order to
> > validate protocols based on drivers, plugin should load driver
> > classes, which implies that drivers are configured not only for
> > service agent, but for plugin as well.
> > That seems to be not very elegant solution.
> >
> > 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) and then create a validation constraints based on that.
> > However it is too much to be implemented in grizzly, so i guess we may
> > just leave some reasonable fixed set of protocols.
> >
> > Thanks,
> > Eugene.
> >
> > On Wed, Jan 23, 2013 at 6:53 PM, Avishay Balderman
> > <AvishayB at radware.com <mailto:AvishayB at radware.com>> wrote:
> >
> >     I think the protocols should be an open set and each lbass driver
> >     will have to declare the members of this set.
> >     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.
> >     Avishay
> >
> >     -----Original Message-----
> >     From: Roman Prykhodchenko [mailto:rprikhodchenko at mirantis.com
> >     <mailto:rprikhodchenko at mirantis.com>]
> >     Sent: Wednesday, January 23, 2013 4:31 PM
> >     To: OpenStack Development Mailing List
> >     Subject: [openstack-dev] [Quantum] [LBaaS]Issues with supported
> >     protocols for VIPs and Pools
> >
> >     Hi folks,
> >
> >     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.
> >     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.
> >
> >     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:
> >     1. Get rid of validation to allow specifying any value. This is
> >     not foolproof at all but provides the biggest flexibility.
> >     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.
> >     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.
> >
> >     So, what do you think about this issue?
> >
> >
> >     - Roman Prykhodchenko
> >
> >
> >     _______________________________________________
> >     OpenStack-dev mailing list
> >     OpenStack-dev at lists.openstack.org
> >     <mailto:OpenStack-dev at lists.openstack.org>
> >     http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> >
> >     _______________________________________________
> >     OpenStack-dev mailing list
> >     OpenStack-dev at lists.openstack.org
> >     <mailto:OpenStack-dev at lists.openstack.org>
> >     http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> >
> >
> >
> >
> > _______________________________________________
> > OpenStack-dev mailing list
> > OpenStack-dev at lists.openstack.org
> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> 
> 
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



More information about the OpenStack-dev mailing list