Merge "Payloads for PORT: BEFORE_CREATE and PRECOMMIT_CREATE"
This commit is contained in:
commit
b4c4944373
@ -888,19 +888,16 @@ class SecurityGroupDbMixin(ext_sg.SecurityGroupPluginBase,
|
|||||||
if default_group:
|
if default_group:
|
||||||
return default_group.security_group_id
|
return default_group.security_group_id
|
||||||
|
|
||||||
@registry.receives(resources.PORT, [events.BEFORE_CREATE,
|
@registry.receives(resources.PORT, [events.BEFORE_UPDATE])
|
||||||
events.BEFORE_UPDATE])
|
|
||||||
def _ensure_default_security_group_handler_port(
|
def _ensure_default_security_group_handler_port(
|
||||||
self, resource, event, trigger, context, **kwargs):
|
self, resource, event, trigger, context, **kwargs):
|
||||||
if event == events.BEFORE_UPDATE:
|
project_id = kwargs['original_' + resource]['tenant_id']
|
||||||
tenant_id = kwargs['original_' + resource]['tenant_id']
|
if project_id:
|
||||||
else:
|
self._ensure_default_security_group(context, project_id)
|
||||||
tenant_id = kwargs[resource]['tenant_id']
|
|
||||||
if tenant_id:
|
|
||||||
self._ensure_default_security_group(context, tenant_id)
|
|
||||||
|
|
||||||
|
@registry.receives(resources.PORT, [events.BEFORE_CREATE])
|
||||||
@registry.receives(resources.NETWORK, [events.BEFORE_CREATE])
|
@registry.receives(resources.NETWORK, [events.BEFORE_CREATE])
|
||||||
def _ensure_default_security_group_handler_net(
|
def _ensure_default_security_group_handler_before_create(
|
||||||
self, resource, event, trigger, payload=None):
|
self, resource, event, trigger, payload=None):
|
||||||
|
|
||||||
# TODO(boden): refactor into single callback method
|
# TODO(boden): refactor into single callback method
|
||||||
|
@ -1415,8 +1415,10 @@ class Ml2Plugin(db_base_plugin_v2.NeutronDbPluginV2,
|
|||||||
if not attrs.get('status'):
|
if not attrs.get('status'):
|
||||||
attrs['status'] = const.PORT_STATUS_DOWN
|
attrs['status'] = const.PORT_STATUS_DOWN
|
||||||
|
|
||||||
registry.notify(resources.PORT, events.BEFORE_CREATE, self,
|
registry.publish(resources.PORT, events.BEFORE_CREATE, self,
|
||||||
context=context, port=attrs)
|
payload=events.DBEventPayload(
|
||||||
|
context,
|
||||||
|
states=(attrs,)))
|
||||||
|
|
||||||
def _create_port_db(self, context, port):
|
def _create_port_db(self, context, port):
|
||||||
attrs = port[port_def.RESOURCE_NAME]
|
attrs = port[port_def.RESOURCE_NAME]
|
||||||
@ -1442,9 +1444,11 @@ class Ml2Plugin(db_base_plugin_v2.NeutronDbPluginV2,
|
|||||||
attrs.get(addr_apidef.ADDRESS_PAIRS)))
|
attrs.get(addr_apidef.ADDRESS_PAIRS)))
|
||||||
self._process_port_create_extra_dhcp_opts(context, result,
|
self._process_port_create_extra_dhcp_opts(context, result,
|
||||||
dhcp_opts)
|
dhcp_opts)
|
||||||
kwargs = {'context': context, 'port': result}
|
registry.publish(resources.PORT, events.PRECOMMIT_CREATE, self,
|
||||||
registry.notify(
|
payload=events.DBEventPayload(
|
||||||
resources.PORT, events.PRECOMMIT_CREATE, self, **kwargs)
|
context,
|
||||||
|
resource_id=result['id'],
|
||||||
|
states=(result,)))
|
||||||
self.mechanism_manager.create_port_precommit(mech_context)
|
self.mechanism_manager.create_port_precommit(mech_context)
|
||||||
self._setup_dhcp_agent_provisioning_component(context, result)
|
self._setup_dhcp_agent_provisioning_component(context, result)
|
||||||
|
|
||||||
@ -1613,9 +1617,12 @@ class Ml2Plugin(db_base_plugin_v2.NeutronDbPluginV2,
|
|||||||
self._process_port_create_extra_dhcp_opts(context, port_dict,
|
self._process_port_create_extra_dhcp_opts(context, port_dict,
|
||||||
dhcp_opts)
|
dhcp_opts)
|
||||||
# send PRECOMMIT_CREATE notification
|
# send PRECOMMIT_CREATE notification
|
||||||
kwargs = {'context': context, 'port': db_port_obj}
|
registry.publish(resources.PORT, events.PRECOMMIT_CREATE, self,
|
||||||
registry.notify(
|
payload=events.DBEventPayload(
|
||||||
resources.PORT, events.PRECOMMIT_CREATE, self, **kwargs)
|
context,
|
||||||
|
resource_id=db_port_obj['id'],
|
||||||
|
states=(db_port_obj,)))
|
||||||
|
|
||||||
self.mechanism_manager.create_port_precommit(mech_context)
|
self.mechanism_manager.create_port_precommit(mech_context)
|
||||||
|
|
||||||
# handle DHCP agent provisioning
|
# handle DHCP agent provisioning
|
||||||
|
@ -241,9 +241,9 @@ class QoSPlugin(qos.QoSPluginBase):
|
|||||||
return list(set(ports_with_policy + ports_with_net_policy))
|
return list(set(ports_with_policy + ports_with_net_policy))
|
||||||
|
|
||||||
def _validate_create_port_callback(self, resource, event, trigger,
|
def _validate_create_port_callback(self, resource, event, trigger,
|
||||||
**kwargs):
|
payload=None):
|
||||||
context = kwargs['context']
|
context = payload.context
|
||||||
port_id = kwargs['port']['id']
|
port_id = payload.resource_id
|
||||||
port = ports_object.Port.get_object(context, id=port_id)
|
port = ports_object.Port.get_object(context, id=port_id)
|
||||||
|
|
||||||
policy_id = port.qos_policy_id or port.qos_network_policy_id
|
policy_id = port.qos_policy_id or port.qos_network_policy_id
|
||||||
|
@ -1307,7 +1307,10 @@ class TestQosPluginDB(base.BaseQosTestCase):
|
|||||||
with mock.patch.object(self.qos_plugin, 'validate_policy_for_port') \
|
with mock.patch.object(self.qos_plugin, 'validate_policy_for_port') \
|
||||||
as mock_validate_policy:
|
as mock_validate_policy:
|
||||||
self.qos_plugin._validate_create_port_callback(
|
self.qos_plugin._validate_create_port_callback(
|
||||||
'PORT', 'precommit_create', 'test_plugin', **kwargs)
|
"PORT", "precommit_create", "test_plugin",
|
||||||
|
payload=events.DBEventPayload(
|
||||||
|
self.context,
|
||||||
|
resource_id=kwargs['port']['id'],))
|
||||||
|
|
||||||
qos_policy = None
|
qos_policy = None
|
||||||
if port_qos:
|
if port_qos:
|
||||||
|
Loading…
Reference in New Issue
Block a user