Merge "Raise Error when pagination support is missing"
This commit is contained in:
commit
3d53c05e3b
@ -28,6 +28,7 @@ import os
|
|||||||
import re
|
import re
|
||||||
import urlparse
|
import urlparse
|
||||||
|
|
||||||
|
from ceilometer.openstack.common.gettextutils import _
|
||||||
from ceilometer.openstack.common import log
|
from ceilometer.openstack.common import log
|
||||||
from ceilometer.openstack.common import timeutils
|
from ceilometer.openstack.common import timeutils
|
||||||
from ceilometer.openstack.common import network_utils
|
from ceilometer.openstack.common import network_utils
|
||||||
@ -282,7 +283,8 @@ class Connection(base.Connection):
|
|||||||
def get_resources(self, user=None, project=None, source=None,
|
def get_resources(self, user=None, project=None, source=None,
|
||||||
start_timestamp=None, start_timestamp_op=None,
|
start_timestamp=None, start_timestamp_op=None,
|
||||||
end_timestamp=None, end_timestamp_op=None,
|
end_timestamp=None, end_timestamp_op=None,
|
||||||
metaquery={}, resource=None):
|
metaquery={}, resource=None, limit=None,
|
||||||
|
marker_pairs=None, sort_key=None, sort_dir=None):
|
||||||
"""Return an iterable of models.Resource instances
|
"""Return an iterable of models.Resource instances
|
||||||
|
|
||||||
:param user: Optional ID for user that owns the resource.
|
:param user: Optional ID for user that owns the resource.
|
||||||
@ -294,8 +296,16 @@ class Connection(base.Connection):
|
|||||||
:param end_timestamp_op: Optional end time operator, like lt, le.
|
:param end_timestamp_op: Optional end time operator, like lt, le.
|
||||||
:param metaquery: Optional dict with metadata to match on.
|
:param metaquery: Optional dict with metadata to match on.
|
||||||
:param resource: Optional resource filter.
|
:param resource: Optional resource filter.
|
||||||
|
:param limit: Number of documents should be returned.
|
||||||
|
:param marker_pairs: Attribute-value pairs to identify the last item of
|
||||||
|
the previous page.
|
||||||
|
:param sort_key: Attribute by which results be sorted.
|
||||||
|
:param sort_dir: Direction with which results be sorted(asc, desc).
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if limit or marker_pairs or sort_key or sort_dir:
|
||||||
|
raise NotImplementedError(_('Pagination not implemented'))
|
||||||
|
|
||||||
def make_resource(data, first_ts, last_ts):
|
def make_resource(data, first_ts, last_ts):
|
||||||
"""Transform HBase fields to Resource model."""
|
"""Transform HBase fields to Resource model."""
|
||||||
# convert HBase metadata e.g. f:r_display_name to display_name
|
# convert HBase metadata e.g. f:r_display_name to display_name
|
||||||
@ -363,7 +373,8 @@ class Connection(base.Connection):
|
|||||||
resources[data['f:resource_id']][1])
|
resources[data['f:resource_id']][1])
|
||||||
|
|
||||||
def get_meters(self, user=None, project=None, resource=None, source=None,
|
def get_meters(self, user=None, project=None, resource=None, source=None,
|
||||||
metaquery={}):
|
metaquery={}, limit=None, marker_pairs=None,
|
||||||
|
sort_key=None, sort_dir=None):
|
||||||
"""Return an iterable of models.Meter instances
|
"""Return an iterable of models.Meter instances
|
||||||
|
|
||||||
:param user: Optional ID for user that owns the resource.
|
:param user: Optional ID for user that owns the resource.
|
||||||
@ -371,8 +382,16 @@ class Connection(base.Connection):
|
|||||||
:param resource: Optional resource filter.
|
:param resource: Optional resource filter.
|
||||||
:param source: Optional source filter.
|
:param source: Optional source filter.
|
||||||
:param metaquery: Optional dict with metadata to match on.
|
:param metaquery: Optional dict with metadata to match on.
|
||||||
|
:param limit: Number of documents should be returned.
|
||||||
|
:param marker_pairs: Attribute-value pairs to identify the last item of
|
||||||
|
the previous page.
|
||||||
|
:param sort_key: Attribute by which results be sorted.
|
||||||
|
:param sort_dir: Direction with which results be sorted(asc, desc).
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if limit or marker_pairs or sort_key or sort_dir:
|
||||||
|
raise NotImplementedError(_('Pagination not implemented'))
|
||||||
|
|
||||||
resource_table = self.conn.table(self.RESOURCE_TABLE)
|
resource_table = self.conn.table(self.RESOURCE_TABLE)
|
||||||
q = make_query(user=user, project=project, resource=resource,
|
q = make_query(user=user, project=project, resource=resource,
|
||||||
source=source, require_meter=False, query_only=True)
|
source=source, require_meter=False, query_only=True)
|
||||||
@ -573,7 +592,8 @@ class Connection(base.Connection):
|
|||||||
return results
|
return results
|
||||||
|
|
||||||
def get_alarms(self, name=None, user=None,
|
def get_alarms(self, name=None, user=None,
|
||||||
project=None, enabled=True, alarm_id=None):
|
project=None, enabled=True, alarm_id=None, limit=None,
|
||||||
|
marker_pairs=None, sort_key=None, sort_dir=None):
|
||||||
"""Yields a lists of alarms that match filters
|
"""Yields a lists of alarms that match filters
|
||||||
raise NotImplementedError('metaquery not implemented')
|
raise NotImplementedError('metaquery not implemented')
|
||||||
"""
|
"""
|
||||||
|
@ -27,6 +27,7 @@ from sqlalchemy import func
|
|||||||
from sqlalchemy import desc
|
from sqlalchemy import desc
|
||||||
from sqlalchemy.orm import aliased
|
from sqlalchemy.orm import aliased
|
||||||
|
|
||||||
|
from ceilometer.openstack.common.gettextutils import _
|
||||||
from ceilometer.openstack.common import log
|
from ceilometer.openstack.common import log
|
||||||
from ceilometer.openstack.common import timeutils
|
from ceilometer.openstack.common import timeutils
|
||||||
import ceilometer.openstack.common.db.sqlalchemy.session as sqlalchemy_session
|
import ceilometer.openstack.common.db.sqlalchemy.session as sqlalchemy_session
|
||||||
@ -273,7 +274,8 @@ class Connection(base.Connection):
|
|||||||
def get_resources(user=None, project=None, source=None,
|
def get_resources(user=None, project=None, source=None,
|
||||||
start_timestamp=None, start_timestamp_op=None,
|
start_timestamp=None, start_timestamp_op=None,
|
||||||
end_timestamp=None, end_timestamp_op=None,
|
end_timestamp=None, end_timestamp_op=None,
|
||||||
metaquery={}, resource=None):
|
metaquery={}, resource=None, limit=None,
|
||||||
|
marker_pairs=None, sort_key=None, sort_dir=None):
|
||||||
"""Return an iterable of api_models.Resource instances
|
"""Return an iterable of api_models.Resource instances
|
||||||
|
|
||||||
:param user: Optional ID for user that owns the resource.
|
:param user: Optional ID for user that owns the resource.
|
||||||
@ -285,7 +287,16 @@ class Connection(base.Connection):
|
|||||||
:param end_timestamp_op: Optional end time operator, like lt, le.
|
:param end_timestamp_op: Optional end time operator, like lt, le.
|
||||||
:param metaquery: Optional dict with metadata to match on.
|
:param metaquery: Optional dict with metadata to match on.
|
||||||
:param resource: Optional resource filter.
|
:param resource: Optional resource filter.
|
||||||
|
:param limit: Number of documents should be returned.
|
||||||
|
:param marker_pairs: Attribute-value pairs to identify the last item of
|
||||||
|
the previous page.
|
||||||
|
:param sort_key: Attribute by which results be sorted.
|
||||||
|
:param sort_dir: Direction with which results be sorted(asc, desc).
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if limit or marker_pairs or sort_key or sort_dir:
|
||||||
|
raise NotImplementedError(_('Pagination not implemented'))
|
||||||
|
|
||||||
session = sqlalchemy_session.get_session()
|
session = sqlalchemy_session.get_session()
|
||||||
query = session.query(
|
query = session.query(
|
||||||
Meter,
|
Meter,
|
||||||
@ -334,7 +345,8 @@ class Connection(base.Connection):
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_meters(user=None, project=None, resource=None, source=None,
|
def get_meters(user=None, project=None, resource=None, source=None,
|
||||||
metaquery={}):
|
metaquery={}, limit=None, marker_pairs=None,
|
||||||
|
sort_key=None, sort_dir=None):
|
||||||
"""Return an iterable of api_models.Meter instances
|
"""Return an iterable of api_models.Meter instances
|
||||||
|
|
||||||
:param user: Optional ID for user that owns the resource.
|
:param user: Optional ID for user that owns the resource.
|
||||||
@ -342,7 +354,16 @@ class Connection(base.Connection):
|
|||||||
:param resource: Optional ID of the resource.
|
:param resource: Optional ID of the resource.
|
||||||
:param source: Optional source filter.
|
:param source: Optional source filter.
|
||||||
:param metaquery: Optional dict with metadata to match on.
|
:param metaquery: Optional dict with metadata to match on.
|
||||||
|
:param limit: Number of documents should be returned.
|
||||||
|
:param marker_pairs: Attribute-value pairs to identify the last item of
|
||||||
|
the previous page.
|
||||||
|
:param sort_key: Attribute by which results be sorted.
|
||||||
|
:param sort_dir: Direction with which results be sorted(asc, desc).
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if limit or marker_pairs or sort_key or sort_dir:
|
||||||
|
raise NotImplementedError(_('Pagination not implemented'))
|
||||||
|
|
||||||
session = sqlalchemy_session.get_session()
|
session = sqlalchemy_session.get_session()
|
||||||
|
|
||||||
# Meter table will store large records and join with resource
|
# Meter table will store large records and join with resource
|
||||||
@ -558,13 +579,26 @@ class Connection(base.Connection):
|
|||||||
return row
|
return row
|
||||||
|
|
||||||
def get_alarms(self, name=None, user=None,
|
def get_alarms(self, name=None, user=None,
|
||||||
project=None, enabled=True, alarm_id=None):
|
project=None, enabled=True, alarm_id=None,
|
||||||
|
limit=None, marker_pairs=None,
|
||||||
|
sort_key=None, sort_dir=None):
|
||||||
"""Yields a lists of alarms that match filters
|
"""Yields a lists of alarms that match filters
|
||||||
:param user: Optional ID for user that owns the resource.
|
:param user: Optional ID for user that owns the resource.
|
||||||
:param project: Optional ID for project that owns the resource.
|
:param project: Optional ID for project that owns the resource.
|
||||||
:param enabled: Optional boolean to list disable alarm.
|
:param enabled: Optional boolean to list disable alarm.
|
||||||
:param alarm_id: Optional alarm_id to return one alarm.
|
:param alarm_id: Optional alarm_id to return one alarm.
|
||||||
|
:param metaquery: Optional dict with metadata to match on.
|
||||||
|
:param resource: Optional resource filter.
|
||||||
|
:param limit: Number of documents should be returned.
|
||||||
|
:param marker_pairs: Attribute-value pairs to identify the last item of
|
||||||
|
the previous page.
|
||||||
|
:param sort_key: Attribute by which results be sorted.
|
||||||
|
:param sort_dir: Direction with which results be sorted(asc, desc).
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if limit or marker_pairs or sort_key or sort_dir:
|
||||||
|
raise NotImplementedError(_('Pagination not implemented'))
|
||||||
|
|
||||||
session = sqlalchemy_session.get_session()
|
session = sqlalchemy_session.get_session()
|
||||||
query = session.query(Alarm)
|
query = session.query(Alarm)
|
||||||
if name is not None:
|
if name is not None:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user