diff --git a/ceilometer/api/controllers/v2.py b/ceilometer/api/controllers/v2.py index 2a2fdd9694..740788a5df 100644 --- a/ceilometer/api/controllers/v2.py +++ b/ceilometer/api/controllers/v2.py @@ -564,9 +564,10 @@ def _validate_groupby_fields(groupby_fields): If all fields are valid, returns fields with duplicates removed. """ - # NOTE(terriyu): Currently, metadata fields are not supported in our - # group by statistics implementation - valid_fields = set(['user_id', 'resource_id', 'project_id', 'source']) + # NOTE(terriyu): Currently, metadata fields are supported in our + # group by statistics implementation only for mongodb + valid_fields = set(['user_id', 'resource_id', 'project_id', 'source', + 'resource_metadata.instance_type']) invalid_fields = set(groupby_fields) - valid_fields if invalid_fields: diff --git a/ceilometer/storage/impl_mongodb.py b/ceilometer/storage/impl_mongodb.py index 278e52e8ec..06930ce83f 100644 --- a/ceilometer/storage/impl_mongodb.py +++ b/ceilometer/storage/impl_mongodb.py @@ -241,10 +241,17 @@ class Connection(pymongo_base.Connection): var groupby_fields = %(groupby_fields)s; var groupby = {}; var groupby_key = {}; - for ( var i=0; i