2025.2 系列发布说明

27.0.0-5

错误修复

  • NetApp 驱动程序 bug #2125054:修复了 NetApp 驱动程序的 default_filter_fucntion,以保持在不同平台(如 ONTAP9 和 ASAr2)之间的一致性。

    管理员可以添加自定义过滤器,以强制 ONTAP 后端(如下所示)的 total_volumes 限制。 filter_function=capabilities.total_volumes < <max_volumes_admin_wants>

    注意:管理员需要在 cinder.conf 的 [DEFAULT] 段中配置 scheduler_default_filters,以包含 DriverFilter,请参阅 [1] 获取默认筛选列表。

    [1] https://docs.openstack.org/cinder/2025.2/configuration/block-storage/samples/cinder.conf.html

  • Bug #2121361:修复了在使用具有启用 clone_across_pools 功能的后端执行优化镜像-卷克隆时出现的问题。

27.0.0

新特性

  • 添加了 Cinder 和 Glance 之间服务到服务通信的支持。目前,服务到服务通信由新的位置 API 利用,我们需要在 cinder 配置文件中配置一个专用的 [glance] 部分,其中包含 glance 用户和 service 项目的凭据。请参阅 [nova][service_user] 部分以供参考。

  • NetApp - 新的 ASAr2 驱动程序类继承自现有的 ONTAP REST 库,从而可以重用成熟的 ONTAP 代码库。此设计扩展了 Cinder 驱动程序的功能,以支持 ASAr2 平台上的关键卷操作,包括:* 卷创建 * 卷删除 * 卷附加 * 卷分离 * 卷扩展

  • Dell PowerMax 驱动程序:一致使用 consistency exempt 标志。PowerMax 允许在不影响 SRDF/A 或 SRDF/Metro 会话的状态或要求会话中的其他卷暂停的情况下添加、删除或暂停卷。这种功能在 PowerMax REST API 中被称为 –exempt 用于 symcli 和 editStorageGroupActionParam。它适用于支持活动 SRDF/A 会话或活动 SRDF/Metro 会话的 SRDF 组。

    PowerMax Cinder 驱动程序当前在将卷添加到 SRDF 组时使用 exempt 标志,但在删除卷时未使用。这会产生不必要的性能损失,此更改解决了这个问题。

  • Dell PowerMax 驱动程序:添加了 NVMe-TCP 支持。

  • NetApp ONTAP 驱动程序:添加了对 HTTPS 传输的自签名证书支持,用于 Cinder 和 NetApp ONTAP 之间的管理通信。

    ONTAP 系统默认情况下使用自签名证书进行 HTTPS 管理访问。这些证书在 ONTAP 的初始设置或部署期间自动生成。当 ssl_cert_path 配置为提取的证书文件(.PEM 格式)时,Cinder 会使用完整的证书验证建立 HTTPS 通信。当未提供 ssl_cert_path 时,Cinder 会自动使用 HTTPS 和未经验证的 SSL 上下文,这提供了加密通信,但跳过了证书验证。这允许安全传输,同时保持与 ONTAP 默认自签名证书的易于配置。管理员可以使用 openssl 或 curl 等工具提取证书以进行完整的证书验证(如果需要)。

  • NetApp 驱动程序现在支持“total_volumes”功能,并且默认过滤器函数已更新为在池达到最大卷数(由于 ONTAP FlexVolume 的限制为 1024)时过滤后端。

    可以在 netapp 驱动程序后端段中将“total_volumes”用于限制每个池的卷数,如下例所示,我们将每个池的最大卷数限制为 10。示例:filter_function=”capabilities.total_volumes < 10”

    注意:管理员需要在 cinder.conf 的 [DEFAULT] 段中配置 scheduler_default_filters,以包含 DriverFilter,请参阅 [1] 获取默认筛选列表。

    [1] https://docs.openstack.org/cinder/2025.2/configuration/block-storage/samples/cinder.conf.html

  • NetApp 驱动程序现在支持通过 ZAPI 客户端为 flexgroup 池创建快照,并利用 NFS 通用驱动程序。对于 REST,如果 ONTAP 版本低于 9.14,则操作取决于 NFS 通用驱动程序。但是,对于 ONTAP 版本 9.14 及以上,它依赖于 ONTAP 文件克隆 API。

  • Cinder 现在支持使用 cgroups v2 API 设置 cgroups,这在执行使用 LVM 后端的块设备迁移时使用。

  • IBM Storage Virtualize Family 驱动程序:添加了创建、更新和删除临时卷组的支持。

  • 在 NetApp 统一驱动程序中添加了对 NetApp ASA r2(全闪存 SAN 阵列 r2)分离平台的支持。这引入了一个新的配置选项 netapp_disaggregated_platform,它启用了 ASA r2 特定的工作流程和优化。

    实现包括

    • 新的布尔配置选项 netapp_disaggregated_platform(默认值:False),用于启用 ASA r2 工作流程

    • 新的 RestClientASAr2 类,继承自标准 REST 客户端

    • 在需要时为 ASA r2 特定功能覆盖功能

    • 与现有 NetApp ONTAP 配置的完全向后兼容性

    要启用 ASA r2 支持,请在 cinder 配置文件中设置以下内容

    [backend_netapp_asar2]
    volume_driver = cinder.volume.drivers.netapp.common.NetAppDriver
    netapp_storage_family = ontap_cluster
    netapp_storage_protocol = iscsi
    netapp_use_legacy_client = False
    netapp_disaggregated_platform = True
    # ... other NetApp configuration options
    

    netapp_disaggregated_platform 设置为 True 时,驱动程序将

    • 应用 ASA r2 特定优化和工作流程

    • 保持与现有卷操作的完全兼容性

    • 当 ASA r2 特定方法不可用时,自动回退到标准 ONTAP 行为

    ASA r2 客户端默认情况下继承标准 REST 客户端的所有功能,并能够为 ASA r2 特定行为覆盖单个方法。此设计确保

    • 不会丢失任何现有功能

    • 将逐步添加新的 ASA r2 功能

    • ASAr2 不支持 ZAPI。因此,所有 API 均使用 REST 访问。

    此功能使用户能够利用 NetApp 的分离架构和 ASA r2 特定的性能优化,同时保持熟悉的操作体验。

  • NetApp NVMe 命名空间支持用于就地扩展

    添加了对 NetApp NVMe 命名空间就地扩展的支持,允许在不要求分离的情况下将卷的大小调整为正在运行的实例,从而实现 NetApp ONTAP 环境中基于 NVMe 的卷的无缝卷扩展。

    主要功能

    • 就地扩展:卷可以在连接到正在运行的实例时进行扩展

    • NVMe 命名空间兼容性:完全支持 NetApp NVMe 命名空间扩展

  • [Pure Storage] 添加了新的 QoS 规范参数以支持每 GB 的 QoS。新的规范选项是 maxIOPS_per_GBmaxBWS_per_GB。如果提供了这两个参数中的任何一个以及等效的 max 值,则 max 值将优先。

  • Pure Storage:添加了对将简单或异步复制卷重定型为同步或三同步复制卷的支持。此外,cinder manage 命令现在可用于将现有同步复制卷置于 cinder 控制之下,此前这些类型的卷无法进行管理。

  • [Pure Storage]:添加了 FlashArray 卷标签,用于将来与 Pure Storage Data Intelligence 工具一起使用。

升级说明

  • 随着新位置 API 的采用,我们需要一种执行服务到服务通信的机制来访问 add_image_locationget_image_locations API。为了实现所需的功能,我们需要在部署期间进行两个额外的更改

    1. adminservice 角色分配给 glance 用户

    2. 在 cinder 配置文件中配置一个 [glance] 部分,其中包含 glance 用户和 service 项目的凭据。请参阅 [nova][service_user] 部分以供参考。

  • 破坏性更改:NetApp NVMe 子系统架构重新设计

    实施了 NVMe 卷附加处理的重大架构更改,以解决多附加工作流程和 QoS 管理的关键限制。以前的实现使用一对一的映射,即主机和子系统,每个主机都有自己的专用子系统,并且多个子系统映射到单个命名空间。这种方法造成了两个主要问题

    • QoS 限制:由于 QoS 策略应用于子系统级别而不是命名空间级别,因此每个命名空间具有多个子系统使得无法在所有主机连接到同一卷上强制执行一致的 QoS。

    • 多附加不兼容性:不同的子系统无法启用真正的多附加功能,这对于实时迁移和其他需要同一卷同时从多个主机访问的高级功能至关重要。

    新架构:该实现现在使用多对一的映射,其中多个主机共享单个子系统,从而确保单个子系统到命名空间的关联。这解决了 QoS 一致性和多附加限制。

    兼容性影响:由于 NVMe 子系统到命名空间映射处理方式的根本差异,此更改与之前的版本不兼容。从技术上讲,无法迁移现有的映射。

    所需的升级路径

    • 使用旧 NVMe 架构备份所有卷

    • 升级 OpenStack 到具有新架构的版本

    • 使用新的多对一子系统映射模型恢复卷

    • 如需迁移计划的帮助以及有关此过程的任何问题,请联系 NetApp 支持,他们可以根据您的环境提供指导,并帮助最大限度地减少过渡期间的干扰。

    这种方法确保数据完整性,同时启用新架构的改进的多附加和 QoS 功能。

  • Dell PowerFlex 驱动程序:Bug #2114879 的修复需要 os-brick 版本 6.13.0 或更高版本。用户无需在主机上使用 os-brick 创建 /opt/emc/scaleio/openstack/connector.conf 文件。

    请按照以下步骤进行升级

    1. os-brick 升级到版本 6.13.0,不要删除配置文件。此版本可以在驱动程序尚未执行此操作的情况下执行映射,前提是配置文件保持不变。

    2. 然后将 PowerFlex 驱动程序升级到版本 3.6.0 或更高版本。请注意,驱动程序版本 3.6.0 需要 os-brick 版本 6.13.0 或更高版本才能正常运行,并且不能与早期版本的 os-brick 一起使用。

    3. 现在可以安全地删除连接器配置文件。

  • IBM Storage Virtualize Family 驱动程序:在 Antelope 版本中引入的配置选项“storwize_volume_group”,但从未完全运行,现已删除。

  • 已删除对 Python 3.9 的支持。现在 Python 3.10 是支持的最低版本。

安全问题

  • Dell PowerFlex 驱动程序:此版本包含 Bug #2114879 的修复。它消除了 OSSN-0086 中提到的与裸机主机一起使用的限制。

错误修复

  • IBM Spectrum Virtualize Family 驱动程序:Bug #2003300:为 metro-mirror 复制和 global-mirror 复制卷类型启用对 mirror-pool 选项的支持。

  • NetApp 驱动程序 Bug #2078968:修复了在虚拟机迁移期间 NVMe 命名空间映射失败的问题,错误消息为“命名空间已映射到子系统”。实施了架构更改,以通过共享子系统模型支持多个主机连接到单个命名空间。

  • Bug #2082587:修复了备份还原在新卷上抛出 TypeError 的问题。

  • NFS 驱动程序 bug #2103742:修复了当卷具有快照时,阻止卷大小调整操作正确更新 NFS 镜像虚拟大小的问题。

  • Bug #2105961:修复了 NVMe-oF 目标驱动程序中的问题,该问题导致在非 iSCSI 环境中验证 NVMe-oF 的 nqn 属性而不是 iSCSI 的 initiator 属性,从而导致连接失败。

  • 具有多附加类型的卷可以连接到多个实例。已为 FCP/NVMe 协议实施了额外的逻辑,以处理从多个实例删除 cinder 卷的情况。有关更多详细信息,请查看 Launchpad bug #2110274

  • Bug #2111461:修复了由于外键约束错误而阻止 cinder-manage 命令清除已删除行的问题。这是因为批量删除操作的时间戳是逐表重新计算的,导致主表和依赖表删除行的间隔略有不同。

  • NetApp 驱动程序 bug #2112245:修复了在批量克隆创建期间,一些 cinder 卷克隆操作失败的问题。添加了重试逻辑,以确保 NetApp 驱动程序重试任何失败的克隆操作。

  • bug #2112403:修复了镜像缓存,以便在达到驱动程序特定的快照限制后,无法再克隆卷时删除卷。

  • Dell PowerFlex 驱动程序 Bug #2114879:此版本包含更新的 Dell PowerFlex 驱动程序。必须将其与 os-brick 版本 6.13.0 或更高版本一起使用。os-brick 无需访问 PowerFlex 后端密钥,现在所有这些都由 cinder 驱动程序处理。

  • NetApp 驱动程序 bug #2114993:修复了 iSCSI 和 FC 分离操作失败的问题,原因是连接了多个发起程序。

  • NetApp 驱动程序 bug #2116261:NetApp 已经支持 NFS/iSCSI/FCP 协议的一致性组。将相同的支持扩展到 NVMe/TCP 协议。

  • NetApp 驱动程序 bug #2117263:修复了驱动程序在配置卷时未考虑存储限制的问题。

  • NetApp 驱动程序 bug #2119644:修复了无法为属于 FlexGroup 池的 Cinder 卷创建快照的问题。

  • Bug #1906286:修复了 A/A 环境中 Cinder 支持的镜像未正确使用集群名称的问题。

  • Bug #1907295:修复了当卷不在可以接受附加更新的正确状态时(例如,卷处于错误状态或重复连接器),REST API 返回 500(内部服务器错误)。现在它在这种情况下正确返回响应代码 409(冲突)。

  • Bug #2107451:修复了当 quota_usage 表中的行在 resource 列中具有 groups 值时,cinder-manage quota sync 崩溃的问题

  • RBD bug #2115985:修复了在管理具有 multiattachreplication_enabled 属性的卷类型中的卷时出现的问题。

  • NFS 驱动 bug #2120933:修复了在优化路径中从镜像创建可引导卷时出现的问题。

  • NFS 驱动程序 bug #2074377:修复了由更改 I65857288b797(CVE-2024-32498 的缓解措施)引起的回退,该回退阻止了从现有卷的第二个和后续快照创建新卷。

  • RBD 驱动程序 bug #2092534:修复了在图像格式与卷格式不同的情况下上传卷到图像的问题。

  • Bug #2062539:修复了当镜像由卷快照支持时的重新镜像操作。

  • Hitachi 驱动 bug #2043978:从 Train 时代开始,Hitachi 拥有一个实现全局活动设备 (GAD) 和远程复制功能的树外驱动程序。作为统一“企业”和树内驱动程序的一项举措,2023.1 (Antelope) 版本的 I4543cd036897 更改为树内驱动程序实现了 GAD 功能。不幸的是,此更改使用了不兼容的字符串来指示哪些副本组受 GAD 控制,因此升级到树内驱动程序会破坏现有卷的 GAD。此错误修复使副本组控制标识符保持一致,以便当前使用树外驱动程序的用户可以升级到包含树内驱动程序的版本。

  • HPE 3PAR 驱动程序 Bug #2119709:修复:跳过许可检查以使用新的 wsapi(2025 的)。

  • HPE 3par 驱动程序 bug #2112433:修复了观察到当 vlan ip 与 iSCSI ip 相同时出现的故障,方法是忽略重复的 ip

  • [Pure Storage] 修复了同步复制卷的复制后端上超服务器主机名不相同的问题。

  • Pure Storage 驱动 Bug #2119222:修复了 EG1 订阅型 FlashArray 未报告数据缩减率的问题。

  • Pure Storage 驱动 bug #2100547:修复了将卷作为从源镜像卷克隆创建时,未获得与所用卷类型关联的定义的 QoS 设置的问题。

  • Pure Storage 驱动 bug #2115284cinder.conf 中的快照复制间隔以秒为单位设置,但后端需要毫秒。添加了修复程序以处理转换。

  • Pure Storage bug #2101859:修复了 LACP 绑定未被正确识别为 iSCSI 和 NVMe 目标的问题。

  • Pure Storage 驱动 Bug #21119059:修复了在尝试管理超出租户存储配额的新卷时出现的卷删除问题。

  • Pure Storage 驱动:修复了 FlashArray 安全租户卷和快照的问题,因为这些卷不符合管理条件。

  • Pure Storage bug #2121464:修复了在尝试将卷连接到主机时,当卷已连接到主机时出现的 AttributeError

  • [Pure Storage] 解决了 LACP 绑定被定义为 VLAN 的一部分的问题,导致目标端口无法正确识别。

  • Bug #1886543:在需要迁移的重定型中,当从一个后端迁移到另一个后端时,如果从卷类型角度来看是安全的,则尝试使用驱动程序辅助机制。

其他说明

  • 以前,Cinder 备份服务在启动时会检查所有已知的备份,以便重新启动未完成的备份。这对于具有大量备份的安装来说是一个问题。现在,我们使用一个数据库请求来编译未完成备份的列表。请参阅 Change-Id I5c6065d99116ae5f223799e8558d25777aedd055