Wallaby 系列发布说明¶
12.1.2-29¶
安全问题¶
SSH 实用程序模块不再将用户名和密码记录为调试信息。
错误修复¶
GET /shares/{share_id} API 现在对无法访问的资源返回 HTTP 404(未找到)。有关更多信息,请参阅 bug 1901210。
NetApp OnTap 驱动程序 Bug #1915237:修复了 manila 共享迁移中的加密兼容性检查。
添加了一个检查,当将安全服务与共享网络关联时,两个资源必须具有相同的 project_id。如果不是,则会引发 HTTP Bad Request。
修复了一个问题,该问题导致 Manila 返回所有项目共享副本,即使用户不是管理员。现在,当用户不是管理员时,将仅显示项目视角的副本。有关更多详细信息,请参阅 Launchpad Bug #1922243
更改了在 shares api 中未处理的共享类型时引发的错误和状态码
CephFS 驱动程序不再未能删除从未应用或从后端存储中丢失的访问规则。有关更多详细信息,请参阅 LP #1971530。
在共享网络创建 API 期间,如果共享网络或共享网络子网数据库创建失败,manila 会引发异常。但是,配额不会回滚,并且仅在配额预留超时(等待 conf.reservation_expire 秒)后才能使用。通过在任何数据库创建 API 失败时立即回滚配额来修复。
Goodness_function 期望整数或浮点数,否则引发 parseException。这会导致诸如 “(share.share_proto == ‘CIFS’) ? 100 : 50” 之类的示例在评估期间失败。通过添加对字符串评估的支持来修复它。
Infinidat 驱动程序 bug #1986653:修复了 Infinidat 驱动程序,以使用 Manila 共享服务与存储后端之间的 TLS/SSL 通信。管理员可以将 infinidat_use_ssl 和 infinidat_suppress_ssl_warnings 选项设置为 True 或 False,以启用或禁用这些功能。
部署者现在可以指定
[glance]endpoint_type配置选项(默认情况下为publicURL以保持向后兼容性),以便 Manila 使用 Glance 端点而不是公共端点(请参阅 bug 1991396)。
状态为 error_deleting 的共享副本现在将在定期更新期间跳过。
共享服务器后端详细信息设置函数添加了数据库记录,而没有检查现有条目。这会导致给定共享服务器 ID 和键的重复记录。通过更新现有记录(如果存在)或创建新记录来修复它。有关更多详细信息,请参阅 launchpad bug 2024658。
“manage”API 现在验证“provider_location”和“share_id”字段的格式,并适当地处理错误。预期这些字段包含字符串值。
当数据库上进行了更新时,
updated_at字段已正确设置为共享和快照访问规则。
CephFS 驱动程序使用 RemoveExport DBUS API 调用来调用 NFS/Ganesha 服务,当用户删除访问规则或删除共享时。如果此调用失败,驱动程序现在会提供失败日志,并继续清理。在此更改之前,如果服务失败了 DBUS 命令来删除导出,共享删除可能会失败。这将使共享处于“error_deleting”状态,需要管理员干预。有关更多信息,请参阅 bug #2035572。
bug #2025649:修复了共享服务器 API 错误消息。
12.1.2¶
错误修复¶
修复了 ONTAP AFF 平台在创建共享时强制卷具有高效数据保存的问题,即使指定了相反的情况。有关更多详细信息,请参阅 launchpad bug #1929421
12.1.1¶
错误修复¶
修复了在快照创建期间,数据库错误被错误处理的死代码的问题。有关更多详细信息,请参阅 Launchpad bug 1475351。
修复了 periodic_share_replica_update(),使其跳过活动副本,类似于 periodic_share_replica_snapshot_update()。目的是检查非活动副本,这些副本可能处于“in_sync”、“out_of_sync”或“error”状态。
当
cephfs_ganesha_server_ip未设置时,当前主机名用作此配置选项的默认值。驱动程序将此值视为 IP 地址并尝试对其进行验证。CEPH NFS 驱动程序将不再将主机名视为 IP 地址并尝试对其进行验证。
12.1.0¶
升级说明¶
在 Ceph 驱动程序中,不再需要 MON 写入权限来与后端交互。因此,可以减少驱动程序用户(使用
cephfs_auth_id配置)的权限。有关所需的权限,请参阅 管理员文档。
错误修复¶
通过确保在创建 RPC 消费者之前正确初始化,解决了服务重启时的 RPC 处理问题。有关更多详细信息,请参阅 bug 1271568。
OpenStack Compute (nova)、OpenStack Image (glance)、OpenStack Volume (cinder) 和 OpenStack Networking (neutron) 服务的服务客户端加载时的身份验证错误现在得到了更好的处理。
修复了 bug #1922075。修复了 glusterfs 驱动程序从快照创建实例时,“gluster volume set nfs.rpc-auth-reject ‘*’” 失败的问题。
mgr 命令现在被定向到 mgr-daemon,而不是 CephFS 驱动程序中的 mon-daemon
修复了共享副本周期性任务中的 NotFound 错误。正在处理的副本的父共享可能已经被删除。
更正了尝试从不支持此操作的共享创建快照时的错误消息。该消息说共享后端没有这样的支持,但事实并非总是如此。原始共享不支持快照,因为它是在没有设置
snapshot_supportextra-spec 的共享类型下创建的,无论使用的后端本身是否支持快照。
修复了一个问题,导致具有复制支持的迁移共享没有设置 replica_state 为 active 的共享实例。现在,当共享支持复制时,迁移完成后,目标共享实例的副本状态将立即设置为 active。有关更多详细信息,请参阅 bug 1927060
按共享类型“extra_specs”作为 key=value 过滤共享现在返回预期的输出。
作为此更改的一部分,添加了 Ceph 版本检查,以解决 Ceph Nautilus 中缺少 mon-mgr 目标的问题。通过此更改,Ceph Nautilus 用户可以使用其存储后端与 OpenStack manila Wallaby 版本配合使用。
Infinidat 驱动程序已修复,可以正确处理单个 IP 地址 (/32)。有关更多详细信息,请参阅 bug 1934345。
NetApp 驱动程序:修复了 ONTAP 9.8 及更早版本中,对于作用域帐户用户,删除副本操作无法正常工作,但返回成功消息的问题。有关更多详细信息,请参阅 launchpad bug #1934889
新的用户消息现在会在尝试创建没有指定共享类型的共享时提醒用户,无论是通过请求体还是通过设置默认共享类型。有关更多详细信息,请参阅 bug #1870280
12.0.0¶
序言¶
Manila v2 API URL 现在不再需要指定 project_id。
所有 manila API RBAC 策略的默认检查字符串已更新,以支持来自 OpenStack Identity Service (Keystone) 的默认角色和系统范围。这包括对项目成员、项目读取者、项目管理员用户角色以及系统成员、系统读取者和系统管理员角色的支持。最终预计 manila “admin” 角色将过渡到系统范围的 “admin” 角色,并且一些隔离的项目管理员权限(例如强制删除资源、重新同步共享副本或重置资源状态)保留给在项目范围内运行的管理员用户。请参阅这些说明的 升级 部分,了解更多影响。
新特性¶
容器驱动程序现在能够在设置共享服务器时处理 LDAP 安全服务配置。此外,容器驱动程序允许向正在使用的共享网络添加或更新
LDAP安全服务。
Microversion 2.59 为迁移获取进度响应添加了可选的驱动程序 details。
oslo.middleware /healthcheck 现在在 Manila api-paste.ini 中默认激活。操作员可以使用它来配置 HAproxy 或 Manila API 的监控。编辑
api-paste.ini文件并删除任何 healthcheck 条目以禁用此功能。
‘quota_per_share_gigabytes’ 配置选项允许管理员为项目设置每个共享的大小限制。默认值为 -1[“无限制”],除非管理员在 manila.conf 中更改了该值。
为了帮助管理员控制和平衡其云资源,Manila 添加了两个新的后端功能。名为 max_shares_per_share_server 的功能允许管理员定义共享服务器可以拥有的最大共享数。名为 max_share_server_size 的功能允许管理员设置共享服务器可以增长的最大千兆字节数,考虑到其实例、副本和快照。这两个功能仅接受整数值。如果至少达到其中一个限制,Manila 将不会考虑重用所引用的共享服务器。如果没有可用的共享服务器可供重用,Manila 将创建另一个共享服务器来放置传入请求。如果后端段中未指定这些限制中的任何一个,Manila 将认为它们是无限的,并允许重用共享服务器,而不管其共享数量或大小如何。
添加了在共享网络已经在使用时添加和更新整个安全服务的功能。添加了一个名为
status的字段到共享网络模型,其默认值为active。根据共享网络状态,某些操作可能会被阻止。添加了一个名为security_service_update_support的布尔字段到共享服务器的模型。该字段默认为False,并且所有已部署的共享服务器都将获得默认值,即使其后端支持该功能。管理员可以使用manila-manage命令更新该字段的值。调度程序将过滤掉在某些操作期间无法处理此请求的后端。
从 CephFS Native 和 CephFS NFS 驱动程序创建快照共享现在可用。此功能在 Ceph 中自 Ceph Nautilus 版本起可用,因此需要使用 Ceph Nautilus (v14.2.18 或更高版本) 或 Ceph Octopus (v15.2.10 或更高版本) 的部署。
引入了 OSprofiler 支持。要允许其使用,需要修改 api-paste.ini 文件以包含 osprofiler 中间件。此外,需要在 manila.conf 文件中添加 [profiler] 部分,并定义 enabled、hmac_keys 和 trace_sqlalchemy 标志。
现在可以从 v2 API 的 API 端点中省略 %{project_id}。虽然 API 的行为没有改变,但该服务识别路径中包含和不包含项目 ID 的 URL。建议您调整云中的服务目录以删除项目 ID 替换,尤其是在您希望启用在系统范围内运行的用户时。
提供了一个新的 “noauth” 身份验证策略,名为 “noauthv2”。可以通过将配置选项
[DEFAULT]/auth_strategy设置为noauthv2来启用它。当从 manila 端点 URL 中删除 project_id 替换时,可以使用此身份验证策略。
Ceph 后端现在可以与多个文件系统集群一起工作。Manila 要使用的文件系统可以通过驱动程序选项 ‘cephfs_filesystem_name’ 指定。如果未指定此选项,驱动程序将假定 Ceph 集群中存在单个文件系统,并尝试使用它。
由 CephFS 驱动程序 (CephFS 和 NFS) 提供的共享删除现在更快。现在,Ceph 管理器将已删除共享的内容移动到垃圾文件夹,并异步清除内容,而不是将此作为同步删除操作的一部分进行处理。如果共享包含大量数据,则清除可能需要相当长的时间。
能够添加每个共享类型粒度的最小和最大共享大小限制。添加了新的额外规格 ‘provisioning:max_share_size’ 和 ‘provisioning:min_share_size’。
添加了对 NetApp ONTAP 驱动程序上 FPolicy 的支持。FPolicy 允许创建文件策略,根据文件类型指定文件操作权限。可以使用以下额外规格启用此功能
netapp:fpolicy_extensions_to_include:指定要包含用于筛选的文件扩展名。值应作为逗号分隔列表提供。netapp:fpolicy_extensions_to_exclude:指定要排除用于筛选的文件扩展名。值应作为逗号分隔列表提供。netapp:fpolicy_file_operations:指定要监视的所有文件操作。值应作为逗号分隔列表提供。
FPolicy 适用于具有和不具有共享服务器管理的后端。在使用 NetApp 后端和 SVM 管理员帐户时,请确保分配的访问控制角色对 “vserver fpolicy” 目录具有设置为 “all” 的访问权限。
此功能不适用于共享副本,以避免由于目标 SVM 中缺少 FPolicy 资源而导致副本提升失败。
NetApp ONTAP 驱动程序现在支持在与正在使用的共享网络关联时添加和更新安全服务。添加和更新操作均受所有三种安全服务类型支持:
active_directory、kerberos和ldap。为了以非破坏性方式更新其参数,active_directory和kerberos不支持更新domain。
添加了用于 Zadara VPSA 存储阵列/Flash-Array 的 Manila 驱动程序。
升级说明¶
为 NetApp 驱动程序添加了一个新的配置选项 netapp_ssl_cert_path。此选项允许用户选择包含受信任 CA 证书或 CA 捆绑包的目录。如果设置为目录,则必须使用 OpenSSL 提供的 c_rehash 工具进行处理。如果未指定,它将使用 Mozilla 精心策划的根证书集合来验证 SSL 证书的可信度。
manila-manage现在支持共享服务器命令,这些命令允许管理员修改某些共享服务器功能的字段值。
为了使 url 中的 project_id 可选,必须约束 project_id 的可能值。在
[DEFAULT]部分添加了一个名为project_id_regex的新配置选项。此选项的默认值为[0-9a-f\-]+,它匹配带有和不带有破折号的十六进制 UUID,从而涵盖了 OpenStack Identity 服务支持的格式。如果您的云使用其他格式,请相应地设置此配置选项,或从您的服务目录中删除 manila 端点 URL 中的 project_id。
Manila 的 CephFS 驱动程序现在 需要 “python3-ceph-argparse” 和 “python3-rados” 包。不要在不将这些软件包添加到
manila-share服务运行的环境中进行升级,因为没有它们,驱动程序将拒绝启动。此破坏性更改是必要的,因为旧的ceph_volume_client已被 Ceph 社区弃用。
此修复引入了一个新的配置项,名为 “share_service_inithost_offload”,默认值为 False,如果将其设置为 True,会将 ensure_share 操作放入线程池以加快 manila 共享服务的启动速度。
配置选项
[oslo_policy] policy_file的默认值已从policy.json更改为policy.yaml。正在使用自定义或先前生成的静态策略 JSON 文件的操作员应生成新的策略文件或将其转换为 YAML 格式。使用 oslopolicy-convert-json-to-yaml 工具以向后兼容的方式将 JSON 策略文件转换为 YAML 格式。
在 Wallaby 版本期间,API RBAC 策略具有新的默认值,但是,所有旧行为都保持不变,并且新的默认值不会启用。我们鼓励操作员通过
oslopolicy-sample-generator --namespace manila生成默认策略,并将其与您可能拥有的任何覆盖进行比较。这些新的默认规则可能会使您能够删除匹配的覆盖并减少策略维护负担。请参阅 OpenStack Identity Service 的 服务 API 保护文档,以了解角色、范围、用户角色以及这些更改背后的动机。为了能够使用系统范围的角色,您需要在 manila.conf 的[oslo_policy]部分启用enforce_scope配置选项。要强制执行新的默认值,必须从 manila.conf 的[oslo_policy]部分启用enforce_new_defaults配置选项。我们不建议在生产部署中启用新的默认值。manila 开发社区正在积极添加测试覆盖,并计划将修复程序回移植到 Wallaby 版本,并在我们发现任何缺陷时更新代码。请参阅未来的服务版本说明和管理员文档,以了解这些更改的最新信息和进展情况。
创建公共共享 (RBAC: “share:create_public_share”) 和将共享更新为公开可见 (RBAC: “share:set_public_share”) 现在仅限于在系统范围内运行的管理员用户。如果您希望保留允许所有用户创建公共共享或将私有共享更新为公共共享的旧行为,请调整您的策略文件覆盖。如果您这样做,请确保您的用户了解公开共享的安全影响。
弃用说明¶
CephFS 驱动程序的
cephfs_enable_snapshots配置选项已被删除。它在 Victoria 版本中已被弃用。现在始终启用快照支持。
从 Wallaby 版本开始,CephFS 驱动程序不再识别过时的额外规格
cephfs:data_isolated,因为它不再受 Ceph 社区支持。这种类型的数据隔离需要为每个共享专门分配一个 Ceph 池,并且扩展性和性能都很差。
CephFS 驱动程序已弃用
ceph_volume_client,转而使用 python rados 客户端连接到 Ceph 管理器守护程序与 Ceph 集群交互。这种新的连接方法将启用旧客户端不可用的功能,旧客户端已被 Ceph 社区弃用,并且将在 Quincy 版本中删除。
JSON 策略文件在 Victoria 开发周期中被
oslo.policy库弃用。因此,此弃用在 Wallaby 周期中被注意到,预计oslo.policy将在未来删除对它的支持。因此,操作员需要转换为 YAML 策略文件。请参阅升级说明以获取有关迁移任何自定义策略文件的详细信息。
安全问题¶
OSprofiler 支持需要在各种 OpenStack 服务之间传递跟踪信息。此信息由 manila.conf 配置文件中定义的 HMAC 密钥之一进行安全签名。为了允许跨项目跟踪,用户应使用所有他们想要跟踪的 OpenStack 服务共有的密钥。
已对 GET /share-access-rules API 强制执行 RBAC 策略检查,以确保用户有权访问访问规则所属的共享。有关更多详细信息,请参阅 bug 1917417。
错误修复¶
修复了 ONTAP NetApp 驱动程序中的一个问题,该问题导致使用 CIFS 协议提升的副本上的访问规则未被应用。有关更多详细信息,请参阅 Launchpad bug #1896949。
修复了 ONTAP NetApp 驱动程序中的一个问题,该问题强制在 HTTPS 请求期间进行 SSL 验证的 CA 证书的位置。它添加了 netapp_ssl_cert_path 配置,允许用户选择包含受信任 CA 证书或 CA 捆绑包的目录。如果设置为目录,则必须使用 OpenSSL 提供的 c_rehash 工具进行处理。如果未指定,它将使用 Mozilla 精心策划的根证书集合来验证 SSL 证书的可信度。有关更多详细信息,请参阅 Launchpad bug #1900191。
为了优化 NetApp ONTAP 驱动程序,此补丁缓存了驱动程序池的状态,并在每个共享服务器上重用,前提是池不由共享服务器分隔。它添加了 netapp_cached_aggregates_status_lifetime 选项,用于控制缓存值被认为是有效的时间。请参阅 Launchpad bug #1900469 以获取更多详细信息。
NetApp ONTAP 驱动程序现在已修复,可以正确配置和清理使用 Kerberos 安全服务的共享服务器,适用于集群式 ONTAP 8.3 或更高版本。访问规则现在根据共享服务器中配置的安全服务配置正确的 NFS 身份验证方法。请参阅 Launchpad Bug #1901189、Launchpad Bug #1904746 和 Launchpad Bug #1907669 以获取更多详细信息。
Bug #1900755:添加了一个驱动程序无关的异常,用于处理在尝试创建共享时安全服务上权限不足的情况。添加了一条用户消息,以便向最终用户提供有用的信息。请注意,供应商需要在他们的驱动程序中实现此补丁提供的异常,才能利用更方便的用户消息。
已修复调度器中存储协议过滤的一个错误。有关更多详细信息,请参阅 bug。
将共享导入 manila 的 API 有时允许通过不同的导出路径多次将共享“管理”到 manila 中。此 API 也会错误地禁止管理操作,并声称所请求的共享已经被管理。这两个问题现已修复。有关更多详细信息,请参阅 bug #1848608 和 bug #1893718。
修复了导致分页查询在指定 limit 参数时返回错误结果的问题。此外,通过将一些过滤操作移动到数据库来提高查询性能。
修复了 bug #1883506,该错误导致在删除或取消管理失败的共享时出现配额错误。
修复了一个问题,该问题可能导致由于 share replica create 和 shara replica update 操作之间的并发而导致共享副本在状态更新操作期间失败。请参阅 Launchpad Bug #1898924 以获取更多详细信息。
NetApp cDOT 驱动程序现在为支持 NFSv3 的 Windows 操作系统上的客户端设置所需的 NFS 选项。
LVM 驱动程序的共享清理已得到增强,可以重试由于挂载传播可能发生的已知错误。有关更多详细信息,请参阅 bug 1903773。
ZFSOnLinux 驱动程序的共享清理已得到增强,可以重试由于挂载传播可能发生的已知错误。有关更多详细信息,请参阅 bug 1903773。
新的用户消息现在会在使用 CephFS 共享创建访问规则时出错时提醒用户可能的补救措施。这包括提示用户不要使用 CephFS 或共享驱动程序禁止的 cephx 客户端用户。有关更多详细信息,请参阅 CVE-2020-27781 和 bug #1904015 <https://launchpad.net/bugs/1904015>`_。
共享调度程序将忽略较早的时间服务能力。有关更多详细信息,请参阅 bug 1908963。
manila 共享服务现在可以在服务启动过程中将 ensure_share 操作放入线程池。请参阅 Launchpad bug#1890833 以获取更多详细信息。
manila 共享服务现在遵守配置选项“share_service_inithost_offload”,并且可用于减少 manila 共享服务启动所需的时间。
修复了一个错误,如果在通用驱动程序下缩小卷之后扩展它,可能会导致错误的实际大小。请参阅 Launchpad bug 以获取更多详细信息。
正在调整可访问的 NFS 共享 0.0.0.0/24,使用通用驱动程序
NetApp ONTAP 驱动程序现在已修复,可以正确配置通过 ldap 安全服务提供的 SVM LDAP 客户端。现在,驱动程序会根据给定的安全服务参数选择正确的 LDAP 模式。RFC-2307 模式将设置为 Linux/Unix LDAP 服务器,RFC-2307bis 将设置为 Active Directory 服务器。在使用 Linux/Unix LDAP 服务器时,应使用服务器 IP 或主机名配置安全服务 server 参数。对于 Active Directory LDAP 服务器,必须使用 domain 参数配置域信息。用户在按主机或域名配置服务器时应提供至少一个 DNS 服务器。现在可以使用安全服务 ou 参数配置用于 LDAP 查询的基本搜索 distinguished name。请参阅 Launchpad Bug #1916534 以获取更多详细信息。
已修复调度器统计资源 API(/scheduler-stats/pools 和 /scheduler-stats/pools/detail),以防止在访问资源被拒绝时将任意回溯信息返回给调用者。
修复了 Zadara 驱动程序中的一个问题,以支持主机辅助迁移。需要使用共享迁移更新的现有访问规则将被删除并重新添加。
Dell EMC Manila 驱动程序:修复了 pool_stat 中的错误容量。 bug 1890372 powermax manila 以 MB 为单位返回大小,bug 1890375 vnx manila 以 MB 为单位返回大小,bug 1890376 unity manila 以字节为单位返回大小。