At Wed, 19 Feb 2014 20:23:04 +0400, Eugene Nikanorov wrote: > > Hi Sam, > > My comments inline: > > > On Wed, Feb 19, 2014 at 4:57 PM, Samuel Bercovici <samu...@radware.com>wrote: > > > Hi, > > > > > > > > I think we mix different aspects of operations. And try to solve a non > > "problem". > > > Not really, Advanced features we're trying to introduce are incompatible by > both object model and API.
I agree with Samuel here. I feel the logical model and other issues (implementation etc.) are mixed in the discussion. I'm failing to understand why the current model is unfit for L7 rules. - pools belonging to a L7 group should be created with the same provider/flavor by a user - pool scheduling can be delayed until it is bound to a vip to make sure pools belonging to a L7 group are scheduled to one backend I think proposed changes are introduction of "implementation details" and as a general rule it's better to be hidden from users. > From APIs/Operations we are mixing the following models: > > > > 1. Logical model (which as far as I understand is the topic of this > > discussion) - tenants define what they need logically > > vip$(D+"(Bdefault_pool, > > l7 association, ssl, etc. > > > That's correct. Tenant may or may not care about how it is grouped on the > backend. We need to support both cases. > > > 2. Physical model - operator / vendor install and specify how > > backend gets implemented. > > > > 3. Deploying 1 on 2 - this is currently the driver's > > responsibility. We can consider making it better but this should not impact > > the logical model. > > > I think grouping vips and pools is important part of logical model, even if > some users may not care about it. One possibility is to provide an optional data structure to describe grouping of vips and pools, on top of the existing pool-vip model. > > I think this is not a "problem". > > > > In a logical model a pool which is part of L7 policy is a logical object > > which could be placed at any backend and any existing vip$(D)N+"(Bpool and > > accordingly configure the backend that those vip$(D)N+"(Bpool are > > deployed on. > > > That's not how it currently works - that's why we're trying to address it. > Having pool shareable between backends at least requires to move 'instance' > role from the pool to some other entity, and also that changes a number of > API aspects. > > If the same pool that was part of a l7 association will also be connected > > to a vip as a default pool, than by all means this new vip$(D)N+"(Bpool > > pair can > > be instantiated into some back end. > > > > The proposal to not allow this (ex: only allow pools that are connected to > > the same lb-instance to be used for l7 association), brings the physical > > model into the logical model. > > > So proposal tries to address 2 issues: > 1) in many cases it is desirable to know about grouping of logical objects > on the backend > 2) currently physical model implied when working with pools, because pool > is the root and corresponds to backend with 1:1 mapping > > > > > > I think that the current logical model is fine with the exception that the > > two way reference between vip and pool (vip$(D)N+"(Bpool) should be > > modified > > with only vip pointing to a pool (vip$(D+"(Bpool) which allows reusing > > the pool > > with multiple vips. > > > Reusing pools by vips is not as simple as it seems. > If those vips belong to 1 backend (that by itself requires tenant to know > about that) - that's no problem, but if they don't, then: > 1) what 'status' attribute of the pool would mean? > 2) how health monitors for the pool will be deployed? and what their > statuses would mean? > 3) what pool statistics would mean? > 4) If the same pool is used on > > To be able to preserve existing meaningful healthmonitors, members and > statistics API we will need to create associations for everything, or just > change API in backward incompatible way. > My opinion is that it make sense to limit such ability (reusing pools by > vips deployed on different backends) in favor of simpler code, IMO it's > really a big deal. Pool is lightweight enough to not to share it as an > object. Yes, there's little benefit in sharing pools at cost of the complexity. -- IWAMOTO Toshihiro _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev