Make event related DB queries project safe

This patch makes event related DB queries project safe by default.
load() method in event module is also changed to add project_safe
input parameter.

TODO:
 - Add test case for event module.

Change-Id: I68cdac1da472665ae53d355734931f4a526d2ced
Implements: blueprint make-db-query-project-safe
This commit is contained in:
yanyanhu
2015-10-19 22:17:37 -04:00
committed by Yanyan Hu
parent 5ec8a6238c
commit 3bdd4863f6
4 changed files with 83 additions and 22 deletions

View File

@@ -97,12 +97,12 @@ class Event(object):
return cls(record.timestamp, record.level, **kwargs)
@classmethod
def load(cls, context, db_event=None, event_id=None):
def load(cls, context, db_event=None, event_id=None, project_safe=True):
'''Retrieve an event record from database.'''
if db_event is not None:
return cls.from_db_record(db_event)
record = db_api.event_get(context, event_id)
record = db_api.event_get(context, event_id, project_safe=project_safe)
if record is None:
raise exception.EventNotFound(event=event_id)