Os api 浮动 IP
OpenStack 浮动 IP API (草案)
- Launchpad 条目: NovaSpec:openstack-api-floating-ips
- 创建:
- 贡献者: Ilya Alekseyev, Eldar Nugaev, Kirill Shileev
总结
我们的目标是在 OpenStack API 中添加对浮动 IP 管理的支持。
发布说明
在 OpenStack API 中支持浮动 IP 管理。
原理
用户故事
Eldar 希望将额外的 IP 与实例关联。他应该能够关联地址,然后希望能够取消关联地址。他也应该有这种可能性。
前提条件
设计
目前我们在 EC2 API 中有浮动 IP 的实现。其中包含以下命令
- allocate_address
- release_address
- associate_address
- disassociate_address
| 动词 | URI | 请求 | 响应 |
| POST | /os-floating-ips | n/a | |
| GET | /os-floating-ips | n/a | |
| GET | /os-floating-ips/id | n/a | |
| DELETE | /os-floating-ips/id | n/a | |
| POST | /os-floating-ips/id/removeFloatingIp | n/a | |
| POST | /os-floating-ips/id/addFloatingIp | 固定 IP |
浮动 IP 列表
响应 XML
<floating_ips>
<floating_ip>
<id>1</id>
<ip>10.0.0.3</ip>
<fixed_ip>11.0.0.1</fixed_ip>
<instance_id>12</instance_id>
</floating_ip>
</floating_ips>
响应 JSON
{
"floating_ips" : [
{
"id" : 1,
"ip" : "10.0.0.3",
"fixed_ip":"11.0.0.1",
"instance_id":12
}
]
}
浮动 IP 详情
响应 XML
<floating_ip>
<id>1</id>
<ip>10.0.0.3</ip>
<fixed_ip>null</fixed_ip>
<instance_id>null</instance_id>
</floating_ip>
响应 JSON
{
"floating_ip" :
{
"id" : 1,
"ip" : "10.0.0.3",
"fixed_ip" : null,
"instance_id" : null
}
}
关联地址
请求 XML
<?xml version="1.0" encoding="UTF-8"?>
<associate_address>
<fixed_ip>10.0.0.3</fixed_ip>
</associate_address>
请求 JSON
{
"associate_address" : {
"fixed_ip":"10.0.0.3"
}
}
实现
将这些方法添加到 OS API。
代码变更
自动关联浮动 IP 的实现已添加到 http://bazaar.launchpad.net/~hudson-openstack/nova/trunk/revision/1025
BoF 议程和讨论
在服务器详情中添加关于浮动 IP 的信息。 http://etherpad.openstack.org/os-floating-ip