[openstack-dev] [Neutron][ML2] Modular L2 agent architecture

Zang MingJie zealot0630 at gmail.com
Tue Jun 17 11:31:13 UTC 2014


Hi:

Awesome! Currently we are suffering lots of bugs in ovs-agent, also
intent to rebuild a more stable flexible agent.

Taking the experience of ovs-agent bugs, I think the concurrency
problem is also a very important problem, the agent gets lots of event
from different greenlets, the rpc, the ovs monitor or the main loop.
I'd suggest to serialize all event to a queue, then process events in
a dedicated thread. The thread check the events one by one ordered,
and resolve what has been changed, then apply the corresponding
changes. If there is any error occurred in the thread, discard the
current processing event, do a fresh start event, which reset
everything, then apply the correct settings.

The threading model is so important and may prevent tons of bugs in
the future development, we should describe it clearly in the
architecture


On Wed, Jun 11, 2014 at 4:19 AM, Mohammad Banikazemi <mb at us.ibm.com> wrote:
> Following the discussions in the ML2 subgroup weekly meetings, I have added
> more information on the etherpad [1] describing the proposed architecture
> for modular L2 agents. I have also posted some code fragments at [2]
> sketching the implementation of the proposed architecture. Please have a
> look when you get a chance and let us know if you have any comments.
>
> [1] https://etherpad.openstack.org/p/modular-l2-agent-outline
> [2] https://review.openstack.org/#/c/99187/
>
>
> _______________________________________________
> 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