Xena 系列 (3.8.0 - 3.12.x) 发布说明¶
3.12.6-5¶
错误修复¶
修复了 sushy 在向 redfish 服务发出请求时,无法将读取/连接超时传递给请求的错误。这意味着,时机不巧的故障可能导致调用 sushy 的 Python 进程无限期地冻结。
修复了 iDRAC 固件版本 6.00.02.00 或更高版本在删除卷时出现的“不支持的参数名称 @Redfish.OperationApplyTime”错误。
正确处理在刷新身份验证令牌后重试请求时出现的错误。
3.12.6¶
错误修复¶
为所有请求类型(除了现有的 GET 方法之外),增加了对 iDRAC 错误代码 SYS518 和消息“iDRAC 当前无法显示任何信息,因为数据源不可用”的重试。这有助于修复在连续删除一组卷后,iDRAC 在删除每个卷后重新加载时出现的一种已知间歇性问题。
正确处理硬件在虚拟媒体操作中需要
TransferProtocolType时出现的错误代码Base.1.5.PropertyMissing。
3.12.5¶
错误修复¶
添加了额外的检查,用于处理 BMC 通过 @Redfish.Settings 提供 SettingsObject URI,但该 URI 不允许设置启动相关属性的情况。在向 SettingsURI 发送 PATCH 请求之前,会发出 GET 请求以验证它是否包含要更新的属性。如果缺少这些属性,则请求将针对 System URI 发出。 类似于此更改解决的问题通常会表现为 Redfish 响应包含类似于以下内容的错误消息:
MessageId: Base.1.8.PropertyNotWritable, Message: The property BootSourceOverrideEnabled is a read only property and cannot be assigned a value.
3.12.4¶
错误修复¶
为了避免与最新版本固件出现超时,我们需要增加服务器端重试次数。例如,在 idrac 固件系列 5.x 中,操作之间的时间间隔几乎为 20 秒,而在 4.x 系列中为 10 秒。
3.12.3¶
错误修复¶
修复了潜在情况,底层
requests库中的异常可能会被传递到sushy,导致客户端应用程序可能无法理解发生了错误。现在,当出现任何属于requests库的RequestException的异常时,将返回 sushyConnectionError异常。
修复了与某些 BMC 的 ETag 交互中不可靠的行为,因为机会性地使用压缩响应可能会导致 BMC 将 ETag 响应更改为“Weak”,这是可以预期的,因为 ETag 代表绝对的字节对字节响应一致性,而压缩无法可靠地保证该协议。引入客户端感知“Weak” ETag 可能不被服务器期望,并且服务器可能会拒绝响应,因为 ETag 在我们响应或与资源交互时不是“Strong” ETag。
因此,请求不再提供响应压缩作为可接受的可能性,这总体影响很小,尤其与保持一致的 BMC 行为和交互的价值相比。
修复了 sushy 连接器对象处理中的问题,在使用
basic身份验证的 Sushy 客户端在凭据停止有效时不会引发 AccessError 异常。现在,我们显式检查是否正在使用basic身份验证,并在遇到 AccessError 时引发异常。
更改了 PATCH 请求中的 eTag 处理方式:首先,使用原始 eTag。如果出现故障,如果提供的 eTag 是弱 eTag,则通过删除弱前缀将其转换为强格式。如果此方法不适用或失败,则最终尝试完全省略 eTag。通过这种方法,如果 BMC 按照预期处理 eTag,则不会应用任何解决方法,并且在出现故障时,会尝试已知的解决方法,从而提高整体弹性。
3.12.2¶
错误修复¶
为了支持需要其中一种的供应商实现,提供了未剥离的 Etag 版本,以及剥离的版本。
3.12.1¶
错误修复¶
将 SuperMicro 机器的虚拟介质启动设备字符串从“Cd”更改为“UsbCd”,以匹配其特定的命名约定。
如果可用,使用带有 Etag 的标头来设置启动选项。
修复了基于
Session的身份验证刷新出现的问题,之前的刷新尝试失败可能导致回退到Basic身份验证并会静默失败。客户端库现在尝试重新进行身份验证。
修复了当基于
Session的身份验证刷新失败,并且由于AccessError无法重新建立时出现的静默失败问题。如果发生这种情况,现在将显式引发AccessError异常,而不是尝试回退到Basic身份验证。
修复了在尝试执行身份验证操作时发生
ConnectionError异常时,组合的Session和Basic身份验证支持回退到Basic身份验证的问题。ConnectionError异常表明网络传输问题,应进行调查。现在将引发ConnectionError异常。
防止组合的
Session和Basic身份验证支持在建立基于Session的身份验证后回退到Basic身份验证。这应被视为潜在的安全问题或需要潜在客户端重新初始化的环境更改。这被公开为AccessError异常。继续对 Sushy 库进行操作将尝试重新进行身份验证(如果可能)。
解决了由于某些 BMC(例如,在 Nokia 服务器上)缺少请求有效负载中的 TransferProtocolType 参数而导致的 virtualmedia 附加失败。这是通过在这些情况下添加重试更新的有效负载的 virtualmedia InsertMedia 的功能来实现的。
修复了与需要使用 @Redfish.Settings 资源中指定的特定 SettingsObject URI 才能设置 BootSourceOverride 或类似属性的 BMC 不兼容的问题。例如,这在 Nokia 服务器上是必需的。
3.12.0¶
新特性¶
VirtualMedia.insert_media调用现在支持imageURI 的凭据。
错误修复¶
将 VirtualMedia::insert_media() 中“WriteProtected”参数的默认值从 False 更改为 True。 这是为了匹配 Redfish schema 2021.1 和 VirtualMedia.v1_3_0:https://redfish.dmtf.org/schemas/v1/VirtualMedia.v1_3_0.json