版本: v4.0.2
组件: baremetal-agent
问题描述
baremetal-agent 默认通过 Redfish 接口获取硬件信息(制造商、型号、序列号等)。而部分服务器的 Redfish 实现存在以下两个不兼容点:
-
System ID 路径不是标准的 (/redfish/v1/Systems/system)
{
"@odata.context": "/redfish/v1/$metadata#ComputerSystemCollection.ComputerSystemCollection",
"@odata.id": "/redfish/v1/Systems",
"@odata.type": "#ComputerSystemCollection.ComputerSystemCollection",
"Members": [
{
"@odata.id": "/redfish/v1/Systems/system"
}
],
"Members@odata.count": 1,
"Name": "Computer System Collection"
}
-
认证方式不支持 Basic Auth(或要求 Token)
部分 BMC 要求使用 Session Token(X-Auth-Token),导致返回 401 Unauthorized。虽然通过创建 Session 可以获取 Token,但代码中缺少该流程。
期望增强
为 baremetal-agent 增加以下配置能力(通过 ConfigMap 或命令行参数):
-
可配置的 Redfish System ID 路径
允许覆盖默认的 /redfish/v1/Systems/1,例如指定为 /redfish/v1/Systems/system。
-
可配置的 Redfish 认证方式
支持 Basic Auth(默认)
支持 Session Token 模式:自动创建 Session,获取 Token,并在后续请求中携带 X-Auth-Token 头。
- 可选:支持 Redfish 端点 URL 模板
例如允许用户自定义完整路径:/redfish/v1/Systems/{SystemID}
版本: v4.0.2
组件: baremetal-agent
问题描述
baremetal-agent 默认通过 Redfish 接口获取硬件信息(制造商、型号、序列号等)。而部分服务器的 Redfish 实现存在以下两个不兼容点:
System ID 路径不是标准的 (/redfish/v1/Systems/system)
{
"@odata.context": "/redfish/v1/$metadata#ComputerSystemCollection.ComputerSystemCollection",
"@odata.id": "/redfish/v1/Systems",
"@odata.type": "#ComputerSystemCollection.ComputerSystemCollection",
"Members": [
{
"@odata.id": "/redfish/v1/Systems/system"
}
],
"Members@odata.count": 1,
"Name": "Computer System Collection"
}
认证方式不支持 Basic Auth(或要求 Token)
部分 BMC 要求使用 Session Token(X-Auth-Token),导致返回 401 Unauthorized。虽然通过创建 Session 可以获取 Token,但代码中缺少该流程。
期望增强
为 baremetal-agent 增加以下配置能力(通过 ConfigMap 或命令行参数):
可配置的 Redfish System ID 路径
允许覆盖默认的 /redfish/v1/Systems/1,例如指定为 /redfish/v1/Systems/system。
可配置的 Redfish 认证方式
支持 Basic Auth(默认)
支持 Session Token 模式:自动创建 Session,获取 Token,并在后续请求中携带 X-Auth-Token 头。
例如允许用户自定义完整路径:/redfish/v1/Systems/{SystemID}