neutron-fwaas/neutron_fwaas/tests/unit/services/firewall
Édouard Thuleau 9b353afde4 Implements a plugable backend driver
This patch removes all related DB code from the FWaaS service plugin v2
and creates service driver interfaces that can be used by different
backend drivers.

The default backend driver still based on the Neutron DB model
and agent RPC interface (for l3 and l2 agents) and was moved
to 'service_drivers.agents.agents.FwaasAgentDriver'. It inherits from the
firewall backend driver DB interface
'service_drivers.driver_api.FwaasDriverDB' to maintain the DB. It
is in charge to implement all RPC API and messages.

If we need to implement a backend driver which depends on the Neutron DB
but not on the agent RPC service, we just have to inherit from the DB
interface and if we like to develop a backend driver which not depends
on the Neutron DB model, we can inherit from the base driver interface
'service_driver.driver_api.FwaasDriver'.

That patch only modifies the service plugin 'firewall_v2', it does not
modify the Firewall v1 service plugin.

The backend DB driver provides an interface composed to a pre and post
commit hooks for each FWaaSv2 API actions which permits to the driver to
be warn anytimes. All that commit hooks methods does not do anything by
default and the backend driver needs to overide needed hooks.
The driver does not needs to implements all of them,

Closes-Bug: #1702312
Change-Id: I4ebd24f1b13eb823c4d63452fd37cace5bcf5481
2018-04-26 17:15:46 +02:00
..
service_drivers Implements a plugable backend driver 2018-04-26 17:15:46 +02:00
__init__.py Re-enable UT for neutron-fwaas for services split 2014-12-19 10:19:32 -08:00
test_fwaas_plugin.py Remove firewall (v1) shared attribute from tests 2018-04-18 07:59:32 +03:00
test_fwaas_plugin_v2.py Implements a plugable backend driver 2018-04-26 17:15:46 +02:00