Skip to content

[Feature]baremetal-agent 应支持配置 Redfish System ID 路径和认证方式(Basic / Session) #24911

Description

@z417

版本: v4.0.2
组件: baremetal-agent

问题描述
baremetal-agent 默认通过 Redfish 接口获取硬件信息(制造商、型号、序列号等)。而部分服务器的 Redfish 实现存在以下两个不兼容点:

  1. 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"
    }

  2. 认证方式不支持 Basic Auth(或要求 Token)
    部分 BMC 要求使用 Session Token(X-Auth-Token),导致返回 401 Unauthorized。虽然通过创建 Session 可以获取 Token,但代码中缺少该流程。

期望增强
为 baremetal-agent 增加以下配置能力(通过 ConfigMap 或命令行参数):

  1. 可配置的 Redfish System ID 路径
    允许覆盖默认的 /redfish/v1/Systems/1,例如指定为 /redfish/v1/Systems/system。

  2. 可配置的 Redfish 认证方式

支持 Basic Auth(默认)
支持 Session Token 模式:自动创建 Session,获取 Token,并在后续请求中携带 X-Auth-Token 头。

  1. 可选:支持 Redfish 端点 URL 模板
    例如允许用户自定义完整路径:/redfish/v1/Systems/{SystemID}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions