Use registry.receives decorator in driver_controller
Switch to registry.receives decorator in neutron.services.l3_router.service_providers.driver_controller. Change-Id: I96b32365ef15c5e7c1f54cf58f1451e978f6bd91 Partial-Bug: #1668262
This commit is contained in:
parent
792afbfab2
commit
2f4a5f8f37
@ -30,6 +30,7 @@ from neutron.services import service_base
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@registry.has_registry_receivers
|
||||
class DriverController(object):
|
||||
"""Driver controller for the L3 service plugin.
|
||||
|
||||
@ -47,14 +48,6 @@ class DriverController(object):
|
||||
self._stm.add_provider_configuration(
|
||||
lib_const.L3, _LegacyPlusProviderConfiguration())
|
||||
self._load_drivers()
|
||||
registry.subscribe(self._check_router_request,
|
||||
resources.ROUTER, events.BEFORE_CREATE)
|
||||
registry.subscribe(self._set_router_provider,
|
||||
resources.ROUTER, events.PRECOMMIT_CREATE)
|
||||
registry.subscribe(self._update_router_provider,
|
||||
resources.ROUTER, events.PRECOMMIT_UPDATE)
|
||||
registry.subscribe(self._clear_router_provider,
|
||||
resources.ROUTER, events.PRECOMMIT_DELETE)
|
||||
|
||||
def _load_drivers(self):
|
||||
self.drivers, self.default_provider = (
|
||||
@ -69,12 +62,14 @@ class DriverController(object):
|
||||
self._flavor_plugin_ref = directory.get_plugin(constants.FLAVORS)
|
||||
return self._flavor_plugin_ref
|
||||
|
||||
@registry.receives(resources.ROUTER, [events.BEFORE_CREATE])
|
||||
def _check_router_request(self, resource, event, trigger, context,
|
||||
router, **kwargs):
|
||||
"""Validates that API request is sane (flags compat with flavor)."""
|
||||
drv = self._get_provider_for_create(context, router)
|
||||
_ensure_driver_supports_request(drv, router)
|
||||
|
||||
@registry.receives(resources.ROUTER, [events.PRECOMMIT_CREATE])
|
||||
def _set_router_provider(self, resource, event, trigger, context, router,
|
||||
router_db, **kwargs):
|
||||
"""Associates a router with a service provider.
|
||||
@ -89,11 +84,13 @@ class DriverController(object):
|
||||
self._stm.add_resource_association(context, lib_const.L3,
|
||||
drv.name, router['id'])
|
||||
|
||||
@registry.receives(resources.ROUTER, [events.PRECOMMIT_DELETE])
|
||||
def _clear_router_provider(self, resource, event, trigger, context,
|
||||
router_id, **kwargs):
|
||||
"""Remove the association between a router and a service provider."""
|
||||
self._stm.del_resource_associations(context, [router_id])
|
||||
|
||||
@registry.receives(resources.ROUTER, [events.PRECOMMIT_UPDATE])
|
||||
def _update_router_provider(self, resource, event, trigger, context,
|
||||
router_id, router, old_router, router_db,
|
||||
**kwargs):
|
||||
|
Loading…
x
Reference in New Issue
Block a user