Glance Spec Lite¶
如果尝试删除或替换非 active 状态的镜像位置,则返回 409¶
- 问题:
当
show_multiple_locations设置为True时,用户目前可以删除或替换镜像的任何位置,无论镜像状态如何。这可能会给用户带来不好的体验:- 1) 如果用户尝试在镜像处于saving状态时更改或删除位置,Glance 将尝试将数据写入先前保存的位置,而用户正在更新自定义位置。这将导致竞争条件。 2) 对于处于queued状态且尚未上传任何镜像数据的镜像,无需删除镜像位置,允许用户删除镜像位置可能会导致不好的体验。但是,可以允许用户替换镜像位置以保持向后兼容性,并且替换可能意味着用非空镜像位置替换空位置。 3) 对于处于deactivated状态的镜像,必须确保不更新镜像位置,因为这不符合将镜像状态设置为deactivated的目的,并且可能引起安全问题。- 解决方案:
1) 如果在镜像状态不是
active时尝试删除镜像位置,则返回冲突错误(409 响应代码)。 2) 如果在镜像状态不是active或queued时尝试替换镜像位置,则返回冲突错误(409 响应代码)。- 影响:
当镜像状态不是
active时,将抛出冲突错误,阻止用户删除镜像位置;当镜像状态不是active或queued时,将抛出冲突错误,阻止用户替换镜像位置。- 时间线:
预计将在 ocata-1 时间范围内合并。
- 链接:
- 负责人:
Nikhil Komawar, Dharini Chandrasekar
结束 如果尝试删除或替换非 active 状态的镜像位置,则返回 409¶
使用 Virtuozzo 虚拟机扩展 hypervisor_type 元数据¶
- 问题:
目前,即使 Nova 自 Kilo 版本发布以来就支持 Virtuozzo 虚拟机,也无法通过指定 hypervisor_type 元数据来要求 Virtuozzo 虚拟机。
- 解决方案:
我们需要扩展 etc/metadefs/compute-hypervisor.json hypervisor_type 属性,添加适当的标识符 ‘vz’,如 http://git.openstack.org/cgit/openstack/nova/tree/nova/compute/hv_type.py 中定义的那样。
- 影响:
这将对文档产生影响。应添加发布说明,以通知对此添加感兴趣的各方。
- 时间线:
预计将在 O-2 时间范围内合并。
- 链接:
- 负责人:
Maxim Netratov
结束 使用 Virtuozzo 虚拟机扩展 hypervisor_type 元数据¶
将 ploop 添加到受支持的磁盘格式列表中¶
- 问题:
目前,即使 Nova 自 Kilo 版本发布以来就支持它,但 ‘ploop’ 格式并非默认受支持的磁盘格式之一。
- 解决方案:
需要更新 disk_formats 配置文件选项,将 ‘ploop’ 添加为受支持的格式之一。
- 影响:
这将对文档产生影响。应添加发布说明,以通知对此添加感兴趣的各方。
- 时间线:
预计将在 O-2 时间范围内合并。
- 链接:
- 负责人:
Maxim Netratov
结束 将 ploop 添加到受支持的磁盘格式列表¶
使用 Range HTTP 标头代替 Content-Range 来解析请求¶
- 问题:
当发送部分镜像下载的 HTTP 请求时,当前解析
Content-Range标头以获取请求中的字节范围。根据 RFC 7233 规范,HTTP 请求中所需的字节范围应使用Range标头指定,而不是Content-Range标头。后者保留用于对这些请求的响应。当前实现要求用户发送与此规范不兼容的请求。例如,用户必须提供“bytes 12-30/32”,而不是“bytes=12-32”。- 解决方案:
解析 HTTP 请求中的
Range标头,并在服务器响应中发送带有Content-Range实体标头。为了向后兼容,保留当前对Content-Range标头请求的支持并弃用它。- 影响:
用户将能够使用请求中的适当值格式发送带有
Range标头的部分下载请求。对于开发人员,Rangewebob 解析器没有 length 属性。我们将必须显式传递镜像大小并执行检查以识别从解析的Range标头中无法满足的字节范围请求。此更改还需要 API 版本更新。- 时间线:
预计将在 Ocata 时间范围内合并。
- 链接:
- 负责人:
Dharini Chandrasekar