Set default event status to completed

Change I9a22e53ca872235e723798d8ce3cb146d88568ab altered the
processing order of the events which broke logic to populate
the event status as 'completed' by default. This broke the
network changed events from Neutron.

This change modifies the logic to preserve the default 'completed'
behavior and adjusts a unit tests to prevent a regression.

Closes-Bug: #1462851
Change-Id: I3f4d10740138f65d704d6f8fa4db06d3d0ed64cf
This commit is contained in:
Kevin Benton 2015-06-07 20:21:15 -07:00 committed by Kevin Benton
parent 5a1a1b7b71
commit d22e8747e8
2 changed files with 3 additions and 3 deletions

View File

@ -55,7 +55,7 @@ class ServerExternalEventsController(wsgi.Controller):
client_event = dict(_event)
event = objects.InstanceExternalEvent(context)
status = client_event.get('status')
status = client_event.get('status', 'completed')
if status not in external_event_obj.EVENT_STATUSES:
raise webob.exc.HTTPBadRequest(
_('Invalid event status `%s\'') % status)

View File

@ -60,13 +60,13 @@ class ServerExternalEventsTestV21(test.NoDBTestCase):
'server_uuid': fake_instance_uuids[0],
'status': 'completed'}
self.event_2 = {'name': 'network-changed',
'server_uuid': fake_instance_uuids[1],
'status': 'completed'}
'server_uuid': fake_instance_uuids[1]}
self.default_body = {'events': [self.event_1, self.event_2]}
self.resp_event_1 = dict(self.event_1)
self.resp_event_1['code'] = 200
self.resp_event_2 = dict(self.event_2)
self.resp_event_2['code'] = 200
self.resp_event_2['status'] = 'completed'
self.default_resp_body = {'events': [self.resp_event_1,
self.resp_event_2]}
self.req = fakes.HTTPRequest.blank('', use_admin_context=True)