In my experience doing any kind of http request inside a of a db transaction kills performance vastly (and can lead to situations where deadlock often occurs due to eventlet+sqlalchemly). This topic also was recently discussed here: http://lists.openstack.org/pipermail/openstack-dev/2013-November/019624.html
Best, Aaron On Wed, Dec 4, 2013 at 9:15 AM, Mohammad Banikazemi <[email protected]> wrote: > Have a question regarding calling an external SDN controller in a plugin. > The ML2 model brings up the fact that it is preferred not to call an > external controller within a database session by splitting up each call > into two calls: *_precommit and *_postcommit. Makes sense. > > Looking at the existing monolithic plugins, I see some plugins that do not > follow this approach and have the call to the controller from within a > session. The obvious benefit of this approach would be a simpler cleanup > code segment for cases where the call to controller fails. So my question > is whether it is still OK to use this simpler approach in monolithic > plugins. As we move to the ML2 model, we will be using the ML2 approach but > in the meantime, we leave the option of calling the controller within a > session as an OK option. Would that be reasonable? > > -Mohammad > > > > _______________________________________________ > 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
