为 ips API 添加 mac 和类型

https://blueprints.launchpad.net/nova/+spec/ips-add-mac-and-type

问题描述

在进行 v2.1 API 启用 [1] 时,为了向后兼容性,nova 使用旧的 viewbuilder 移除了 OS-EXT-IPS-MAC:mac_addr 和 OS-EXT-IPS:type 的输出。

用例

作为用户,我希望知道除了现有的名称和 IP 范围之外的网络信息,我希望知道 mac 地址和类型。

提议的变更

使用 microversion 将这些信息添加到输出中。

备选方案

数据模型影响

REST API 影响

GET /v2.1/{project_id}/servers/{server_id}/ips returns following now

{
  "addresses": {
    "private": [
      {
        "version": 4,
        "addr": "10.0.0.2"
      }
    ]
  }
}

if will be changed to return
{
  "addresses": {
    "private": [
      {
        "version": 4,
        "addr": "10.0.0.2",
        "type": "fixed",
        "mac_addr": "00:00:00:00:00:00"
      }
    ]
  }
}

this is also applied to
/v2.1/{tenant_id}/servers/{server_id}/ips/{network_label}

安全影响

通知影响

其他最终用户影响

python-novaclient 需要更改以显示如果 microversion 高于引入该功能的版本,则显示新的数据。

性能影响

其他部署者影响

开发人员影响

实现

负责人

主要负责人

jichenjc

工作项

一个 microversion 来包含输出

依赖项

测试

单元测试和功能测试。

文档影响

Microversion 文档将被更新以包含此内容。

参考资料

历史

修订版

发布名称

描述

Mitaka

引入