From 06f9bc8b740011ff22f1ead4816e1c074e449449 Mon Sep 17 00:00:00 2001 From: Doug Hellmann Date: Tue, 7 Aug 2012 12:21:05 -0400 Subject: [PATCH] Do not require user or project argument for event query When we query for events by resource we do not need to provide a user or project because the resource is only owned by one entity. Change-Id: I32b3d8a6ed9f1d9de58565b13c9de12f3658326d Signed-off-by: Doug Hellmann --- ceilometer/storage/__init__.py | 2 -- ceilometer/storage/impl_mongodb.py | 5 ----- tests/storage/test_impl_mongodb.py | 10 ---------- 3 files changed, 17 deletions(-) diff --git a/ceilometer/storage/__init__.py b/ceilometer/storage/__init__.py index 5f8d215ed..a40c57f82 100644 --- a/ceilometer/storage/__init__.py +++ b/ceilometer/storage/__init__.py @@ -96,5 +96,3 @@ class EventFilter(object): self.resource = resource self.meter = meter self.source = source - if not (self.user or self.project): - raise RuntimeError('Must provide one of "user" or "project".') diff --git a/ceilometer/storage/impl_mongodb.py b/ceilometer/storage/impl_mongodb.py index 488cf6bbc..d061ff757 100644 --- a/ceilometer/storage/impl_mongodb.py +++ b/ceilometer/storage/impl_mongodb.py @@ -96,11 +96,6 @@ def make_query_from_filter(event_filter, require_meter=True): q['user_id'] = event_filter.user elif event_filter.project: q['project_id'] = event_filter.project - else: - # NOTE(dhellmann): The EventFilter class should have detected - # this case already, but just in case someone passes something - # that isn't actually an EventFilter instance... - raise RuntimeError('One of "user" or "project" is required') if event_filter.meter: q['counter_name'] = event_filter.meter diff --git a/tests/storage/test_impl_mongodb.py b/tests/storage/test_impl_mongodb.py index ae80130b5..bfeebb41f 100644 --- a/tests/storage/test_impl_mongodb.py +++ b/tests/storage/test_impl_mongodb.py @@ -391,13 +391,3 @@ class SumTest(MongoDBEngineTestBase): for r in results) assert counts['resource-id'] == 1 assert set(counts.keys()) == set(['resource-id']) - - -def test_make_query_without_user_or_project(): - f = storage.EventFilter(user='set') - f.user = None # to bypass the check in the filter class - try: - impl_mongodb.make_query_from_filter(f) - except RuntimeError as err: - assert '"user"' in str(err) - assert '"project"' in str(err)