允许非管理员进行 ip6 服务器搜索

https://blueprints.launchpad.net/nova/+spec/allow-ip6-search-for-non-admin

在列出服务器时,将 ip6 添加到允许非管理员使用的选项列表中。

问题描述

目前,仅允许管理员按 IPv6 地址进行过滤,但没有理由将其与 IPv4 的处理方式不同。对于用户来说,发现 nova list --ip6 xxx 会列出所有服务器,这确实令人惊讶。

用例

用户希望能够根据其 IPv6 地址列出服务器,就像他们已经可以根据 IPv4 地址列出服务器一样。

项目优先级

提议的变更

添加一个新的 API 微版本,在该版本中,ip6 选项将不再从非管理员的服务器搜索中被过滤掉。

备选方案

将此错误修复视为一个小的补丁,不需要新的 API 微版本。但是,在关于此修复的讨论中(参见参考文献),似乎达成共识,需要一个微版本,以便客户端能够确定是否可用 IPv6 过滤。

数据模型影响

REST API 影响

新的 API 作为微版本添加。

请求

GET /servers?ip6=<regex>

请求和响应头、主体以及可能的代码与当前行为保持不变。ip6 选项将不再被非管理员静默丢弃。

安全影响

通知影响

其他最终用户影响

python-novaclient 需要更新,以便在使用 --ip6 选项时可以请求新的微版本。

性能影响

其他部署者影响

开发人员影响

实现

负责人

主要负责人

Jens Rosenboom <j.rosenboom@x-ion.de>

工作项

  • 添加一个新的微版本,并修改 nova/api/openstack/compute/plugins/v3/servers.py 以将 ip6 添加到允许的服务器搜索选项列表中。

依赖项

测试

  • 将在 nova 树中添加单元测试和 API 示例功能测试。

文档影响

将更新 nova/api/openstack/rest_api_version_history.rst 文档。

参考资料

[1] 最初报告为错误:https://bugs.launchpad.net/nova/+bug/1450859

[2] 邮件列表讨论是否需要微版本

http://lists.openstack.org/pipermail/openstack-dev/2015-May/065118.html

[3] 概念验证代码更改:https://review.openstack.org/179569