Add network.update.end event

Adds a notification handler for network.update.end events to update
network information.

Change-Id: I62f198510b7014196b661af96b7786ac870af3f6
Closes-Bug: #1560074
This commit is contained in:
Steve McLellan 2016-03-21 10:08:15 -05:00
parent 378e49d483
commit 8adf00a64b
3 changed files with 58 additions and 5 deletions

View File

@ -33,8 +33,8 @@ class NetworkHandler(base.NotificationBase):
def get_event_handlers(self):
return {
# TODO(sjmc7): update? it seems only to support QoS updating
'network.create.end': self.create_or_update,
'network.update.end': self.create_or_update,
'network.delete.end': self.delete
}

View File

@ -113,10 +113,57 @@
"message_id": "1a316fdc-b4a3-4673-8afd-a2180bb03126"
}
},
"network.update.end": {
"event_type": "network.update.end",
"payload": {
"network": {
"status": "ACTIVE",
"subnets": [],
"name": "test-renamed-net",
"provider:physical_network": null,
"admin_state_up": true,
"tenant_id": "8eaac046b2c44ab99246cb0850c7f06d",
"mtu": 0,
"router:external": false,
"port_security_enabled": true,
"shared": false,
"provider:network_type": "vxlan",
"id": "813dd936-663e-4e5b-877c-986021b73e2c",
"provider:segmentation_id": 1084
}
},
"publisher_id": "network.devstack",
"ctxt": {
"read_only": false,
"domain": null,
"project_name": "admin",
"user_id": "8c0e8ada54be4c2e911be779806d6bc9",
"show_deleted": false,
"roles": ["admin"],
"user_identity": "8c0e8ada54be4c2e911be779806d6bc9 8eaac046b2c44ab99246cb0850c7f06d - - -",
"project_domain": null,
"tenant_name": "admin",
"auth_token": "de38ce2044ec4c92a9c1bd26f4d25fea",
"resource_uuid": null,
"project_id": "8eaac046b2c44ab99246cb0850c7f06d",
"tenant_id": "8eaac046b2c44ab99246cb0850c7f06d",
"is_admin": true,
"user": "8c0e8ada54be4c2e911be779806d6bc9",
"request_id": "req-83b77e92-de2a-4a67-8c3e-aaf61421edad",
"user_domain": null,
"timestamp": "2016-01-13 17:40:34.406418",
"tenant": "8eaac046b2c44ab99246cb0850c7f06d",
"user_name": "admin"
},
"metadata": {
"timestamp": "2016-01-13 17:40:34.461311",
"message_id": "419576c7-1f52-4384-ad37-455303897345"
}
},
"network.delete.end": {
"event_type": "network.delete.end",
"payload": {
"network_id": "52a3818f-015c-4b3b-a061-d686a0aec3de"
"network_id": "813dd936-663e-4e5b-877c-986021b73e2c"
},
"publisher_id": "network.devstack",
"ctxt": {

View File

@ -111,19 +111,25 @@ class TestNeutronListener(test_listener.TestSearchListenerBase):
self.index_name = self.networks_plugin.alias_name_listener
def test_network_create_event(self):
def test_network_create_update_delete(self):
'''Send network.create.end notification event to listener'''
create_event = self.network_events['network.create.end']
self._send_event_to_listener(create_event, self.index_name)
result = self._verify_event_processing(create_event, owner=TENANT1)
verification_keys = ['id', 'status', 'port_security_enabled']
verification_keys = ['id', 'status', 'port_security_enabled', 'name']
self._verify_result(create_event, verification_keys, result,
inner_key='network')
hit = result['hits']['hits'][0]['_source']
self.assertEqual('2016-01-13T17:39:04Z', hit['updated_at'])
def test_network_delete_event(self):
update_event = self.network_events['network.update.end']
self._send_event_to_listener(update_event, self.index_name)
result = self._verify_event_processing(update_event, owner=TENANT1)
verification_keys = ['id', 'status', 'port_security_enabled', 'name']
self._verify_result(update_event, verification_keys, result,
inner_key='network')
delete_event = self.network_events['network.delete.end']
self._send_event_to_listener(delete_event, self.index_name)
self._verify_event_processing(delete_event, count=0,