跳转到: 导航, 搜索

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