超visor 分页¶
https://blueprints.launchpad.net/nova/+spec/pagination-for-hypervisor
本规范旨在支持超visor 的分页功能。
问题描述¶
当有数千个计算节点时,获取整个超visor 列表会很慢,并且在 horizon 中显示数千个条目对用户体验不利。
用例¶
在条目过多时,获取分页的计算节点列表。
提议的变更¶
更改将发生在以下位置
将添加新的 DB api compute_node_get_all_by_filters,该 api 带有参数 filters、limit 和 marker,以便其他过滤方法(compute_node_search_by_hypervisor 等)也可以重构为使用这种新的 db 方法。
将添加新的计算节点对象 get_by_filters 方法,该方法调用新的 db api compute_node_get_all_by_filters。
将重构 Compute api compute_node_get_all。
将为超visor 列表添加 REST API microversion 以接受分页请求。
备选方案¶
无
数据模型影响¶
无
REST API 影响¶
新的超visor 列表 API 以支持分页
请求
GET /v2.1/{tenant_id}/os-hypervisors?marker=2&limit=1响应
{ "hypervisors": [ { "hypervisor_hostname": "fake-mini", "id": 3, "state": "up", "status": "enabled" } ] }
安全影响¶
无。
通知影响¶
无
其他最终用户影响¶
无
性能影响¶
通过 Nova 侧分页检索超visor 来减轻 horizon 的负载。
其他部署者影响¶
无
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
liyingjun
工作项¶
更改 db api 以支持分页参数。
添加计算节点对象方法并重构 compute api。
添加 REST API microversion。
依赖项¶
无
测试¶
这些修改将通过单元测试来验证。
文档影响¶
将添加新的 REST API microversion。
参考资料¶
无