2023.1 系列发布说明

2023.1-eom

升级说明

  • 使用 CEPHFS Native 协议创建的共享现在将拥有一个新的 __mount_options 元数据,其中包含 cephfs_filesystem_name,以增强挂载共享时的可用性。现有的共享将通过 ensure shares 工作流进行更新。为了保持向后兼容性,此元数据可以被最终用户修改。强烈建议管理员将“__mount_options”包含在 [DEFAULT]/admin_only_metadata_keys 配置选项中。

错误修复

  • 修复了在将子网添加到包含共享的网络时,共享导出位置更新的问题。有关更多详细信息,请参阅 Launchpad bug #2017501

  • 修复了在删除网络时清理共享网络安全服务关联的问题。有关更多详细信息,请参阅 Launchpad bug 2029366 <https://bugs.launchpad.net/manila/+bug/2029366>

  • CephFS 驱动程序过去会错误地设置“preferred”导出路径。现在已修复为将其设置为导出位置元数据的一部分。有关更多详细信息,请参阅 Launchpad bug 2053100

  • 共享管理器驱动程序现在可以在 ensure_shares 例程期间更新导出位置元数据(例如 preferred 属性)。(Launchpad bug: 2053100)

  • NetApp ONTAP 驱动程序现在将在 sis 操作(例如 dedupe)当前处于活动状态时重试 sis 操作。这是必需的,因为 NetApp 在最新的硬件上默认开启效率,这会导致 Manila 尝试关闭它时发生冲突的 sis 操作。有关更多详细信息,请查看 Launchpad bug #2071359

  • 在使用标记为 external(未管理的提供商网络)的 Neutron 网络作为共享网络时,manila 现在会创建 admin_state_up=False(禁用)的端口。此更改解决了在使用 OVN 作为 Neutron ML2 插件时可能发生的 ARP 故障。有关更多信息,请参阅 bug 2074504

16.2.1

错误修复

  • “active”副本的“replica_state”属性无法修改。有关更多详细信息,请参阅 Launchpad bug 2015328

  • manila 将在 keystoneauth1 连接错误的情况下重试 neutron API 调用,例如 create_port()、show_port()。有关更多详细信息,请参阅 launchpad bug #2049507

  • 共享服务器删除是异步进行的,在此删除过程中发生故障会导致 neutron 端口泄漏。这通过首先尝试在共享服务器删除之前删除端口来修复。其次,在从 Manila 数据库条目中删除端口后,将查询 neutron 以获取分配给共享服务器且数据库中缺失的端口。然后尝试删除这些端口。有关更多详细信息,请查看 Launchpad bug 2067266

  • NetApp 驱动程序 bug #2069125:修复了 NetApp ONTAP 驱动程序在 ZAPI 工作流中的问题,即当 vserver 网络接口未配置 kerberos 时,某些 vserver 帐户无法为共享添加访问规则。

16.2.0

新特性

  • 为具有 ‘dhss’=True 的服务实例添加新的配置选项 ‘service_network_host’。这有助于我们定义端口的网络主机,并能够与 manila 主机分离。

错误修复

  • 更改了在 shares api 中未处理的共享类型时引发的错误和状态码

  • 使 CephFS 驱动程序中的快照名称更短,以避免 Ceph 集群截断子卷名称并使快照无法访问的限制。

  • NetApp 驱动程序 bug #1982808:修复了问题,为删除和释放 SnapMirror 关系添加重试逻辑。删除源和目标集群上不存在 SnapMirror 关系时的 vserver 配对。

  • 已修复元数据 API,以便在请求者无权访问元数据所涉及的资源时,以 HTTP 404 / Not Found 响应。

  • CephFS 驱动程序使用 RemoveExport DBUS API 调用来调用 NFS/Ganesha 服务,当用户删除访问规则或删除共享时。如果此调用失败,驱动程序现在会提供失败日志,并继续清理。在此更改之前,如果服务失败了 DBUS 命令来删除导出,共享删除可能会失败。这将使共享处于“error_deleting”状态,需要管理员干预。有关更多信息,请参阅 bug #2035572

16.1.0

新特性

  • 现在可以配置 cephfs_ganesha_export_ips(或者,cephfs_ganesha_server_ip)以及 cephfs_nfs_cluster_id。设置这些选项将允许 CephFS 驱动程序报告额外的导出路径。这些额外的导出路径将设置“preferred”(首选)元数据键为 False。由驱动程序发现的 NFS 服务主机对应的导出路径将设置“preferred”元数据键为 True。预计管理员在准备从独立的 NFS-Ganesha 服务迁移到由 Ceph 编排服务提供的 NFS 服务集群设置时,会配置额外的 IP 地址。最终,当迁移完成后,可以删除这些配置选项,并从 Manila 中删除相应的共享导出路径记录。请注意,CephFS 驱动程序不会创建或操作通过 cephfs_ganesha_export_ipscephfs_ganesha_server_ip 配置的 NFS 服务中的访问规则。

升级说明

  • 引入了一个新的配置选项 cephfs_ensure_all_shares_salt,用于帮助云管理员在服务启动时协调现有共享的导出路径。

错误修复

  • 修复了使用 ZAPI API 在 NetApp ONTAP 驱动程序中 CIFS 共享的不中断共享迁移。在 CIFS 共享迁移期间,跳过了新导出路径的创建,并从后端获取实际的导出路径。有关更多详细信息,请参阅 launchpad bug #1920937

  • 基于角色的访问控制在 POST /shares/{share_id}/action API 上强制执行,以重置状态、任务状态、副本状态等字段。这可以防止部署允许某些用户访问这些 API,但他们不属于资源存在的项目的情况。有关更多上下文,请参阅 bug 1955627

  • NetApp 驱动程序:修复了副本提升问题,其中 autosize 属性未在 ONTAP 上更新。现在,在提升副本后会更新 autosize 属性。有关更多详细信息,请参阅 launchpad bug #1957075

  • NetApp 驱动程序 bug #1982808:修复了问题,防止存储系统在副本提升后正确清理未使用的 SnapMirror 快照,从而大大增加了 ONTAP 卷中快照占用的空间。

  • 现在可以通过任何用户添加共享网络子网元数据,因为用于验证非管理员用户策略的 project_id 现在存在于共享网络子网数据库模型中。

  • 状态为 error_deleting 的共享副本现在将在定期更新期间跳过。

  • 共享服务器后端详细信息设置函数添加了数据库记录,而没有检查现有条目。这会导致给定共享服务器 ID 和键的重复记录。通过更新现有记录(如果存在)或创建新记录来修复它。有关更多详细信息,请参阅 launchpad bug 2024658

  • “manage”API 现在验证“provider_location”和“share_id”字段的格式,并适当地处理错误。预期这些字段包含字符串值。

  • 当数据库上进行了更新时,updated_at 字段已正确设置为共享和快照访问规则。

  • CephFS 后端驱动程序现在支持批量共享恢复机制 (ensure_shares)。在启动时,驱动程序配置选项的组合将确定驱动程序是否必须重新评估先前创建的共享的导出路径。如果这些配置选项没有更改,服务启动将跳过此恢复阶段。

  • CephFS 后端驱动程序在恢复预先存在的共享时,还会重新应用访问规则。

  • bug #2025649:修复了共享服务器 API 错误消息。

  • 当由于缺少端口配额而导致共享创建失败时,传播给用户的错误消息没有用。因此,向用户报告 PortLimitExceeded 错误,而不是通用错误。有关更多详细信息,请参阅 (launchpad bug 2019846)。

16.0.0

新特性

  • 从 API 版本 2.76 开始,在 ‘security_service’ 对象中添加了 ‘default_ad_site’ 字段。此字段不能与 ‘security_service’ 的 ‘server’ 字段一起使用。

  • 从 microversion 2.75 开始,用户可以在共享副本提升 API 中指定 quiesce 等待时间秒数。请注意,并非所有驱动程序都支持此参数,如果不支持,则该值将被静默忽略。

  • 添加了共享网络子网元数据功能,包括创建、更新所有、更新单个、显示和删除元数据。

  • 可以使用 API 版本 2.77 及更高版本在项目之间转移共享。

  • 由 Infinidat 驱动程序创建的共享的特殊 .snapshot 目录现在可以通过配置选项控制:infinidat_snapdir_accessibleinfinidat_snapdir_visible。默认情况下,每个共享允许访问其自身的 .snapshot 目录,其中包含每个快照的文件和目录。要限制对 .snapshot 目录的访问,应将 infinidat_snapdir_accessible 设置为 Falseinfinidat_snapdir_visible 选项控制 .snapshot 目录的可见性。默认情况下,.snapshot 目录是隐藏的。要使客户端可见 .snapshot 目录,应将此选项设置为 True

  • 添加了新的配置选项 netapp_snapmirror_schedule,允许管理员配置 NetApp 异步 SnapMirror 计划。管理员必须确保计划已在后端文件服务器上创建。

  • NetApp 驱动程序:引入了在使用 ONTAP 9.12.1 或更高版本时通过 REST API 请求 ONTAP 操作的选项。新的选项 netapp_use_legacy_client 允许在旧的 ZAPI 客户端方法和新的 REST 客户端之间切换。默认值为 True,这意味着驱动程序将继续像以前一样使用 ZAPI 操作。如果需要,可以将此选项设置为 False,连接到新的 REST 客户端,如果可用,则执行 REST API 操作,否则回退到 ZAPI。

    此外,还添加了一个名为 netapp_rest_operation_timeout 的选项,允许用户设置在使用 REST API 时从同步操作获取输出的预期最大时间量。默认超时值为 60 秒。

  • 对于 NetApp ONTAP 驱动程序,‘default_ad_site’ 将限制域控制器的发现模式为 ‘site’,即仅发现本地站点中的域控制器。

  • NetApp 驱动程序与 DHSS True 模式现在支持通过共享网络子网元数据设置共享服务器网络 VLAN 分段。为此,必须使用 VLAN 号码告知 set_vlan 字段。可以通过元数据字段 set_mtu 设置网络 MTU。如果子网元数据包含 set_vlan 而没有 set_mtu 字段,则 MTU 将根据网络插件进行配置。

升级说明

  • 添加了一个新的配置选项 macrosan_ssl_cert_verfiy,用于配置驱动程序是否只允许经过验证的 ssl 证书。此选项默认设置为 False,以允许向后兼容。

  • 以下通知驱动程序的别名不再可用。请使用 oslo.messaging 库中的驱动程序名称。

    • manila.openstack.common.notifier.log_notifier

    • manila.openstack.common.notifier.no_op_notifier

    • manila.openstack.common.notifier.rpc_notifier

    • manila.openstack.common.notifier.rpc_notifier2

    • manila.openstack.common.notifier.test_notifier

错误修复

  • 在设置了复制的情况下,至少有一个后端正在工作并提供共享。从 API 版本 2.74 开始,只有当任何实例处于转换状态时,允许和拒绝访问共享才会失败。请参阅 Launchpad bug 1965561

  • GET /shares/{share_id} API 现在对无法访问的资源返回 HTTP 404(未找到)。有关更多信息,请参阅 bug 1901210

  • 修复了在触发给定共享的迁移时未计算副本配额的问题。有关更多详细信息,请参阅 Launchpad bug #1910752

  • 修复了 bug #1928241。NetApp ONTAP 驱动程序现在将避免在共享服务器未跨选定的池时,在共享创建期间重用共享服务器。

  • Launchpad bug 1968891 已修复。调度器在扩展共享时将使用大小增加而不是共享大小来计算 provisioned_ratio。

  • 在使用 cephadm 部署 Manila CephFS NFS 时,manila 共享服务由于错误“Backend cephfsnfs supports neither IPv4 nor IPv6”而无法启动。这是因为 NFS Ganesha 守护程序由于某种原因无法启动,因此驱动程序无法获取将用作后端的 NFS Ganesha 服务的地址。我们依赖操作员确保在初始化驱动程序时 CephFS NFS 集群可用。通过此修复,我们引发异常以明确通知操作员并允许他们采取进一步的操作。

  • 在集群部署中,通过 POD 部署了多个 Manila 服务实例,唯一的 hostname 是从节点名称派生的。但是,如果 POD 重新部署并在新的主机/节点上启动,旧的 manila 服务条目将保持不变。通过添加每个服务的清理函数并引入 ‘state’ 列到 ‘services’ 表中来修复。服务将处于 ‘up’、‘down’ 或 ‘stopped’ 状态之一。清理将删除 ‘stopped’ 服务的数据库条目。有关更多详细信息,请参阅 Launchpad bug 1990839

  • CephFS NFS 驱动程序,特别是 NFSProtocolHelper 实现,将错误的参数传递给 Ceph 后端,这阻止了用户添加和拒绝对创建的共享的访问。通过此修复,CephFS NFS NFSProtocolHelper 的用户可以正常创建和删除对共享的访问权限。

  • 部署者现在可以指定 [glance]endpoint_type 配置选项(默认情况下为 publicURL 以保持向后兼容性),以便 Manila 使用 Glance 端点而不是公共端点(请参阅 bug 1991396)。

  • Bug 1991776 已在 CephFS 驱动程序中修复。该驱动程序不再在使用 NFS 协议时发出有关受支持 IP 版本的重复警告。

  • 为 CephFS NFS 驱动程序创建的导出中添加了文件系统信息。这修复了使用多个文件系统部署 Manila 时出现的不一致性。

  • Infinidat 驱动程序 bug #1992443:修复了 Infinidat 驱动程序中的一个问题,以支持主机辅助迁移。 snapdir_visible 文件系统属性必须禁用才能隐藏客户端上的 .snapshot 目录。但是,可以使用 infinidat_snapdir_visible 配置选项更改此行为。

  • 在共享服务器创建时,使用当前时间戳初始化 updated_at 字段,以修复在极少数情况下,将自动清理目标共享服务器永久处于 creating 状态的自动清理问题。

  • NetApp 驱动程序:在尝试重用共享服务器时,添加了获取共享服务器后端详细信息 vserver 名称的保护。请参阅 Launchpad Bug #1993829

  • NetApp 驱动程序已修复 launchpad bug 1995733 中阻止使用活动目录安全服务的共享服务器清理的错误。

  • 在 NetApp ONTAP 驱动程序的情况下,用户现在可以在提升期间设置 quiesce 超时,并且此超时优先于 NetApp 配置 netapp_snapsmirror_quiesce_timeout。有关更多详细信息,请参阅 launchpad bug 2000171

  • 修复了一个问题,该问题导致 CephFS 驱动程序覆盖共享中的权限。在 一个 bugfix 之后,Ceph 的共享幂等创建行为发生了变化。如果共享模式在 Manila 外部被修改,或者当共享已经创建时,Manila 中 cephfs_volume_mode 的配置值发生更改,这些共享的模式将在 Manila 尝试使用幂等创建来确保该共享存在时发生更改,从而可能破坏客户端。CephFS 驱动程序现在将不再向后端发送创建调用来确保共享存在。有关更多详细信息,请参阅 Bug #2002394

  • NetApp 驱动程序:修复了与托管快照相关的一些问题,不再重命名托管快照。有关更多详细信息,请参阅 launchpad bug #1936648

  • 某些 neutron 集成可能没有网络类型,因此 neutron 网络插件通过考虑这种情况进行了修复。有关详细信息,请参阅 Launchpad bug #1987315

  • NetApp 驱动程序现在可以删除存储端未创建的错误状态的共享服务器。有关更多详细信息,请参阅 launchpad bug #1964592

  • NetApp 驱动程序现在在发送 snapshot-create 请求后会检查快照是否已正确创建。如果未检查快照,Manila 会假定可用的快照正在工作。但是,当用户尝试访问快照时,请求可能会失败。有关更多详细信息,请参阅 Launchpad bug 1971710

其他说明

  • Pure Storage FlashBlade 驱动程序 - 版本号递增用于跟踪目的(Antelope 版本)。