Yeah what I meant was the only solution I could come up with so that the driver gets passed every call is to have the every entity have a provider. I do believe this is a bit cumbersome for a user, and extra validation would be needed to verify that two entities linked together cannot have different providers, but that would be pretty easy. In my opinion, it'd be a bit weird to have them all have a provider. However, there are some pros to it such as:
1) Driver always gets the create, update, and delete calls. 2) If drivers support a varying range of values for certain entity attributes, that validation can be caught immediately if thats something people wanted. 3) Will remove the necessity of a DEFERRED status for some drivers (This also brings up a CON, in that some drivers may use DEFERRED and some may not, which leads to an inconsistent UX). 4) Status management in some drivers will become a bit easier. Still I don't think it is something that should be done because having the user give a provider for every entity is a bit cumbersome. Though if enough people want this then a larger discussion about it should probably happen. Thanks, Brandon On Mon, 2014-08-11 at 13:57 +0000, Samuel Bercovici wrote: > Hi, > > > > Validations such as “timeout > delay” should be performed on the API > level before it reaches the driver. > > > > For a configuration tree (lb, listeners, pools, etc.), there should be > one provider. > > Having provider defined in multiple places does not make sense. > > > > > > -San. > > > > > > From: Vijay Venkatachalam [mailto:[email protected]] > Sent: Monday, August 11, 2014 2:43 PM > To: OpenStack Development Mailing List > ([email protected]) > Subject: [openstack-dev] [Neutron][LBaaS] Continuing on "Calling > driver interface on every API request" > > > > > Hi: > > > > Continuing from last week’s LBaaS meeting… > > > > Currently an entity cannot be sent to driver unless it is linked to > loadbalancer because loadbalancer is the root object and driver > information is only available with loadbalancer. > > > > The request to the driver is delayed because of which error > propagation becomes tricky. > > > > Let’s say a monitor was configured with timeout > delay there would be > no error then. > > When a listener is configured there will be a monitor > creation/deployment error like “timeout configured greater than > delay”. > > > > Unless the error is very clearly crafted the user won’t be able to > understand the error. > > > > I am half-heartedly OK with current approach. > > > > But, I would prefer Brandon’s Solution – make provider an attribute in > each of the entities to get rid of this problem. > > > > What do others think? > > > > Thanks, > > Vijay V. > > > _______________________________________________ > OpenStack-dev mailing list > [email protected] > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev _______________________________________________ OpenStack-dev mailing list [email protected] http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
