Nova API 新增了 microversion 属性,每增加或改动一个API时都需要增加API microversion 版本, 并在 REST API 消息的头中增加 X-OpenStack-Nova-API-Version 字段指定API microversion 版本:
API microversion 的变更记录均在 nova/api/openstack/rest_api_version_history.rst 中记录, 细节可查看附带的spec连接:
2.1
---
2.1 版本是初始版本,当前默认使用2.1版本
2.2
---
版本2.2:
为Keypair增加了Type属性.
用户可以在创建keypair的"os-keypair" request中指定keypaird的type,目前支持的有 ssh 和 x509;
如果没有提供该参数,则默认使用 ssh 类型。
这个版本的 API 还将 HTTP 响应的返回值做出了调整,将创建的返回值从200变为201,删除的返回值从202变为204.
SPEC: https://review.openstack.org/#/c/166663/1/specs/kilo/implemented/keypair-x509-certificates.rst
2.3 (Maximum in Kilo)
---------------------
版本2.3:(此版本为Kilo版发布前合入的最后一个版本)
通过"os-extended-server-attributes"接口对外暴露虚拟机的扩展属性,包括"reservation_id","launch_index","ramdisk_id", "kernel_id", "hostname","root_device_name"以及"user_data".
对外暴露"os-extended-volumes"中"volumes_attached"的"delete_on_termination"属性。
此版本针对于 EC2 API
SPEC: https://review.openstack.org/#/c/166663/1/specs/kilo/implemented/ec2-api-required-additions.rst
2.4
---
版本2.4:
对外暴露FixedIP的预定状态(reserved).
"os-fixed-ips" API 对 "FixedIP" 对象提供了 "reserve/unreserve" 的操作,"FixedIP" 对象拥有
"reserved" 属性,用于表示这个FixedIP是否被预定。
SPEC: https://review.openstack.org/#/c/220338/2/specs/liberty/implemented/show-reserved-status-in-os-fixed-ips-api.rst
2.5
---
版本2.5:
2.5之前对于"nova list --ip6 xxx" 命令并不支持(会显示所有虚拟机),2.5版本使得ipv6的过滤条件生效。
SPEC: https://review.openstack.org/#/c/220338/2/specs/liberty/implemented/allow-ip6-search-for-non-admin.rst
2.6
---
版本2.6:
删除旧的获取remote console 的 API, 包括:
'os-getVNCConsole', 'os-getSPICEConsole', 'os-getSerialConsole'
and 'os-getRDPConsole' are removed.
新增一个获取remote console的API: remote-consoles:
POST /servers/<uuid>/remote-consoles
{
"remote_console": {
"protocol": ["vnc"|"rdp"|"serial"|"spice"],
"type": ["novnc"|"xpvnc"|"rdp-html5"|"spice-html5"|"serial"]
}
}
Example response::
{
"remote_console": {
"protocol": "vnc",
"type": "novnc",
"url": "http://example.com:6080/vnc_auto.html?token=XYZ"
}
}
SPEC: https://review.openstack.org/#/c/220338/2/specs/liberty/implemented/consolidate-console-api.rst
2.8
---
版本2.8:
在为某个project(tenant)添加某个flavor的访问权限前,先检查flavor的 "is_public" 属性;
使用 HTTPConfilct error来表示拒绝访问。
SPEC: https://review.openstack.org/#/c/220338/2/specs/liberty/implemented/check-flavor-type-before-add-tenant.rst
为remote console 中提供了两种新的协议支持:
mks、webmks
SPEC: https://review.openstack.org/#/c/220338/2/specs/liberty/implemented/vmware-webmks-console.rst
2.9
---
版本2.9:
在虚拟机进行detailed view时,增加 "locked" 属性,如果虚拟机被锁则显示为true,否则为false.
SPEC: https://review.openstack.org/#/c/220338/2/specs/liberty/implemented/add-locking-information-in-server-get-response.rst
2.10
----
版本2.10:
为 "os-keypair" 增加新的属性 "user_id", 管理员可以获取这些keypair的详细消息,为用户创建新的keypair等操作。
SPEC: https://review.openstack.org/#/c/220338/2/specs/liberty/implemented/admin-query-any-keypair.rst
2.11
----
版本2.11:
暴露 "os-services" 的 "forced_down" 属性,用户可以使用update接口来变更这个属性。
SPEC : https://review.openstack.org/#/c/220338/2/specs/liberty/implemented/mark-host-down.rst
2.12 (Maximum in Liberty)
-------------------------
版本2.12(此版本位Liberty发布前最后一个版本):
通过"os-virtual_interfaces" 对外暴露 VIF 的 "net-id" 属性,用户可以使用该接口对获取VIF设备的"net-id"。
SPEC : https://review.openstack.org/#/c/198622/6/specs/liberty/approved/add-vif-net-id-in-vif-list.rst
2.13
----
版本2.13:
在"os-server-groups" API 对外暴露server-groups所属的"project_id"以及"user_id"
SPEC: https://review.openstack.org/#/c/209917/23/specs/mitaka/approved/add-project-id-in-os-server-groups-api.rst
2.14
----
版本2.14:
在疏散虚拟机(evacuate)时不再需要提供"onSharedStorage"参数,Nova会自动判断这台虚拟机是否在共享存储上,用户密码(adminPass)从返回值中删除,用户通过 "os-server-password" 操作获取虚拟机密码。
SPEC : https://review.openstack.org/#/c/183033/13/specs/mitaka/approved/optional-shared-storage-flag-in-evacuate-api.rst
2.15
----
版本2.15:
用户可以为"server-groups"提供 "soft-affinity" 和 "soft-anti-affinity" 的功能,意为尽最大努力的(非)亲和性,若不满足条件,会尝试采用不满足条件的情况创建虚拟机。
SPEC: https://review.openstack.org/#/c/212504/6/specs/mitaka/approved/soft-affinity-for-server-group.rst
2.16
----
版本2.16:
在查询虚拟机列表(servers/detail and servers/{server_id})时对外暴露虚拟机所在主机的状态。默认只对管理员生效。
SPEC : https://review.openstack.org/#/c/192246/20/specs/mitaka/approved/get-valid-server-state.rst
2.17
----
版本2.17:
为虚拟机提供新的 crash dump (故障转储) 的 API, (虚拟机使用的)不同的系统可能需要修改相应的配置。
SPEC: https://review.openstack.org/#/c/229255/11/specs/mitaka/approved/instance-crash-dump.rst
2.18
----
版本2.18:
提供不需要包含 project_id 的 API url 接口.
BP: https://blueprints.launchpad.net/nova/+spec/service-catalog-tng
2.19
----
版本2.19:
为虚拟机增加新的 "description" 属性,用于描述这台虚拟机,用户可以在创建,更新,重建时更新这个属性。
SPEC: https://review.openstack.org/#/c/228908/13/specs/mitaka/approved/user-settable-server-description.rst