]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commit
Add callbacks-based system to Neutron
authorarmando-migliaccio <armamig@gmail.com>
Tue, 3 Feb 2015 09:23:26 +0000 (01:23 -0800)
committerarmando-migliaccio <armamig@gmail.com>
Wed, 25 Feb 2015 14:11:59 +0000 (06:11 -0800)
commitad6a3ef5f6eb783fe9a8a2d907908ec3a8cece97
treee8243280ee4da5d246b6170f8a29d8ed04941246
parent55c6bf9cc5962e93b71908c79d5fd15be2aff540
Add callbacks-based system to Neutron

This system helps Neutron entities to cooperate in a loose manner.

This is especially important in face of the advanced service split, where each
service gets to live independently from the core. This is also useful to clean
up some of the tight coupling between ML2 and L3, or L3 and VPN/FW.

This work was touted to be part of the effort on the v3 plugin API design.
(aka perestroika), however that is not going to bear the expected fruits
in time for the Kilo release. This framework is instead pretty crucial to
cleaning up the split between the various Neutron components and some of
the coupling between ML2 and DVR.

Subsequent patches will show how this framework is put into practice in relation
to cleaning up/decoupling the various Neutron components, however, a devref
how-to is added in the context of this patch to further clarify how the proposed
mechanism works and can be used.

Related-blueprint: services-split
Related-blueprint: plugin-interface-perestroika

Change-Id: I498aeb0773822707e82763f1f0022c580308bde0
doc/source/devref/callbacks.rst [new file with mode: 0644]
doc/source/devref/index.rst
neutron/callbacks/__init__.py [new file with mode: 0644]
neutron/callbacks/events.py [new file with mode: 0644]
neutron/callbacks/exceptions.py [new file with mode: 0644]
neutron/callbacks/manager.py [new file with mode: 0644]
neutron/callbacks/registry.py [new file with mode: 0644]
neutron/callbacks/resources.py [new file with mode: 0644]
neutron/tests/unit/callbacks/__init__.py [new file with mode: 0644]
neutron/tests/unit/callbacks/test_manager.py [new file with mode: 0644]