Merge "Use exceptions and resources from neutron-lib"
This commit is contained in:
commit
d43dd4c78f
|
@ -13,14 +13,13 @@
|
||||||
import netaddr
|
import netaddr
|
||||||
from neutron_lib.callbacks import events
|
from neutron_lib.callbacks import events
|
||||||
from neutron_lib.callbacks import registry
|
from neutron_lib.callbacks import registry
|
||||||
|
from neutron_lib.callbacks import resources
|
||||||
from neutron_lib import constants
|
from neutron_lib import constants
|
||||||
from neutron_lib.db import resource_extend
|
from neutron_lib.db import resource_extend
|
||||||
from neutron_lib.db import utils as db_utils
|
from neutron_lib.db import utils as db_utils
|
||||||
from neutron_lib import exceptions
|
|
||||||
from neutron_lib.exceptions import address_group as ag_exc
|
from neutron_lib.exceptions import address_group as ag_exc
|
||||||
from oslo_utils import uuidutils
|
from oslo_utils import uuidutils
|
||||||
|
|
||||||
from neutron._i18n import _
|
|
||||||
from neutron.common import utils as common_utils
|
from neutron.common import utils as common_utils
|
||||||
from neutron.extensions import address_group as ag_ext
|
from neutron.extensions import address_group as ag_ext
|
||||||
from neutron.objects import address_group as ag_obj
|
from neutron.objects import address_group as ag_obj
|
||||||
|
@ -28,19 +27,6 @@ from neutron.objects import base as base_obj
|
||||||
from neutron.objects import securitygroup as sg_obj
|
from neutron.objects import securitygroup as sg_obj
|
||||||
|
|
||||||
|
|
||||||
# TODO(hangyang): Remove this exception once neutron_lib > 2.6.1 is released.
|
|
||||||
class AddressGroupInUse(exceptions.InUse):
|
|
||||||
message = _("Address group %(address_group_id)s is in use on one or more "
|
|
||||||
"security group rules.")
|
|
||||||
|
|
||||||
|
|
||||||
# TODO(mlavalle) Following line should be deleted when
|
|
||||||
# https://review.opendev.org/#/c/756927/ is released. All references in this
|
|
||||||
# module to ADDRESS_GROUP should point to the definition in
|
|
||||||
# neutron_lib/callbacks/resources
|
|
||||||
ADDRESS_GROUP = 'address_group'
|
|
||||||
|
|
||||||
|
|
||||||
@resource_extend.has_resource_extenders
|
@resource_extend.has_resource_extenders
|
||||||
class AddressGroupDbMixin(ag_ext.AddressGroupPluginBase):
|
class AddressGroupDbMixin(ag_ext.AddressGroupPluginBase):
|
||||||
"""Mixin class to add address group to db_base_plugin_v2."""
|
"""Mixin class to add address group to db_base_plugin_v2."""
|
||||||
|
@ -116,7 +102,7 @@ class AddressGroupDbMixin(ag_ext.AddressGroupPluginBase):
|
||||||
# the callback handler handle_event, class _ObjectChangeHandler in
|
# the callback handler handle_event, class _ObjectChangeHandler in
|
||||||
# neutron.plugins.ml2.ovo_rpc is updated to receive notifications with
|
# neutron.plugins.ml2.ovo_rpc is updated to receive notifications with
|
||||||
# new style payload objects as argument.
|
# new style payload objects as argument.
|
||||||
registry.notify(ADDRESS_GROUP, events.AFTER_UPDATE, self,
|
registry.notify(resources.ADDRESS_GROUP, events.AFTER_UPDATE, self,
|
||||||
context=context, **kwargs)
|
context=context, **kwargs)
|
||||||
return ag_dict
|
return ag_dict
|
||||||
|
|
||||||
|
@ -138,7 +124,7 @@ class AddressGroupDbMixin(ag_ext.AddressGroupPluginBase):
|
||||||
# the callback handler handle_event, class _ObjectChangeHandler in
|
# the callback handler handle_event, class _ObjectChangeHandler in
|
||||||
# neutron.plugins.ml2.ovo_rpc is updated to receive notifications with
|
# neutron.plugins.ml2.ovo_rpc is updated to receive notifications with
|
||||||
# new style payload objects as argument.
|
# new style payload objects as argument.
|
||||||
registry.notify(ADDRESS_GROUP, events.AFTER_UPDATE, self,
|
registry.notify(resources.ADDRESS_GROUP, events.AFTER_UPDATE, self,
|
||||||
context=context, **kwargs)
|
context=context, **kwargs)
|
||||||
return ag_dict
|
return ag_dict
|
||||||
|
|
||||||
|
@ -156,7 +142,7 @@ class AddressGroupDbMixin(ag_ext.AddressGroupPluginBase):
|
||||||
# the callback handler handle_event, class _ObjectChangeHandler in
|
# the callback handler handle_event, class _ObjectChangeHandler in
|
||||||
# neutron.plugins.ml2.ovo_rpc is updated to receive notifications with
|
# neutron.plugins.ml2.ovo_rpc is updated to receive notifications with
|
||||||
# new style payload objects as argument.
|
# new style payload objects as argument.
|
||||||
registry.notify(ADDRESS_GROUP, events.AFTER_CREATE, self,
|
registry.notify(resources.ADDRESS_GROUP, events.AFTER_CREATE, self,
|
||||||
context=context, **kwargs)
|
context=context, **kwargs)
|
||||||
# NOTE(hangyang): after sent the create notification we then handle
|
# NOTE(hangyang): after sent the create notification we then handle
|
||||||
# adding addresses which will send another update notification
|
# adding addresses which will send another update notification
|
||||||
|
@ -177,7 +163,7 @@ class AddressGroupDbMixin(ag_ext.AddressGroupPluginBase):
|
||||||
# the callback handler handle_event, class _ObjectChangeHandler in
|
# the callback handler handle_event, class _ObjectChangeHandler in
|
||||||
# neutron.plugins.ml2.ovo_rpc is updated to receive notifications with
|
# neutron.plugins.ml2.ovo_rpc is updated to receive notifications with
|
||||||
# new style payload objects as argument.
|
# new style payload objects as argument.
|
||||||
registry.notify(ADDRESS_GROUP, events.AFTER_UPDATE, self,
|
registry.notify(resources.ADDRESS_GROUP, events.AFTER_UPDATE, self,
|
||||||
context=context, **kwargs)
|
context=context, **kwargs)
|
||||||
return ag_dict
|
return ag_dict
|
||||||
|
|
||||||
|
@ -200,8 +186,7 @@ class AddressGroupDbMixin(ag_ext.AddressGroupPluginBase):
|
||||||
if sg_obj.SecurityGroupRule.get_objects(
|
if sg_obj.SecurityGroupRule.get_objects(
|
||||||
common_utils.get_elevated_context(context),
|
common_utils.get_elevated_context(context),
|
||||||
remote_address_group_id=id):
|
remote_address_group_id=id):
|
||||||
# TODO(hangyang): use exception from neutron_lib
|
raise ag_exc.AddressGroupInUse(address_group_id=id)
|
||||||
raise AddressGroupInUse(address_group_id=id)
|
|
||||||
ag = self._get_address_group(context, id)
|
ag = self._get_address_group(context, id)
|
||||||
ag.delete()
|
ag.delete()
|
||||||
kwargs = {'address_group_id': id, 'name': ag['name'],
|
kwargs = {'address_group_id': id, 'name': ag['name'],
|
||||||
|
@ -210,5 +195,5 @@ class AddressGroupDbMixin(ag_ext.AddressGroupPluginBase):
|
||||||
# the callback handler handle_event, class _ObjectChangeHandler in
|
# the callback handler handle_event, class _ObjectChangeHandler in
|
||||||
# neutron.plugins.ml2.ovo_rpc is updated to receive notifications with
|
# neutron.plugins.ml2.ovo_rpc is updated to receive notifications with
|
||||||
# new style payload objects as argument.
|
# new style payload objects as argument.
|
||||||
registry.notify(ADDRESS_GROUP, events.AFTER_DELETE, self,
|
registry.notify(resources.ADDRESS_GROUP, events.AFTER_DELETE, self,
|
||||||
context=context, **kwargs)
|
context=context, **kwargs)
|
||||||
|
|
|
@ -148,10 +148,7 @@ class OVOServerRpcInterface(object):
|
||||||
resources.NETWORK: network.Network,
|
resources.NETWORK: network.Network,
|
||||||
resources.SECURITY_GROUP: securitygroup.SecurityGroup,
|
resources.SECURITY_GROUP: securitygroup.SecurityGroup,
|
||||||
resources.SECURITY_GROUP_RULE: securitygroup.SecurityGroupRule,
|
resources.SECURITY_GROUP_RULE: securitygroup.SecurityGroupRule,
|
||||||
# TODO(mlavalle) Following line should be replaced by:
|
resources.ADDRESS_GROUP: address_group.AddressGroup,
|
||||||
# resources.ADDRESS_GROUP: address_group.AddressGroup,
|
|
||||||
# when https://review.opendev.org/#/c/756927/ is released
|
|
||||||
'address_group': address_group.AddressGroup,
|
|
||||||
}
|
}
|
||||||
self._resource_handlers = {
|
self._resource_handlers = {
|
||||||
res: _ObjectChangeHandler(res, obj_class, self._rpc_pusher)
|
res: _ObjectChangeHandler(res, obj_class, self._rpc_pusher)
|
||||||
|
|
Loading…
Reference in New Issue