Hi all, Modular agent seems to have to choose between two type of architecture [1].
As I understood during the last ML2 meeting [2], Extension driver seems to be the most reasonnable choice. But I think that those two approaches are complementory : Extension drivers will deal with RPC callbacks form the plugin, wheras Agent drivers will deal with controlling the underlying technology to interpret those callbacks. It looks like a controlPlane/Dataplane architecture. Could we have a control plane manager on which each Extension driver should register (and register callbacks it is listening at), and a data plane manager, on which each dataplane controller will register (ofagent, ovs, LB..), and which implement a common abastract class. A port will be managed by only one dataplane controller, and when a control plane driver wants to apply a modification on a port, it will retrieve the correct dataplane controller for this port in order to call one of the abstracted method to modify the dataplane. [1]https://wiki.openstack.org/wiki/Neutron/ModularL2Agent#Possible_Directions [2]http://eavesdrop.openstack.org/meetings/networking_ml2/2014/networking_ml2.2014-05-28-16.02.log.html _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev