cinder-specs/specs/mitaka/add_pagination_to_other_resources.rst
Allison Randal 91392d5432 Minor format fixes for Cinder Mitaka specs
Several small RST format fixes, which cause parsing warnings and
errors, and render oddly on specs.openstack.org. Discovered while
working on a spec parsing tool to replace the retired releasestatus
tool.

Change-Id: Ice06999e51f1dd997d370273aae750b3c5ad2ee2
2016-03-15 13:39:15 -04:00

2.8 KiB

Add Pagination To Other Resources

https://blueprints.launchpad.net/cinder/+spec/add-pagination-to-other-resource

This spec aims to continue the work that we did in Liberty, adding pagination support to other cinder resources.

Problem description

In Liberty release, we have added pagination to backups and snapshots according bp[1]. There are still some work that hasn't been done yet. In Mitaka, we intend to add pagination support to CG, Volume Type and Qos specs.

Use Cases

In large scale cloud systems, end users and manage system that's on top of Cinder could make quick querying by using pagination, filter and sort functions to improve performance of querying.

Proposed change

  • Consistency Group: Refactor current implementation, using DB pagination querying, and add support to filter and sort in querying request.
  • Volume Type: Add pagination and sort support in querying request.
  • Qos Specs: Add pagination, filter and sort in querying request.
  • Add sql pagination querying support as we did in backup and snapshot.

Alternatives

None

Data model impact

None

REST API impact

According the API-wg guideline about pagination, filter and sort[2]:

GET /v2/{project_id}/{resource}?limit=xxx&marker=xxx&sort=xxx&{filter}=xxx
RESP BODY: {"resource_links": [{xxx}],
            "resource": [{xxx}, {xxx}, ..., {xxx}]
           }

Security impact

None

Notifications impact

None

Other end user impact

None

Performance Impact

None

Other deployer impact

None

Developer impact

None

Implementation

Assignee(s)

Primary assignee:

wanghao<wanghao749@huawei.com>

Other contributors:

None

Work Items

  • Add pagination support to three resources.
    • Implement code in db pagination query.
    • Implement code in list querying api.
    • Test code.
  • Update cinderclient to support this functionality for those resources.
  • Add change to API doc.

Dependencies

None

Testing

Both unit and Tempest tests are needed to be created to cover the code change.

Documentation Impact

The cinder API documention will need to be updated to reflect the REST API changes.

References

[1]https://blueprints.launchpad.net/cinder/+spec/extend-limit-implementations [2]https://github.com/openstack/api-wg/blob/master/guidelines/pagination_filter_sort.rst