Train 系列发布说明¶
19.0.4¶
错误修复¶
Bug 1855708:PY3 中重新加载失败
Bug 1887994:管理文档中的混合消息,以在 httpd 下部署
Bug 1888349:glance-cache-manage 工具已损坏
Bug 1886374:改进多存储的延迟加载机制
19.0.2¶
升级说明¶
19.0.0¶
序言¶
Train 版本包含 Glance 开发优先级中的多个重要里程碑。
多存储功能稳定化;从 Train 开始,多存储被认为是 glance、glance_store 和 python-glanceclient 中的稳定功能。社区鼓励大家尽早采用这种配置后端存储的新方式,因为旧的配置选项已被弃用以简化底层代码维护的负担。用户可以在导入过程中选择希望存储镜像的存储。
glance-cache-manage和预缓存已恢复;在开发周期中,我们修复了导致无法进行缓存管理的问题。预取器代码被移动到 glance-api 中,以打破对 glance-registry 的依赖,并且不再通过 cron 运行。文档示例已从
openstack命令更改回glance。这应该有助于避免 glance 社区维护与示例中引用不同的客户端的问题。‘python-glanceclient’ 是并且将是 Images API 的参考实现,团队也将把所有 API 更改实现到相关周期的客户端版本中。此版本还将 Images API CURRENT 版本提升到 2.9
新特性¶
Train 版本包含对缓存预取工作方式的更改。由于预取器是仍然依赖 glance-registry 的最后一个组件,因此通过将预取器实现为 glance-api 的一部分来消除了此要求。基于 crontab 的预取器不再可用,新的预取将通过 glance-api.conf 进行设置。
已将标识符
compressed添加到受支持的容器格式列表中。其意图是,此格式标识符将用于任何压缩文件归档格式(例如 gzip 或 rar),这些格式未包含在现有的容器格式标识符中。与所有容器格式一样,Glance 不会验证镜像的数据有效负载是否实际上采用该格式。此外,您不应期望其他 OpenStack 服务能够处理任意压缩文件格式。有关详细信息,请参阅将使用您的镜像的任何服务的文档。
为了支持块存储服务 (Cinder) 在卷为加密卷类型时上传卷到镜像的操作,当此类镜像被删除时,Glance 现在将联系 OpenStack 密钥管理服务 (Barbican) 并请求其删除关联的加密密钥。为此,必须在镜像上设置两个额外的属性:
cinder_encryption_key_id(其值为 OpenStack 密钥管理服务中用于加密卷的加密密钥的标识符)和cinder_encryption_key_deletion_policy(其值可以是on_image_deletion或do_not_delete)。请注意以下几点由块存储服务创建的镜像将自动设置这些属性,并将删除策略设置为
on_image_deletion。块存储服务始终在将卷作为镜像上传时在 Barbican 中创建一个新的密钥,在密钥管理服务中存储的每个密钥与 Glance 中存储的加密卷的镜像之间保持 1:1 的关系。因此,在镜像被删除时删除 Barbican 密钥不会导致数据丢失只要该密钥不用于任何其他目的。
块存储服务不会将与镜像关联的密钥用于任何其他目的。
如果您选择将
cinder_encryption_key_id的值标识的 Barbican 密钥用于任何其他目的,您将面临数据丢失的风险。不建议手动使用
cinder_encryption_key_*属性。
如果镜像属性
cinder_encryption_key_deletion_policy缺失或具有任何其他值,Glance 将不尝试删除cinder_encryption_key_id的值标识的密钥。
glance-scrubber 工具现在支持多存储。如果您正在使用多存储功能,则必须在
glance-scrubber.conf文件中定义os_glance_tasks_store和os_glance_staging_store配置选项。有关更多信息,请参阅 Glance 管理指南“多存储支持”章节的“保留存储”部分。
现在,Glance 可以使用通过 glance_store 库访问的后端存储来临时存储先前需要访问本地文件系统的数据。请注意以下几点
在本版本中,使用存储(而不是直接配置路径)是可选的,但它将在 ‘U’ 版本中成为强制性的。
在本版本中,使用的存储必须是文件系统存储类型。我们的目标是在未来的版本中,允许操作员配置来自其他选定驱动程序的存储类型。但是,在 Train 中,这些存储必须是文件系统存储。
有关更多信息,请参阅本文档的“升级说明”和 Glance 管理指南“多存储支持”章节。
已知问题¶
在本版本中引入
compressed容器格式,这为我们提供了一个提醒,即 Glance 不会验证任何容器格式的镜像属性container_format是否准确。确保镜像数据有效负载格式是镜像消费者的责任,并在镜像描述不正确的情况下采取适当的措施。
在本版本中引入的
compressed容器格式标识符的意图是,它将用于任何压缩文件归档格式(例如 gzip 或 rar),这些格式未包含在现有的容器格式标识符中。压缩文件的确切格式未指定。由消费服务分析数据有效负载并确定压缩格式。特定的 OpenStack 服务可能仅支持特定的格式。因此,即使服务支持
compressed容器格式,这并不意味着该服务可以处理任意压缩格式。有关详细信息,请参阅将使用您的镜像的服务的文档。
从本版本开始,唯一使用
compressed容器格式的服务是 Cinder(块存储服务),当 Cinder 配置为使用压缩加速器将卷镜像上传到 Glance 时。虽然您可能期望 Cinder 能够使用 Cinder 创建的任何compressed容器格式的镜像,但您不应期望 Cinder 能够成功使用它未自行创建的compressed格式的镜像。有关更多信息,请参阅 Cinder 文档。
在使用多个存储功能时,必须为
filesystem_store_datadir选项配置不同的值。目前代码中未强制执行此操作。
升级说明¶
位置元数据键
backend已更改为store。任何可能正在使用旧键backend的环境将在访问时通过延迟更新来更改键名称。
已将标识符
compressed添加到受支持的容器格式列表中。其意图是,此格式标识符将用于任何压缩文件归档格式(例如 gzip 或 rar),这些格式未包含在现有的容器格式标识符中。添加
compressed容器格式是为了支持 Cinder(块存储服务)功能 利用压缩加速器。您可能期望 Cinder 能够使用 Cinder 创建的任何compressed容器格式的镜像。但是,您不应期望其他服务能够使用这样的镜像。此外,您不应期望 Cinder 能够成功使用它未自行创建的compressed格式的镜像。
属性
cinder_encryption_key_id和cinder_encryption_key_deletion_policy已添加到通用镜像属性中,并出现在镜像模式中。有关这些镜像属性的信息,请参阅这些说明的“新功能”部分。
如果您正在使用多存储功能,则必须在
glance-scrubber.conf文件中定义os_glance_tasks_store和os_glance_staging_store配置选项。有关更多信息,请参阅 Glance 管理指南“多存储支持”章节的“保留存储”部分。
配置选项
work_dir和node_staging_uri已被弃用,将在 ‘U’ 开发周期的早期被移除。这些本地目录由 Glance 用于互操作镜像导入过程以及任务引擎期间数据的临时存储。此版本引入了使用通过 glance_store 库访问的后端文件系统存储来临时存储数据的能力。请注意以下几点
如果您现在希望使用后端存储功能,请参阅 Glance 管理指南“多存储支持”章节的“保留存储”部分以获取配置信息。
如果您使用 Glance 多存储功能,该功能在 Rocky 中以实验方式引入,现在在 Train 版本中完全支持,那么您必须从现在开始使用支持存储,而不是
work_dir和node_staging_uri来进行 Glance 的临时存储。有关更多信息,请参阅 Glance 管理指南“多存储支持”章节的“保留存储”部分。
存储名称前缀
os_glance_*由 Glance 为内部存储保留。如果将具有此前缀的存储包含在enabled_backends选项中,Glance 将拒绝启动。在本版本中引入的内部存储标识符是
os_glance_tasks_store和os_glance_staging_store。
以下元数据定义已在 Train 版本中修改
在
OS::Nova::Flavor命名空间中添加了布尔值hw:mem_encryption,在OS::Glance::Image命名空间中添加了布尔值hw_mem_encryption。在
OS::Compute::LibvirtImage命名空间中添加了布尔值hw_pmu,以及枚举hw_cdrom_bus和hw_firmware_type。在
OS:::Compute::Hypervisor命名空间中添加了枚举powervm。在
OS::Compute::LibvirtImage命名空间中添加了枚举hw_video_model的virtio、gop和none。
您可以使用以下命令升级这些定义:
glance-manage db load_metadefs [--path <path>] [--merge] [--prefer_new]
错误修复¶
Bug 1836140:如果未启用“file”存储,则镜像删除返回 500