内部会话缓存

redfish 硬件类型及其派生接口使用内置会话缓存,这可以防止 Ironic 在尝试连接到 BMC 的任何原因时每次都重新进行身份验证。

这包括缓存的连接器对象,这些对象由 redfish_usernameredfish_passwordredfish_verify_ca,以及最终 redfish_address 的唯一组合使用和跟踪。 更改其中任何一个值都将触发创建新的会话。 redfish_system_id 值明确不被考虑,因为 Redfish 具有一个 BMC 到多个系统的使用模型,Ironic 也支持该模型。

会话缓存的默认大小是每个 conductor 的 1000 个会话。 如果您正在运行一个具有更多 Redfish BMC 的部署,建议您适当调整该数字。 这可以通过 API 服务配置文件 redfish.connection_cache_size 进行调整。

会话缓存过期

默认情况下,只要会话没有遇到身份验证、连接或其他无法解释的错误,就会尽可能长时间地将其缓存在内存中。

在正常情况下,当缓存已满时,会话将仅按最旧的顺序从缓存中推出。 会话缓存中没有基于时间的条目过期。

当然,缓存仅位于内存中,重新启动 ironic-conductor 也会导致缓存从头开始重建。 如果这是由于任何持久的连接问题造成的,这可能是意外情况的迹象,请考虑联系 Ironic 开发社区寻求帮助。