允许指定浮动 IP 地址¶
Launchpad蓝图
https://blueprints.launchpad.net/neutron/+spec/allow-specific-floating-ip-address
问题描述¶
浮动 IP 地址通常从 IP 池中自动分配。
在某些情况下,用户希望指定浮动 IP 地址。
提议的变更¶
将浮动 IP 地址作为创建浮动 IP 的 API 的一个属性添加。属性名称为 floating_ip_address。
API 的属性受 “policy.json” 限制。默认情况下,非管理员用户无法使用 floating_ip_address。管理员可以使用它。(“rule:admin_only”)
备选方案¶
无
数据模型影响¶
无
REST API 影响¶
floating_ip_address 将被允许用于 POST /v2.0/floatingips
它不可更新。即,不能用于 PUT /v2.0/floatingips
属性映射将更改如下。
RESOURCE_ATTRIBUTE_MAP = {
...
'floatingips': {
...
'floating_ip_address': {'allow_post': True, 'allow_put': False,
'validate': {'type:ip_address_or_none': None},
'is_visible': True, 'default': None,
'enforce_policy': True},
...
},
...
}
安全影响¶
OpenStack 的管理员应考虑是否将此功能暴露给租户用户。
如果用户有权使用此功能,用户可以控制公共 IP 地址。
通知影响¶
无
其他最终用户影响¶
无
性能影响¶
无
IPv6 影响¶
无
其他部署者影响¶
无
开发人员影响¶
无
社区影响¶
无
实现¶
负责人¶
- 主要负责人
fujioka-yuuichi-d
工作项¶
向 API 添加属性
在 tempest 中创建测试用例
依赖项¶
无
测试¶
Tempest 测试¶
将添加以下测试。
API 测试
允许的用户可以使用新参数
场景测试
创建的浮动 IP 地址可访问
功能测试¶
将添加以下测试。
允许的用户可以使用新参数
API 测试¶
将添加以下测试。
所有传递/不传递参数的模式。
文档影响¶
用户文档¶
将在 API 文档中添加新的属性。
开发人员文档¶
无