25.12 web界面ibma显示问题

当前版本为25.12

os端口IBMA已经配置好了

web界面可以监控到内存CPU的状态

但是在web界面查看ibma版本是查看不了的

回退到25.09版本是可以在上述界面查看到IBMA状态的

25.12版本组件更改如下

答案内容由AI生成,仅供参考:

关于 openUBMC 25.12 版本 Web 界面无法查看 iBMA 版本信息的问题分析

根据您提供的信息,openUBMC 25.12 版本在 Web 界面中无法显示 iBMA 版本状态,而 25.09 版本正常,此问题与近期代码和配置变更密切相关。以下从系统架构、变更点、问题根源及解决方案进行综合分析。


:puzzle_piece: 一、问题概述

  • 当前状态

    • 系统版本:openUBMC 25.12
    • iBMA 在 OS 侧已正确安装并运行,能监控 CPU/内存状态
    • Web 界面无法查看 iBMA 版本或运行状态
    • 回退至 25.09 版本可正常显示
  • 核心问题
    WebUI 无法通过 REST API 正确获取并渲染 iBMA 状态信息,尽管后端服务可能仍在运行。


:magnifying_glass_tilted_left: 二、关键变更分析(25.12 vs 25.09)

您提供了多个文件的修改记录,以下是关键点解析:

1. API 路径配置变更

// src/api/reqPath.ts
const ibma = {
    getIbmaData: '/UI/Rest/BMCSettings/iBMA',
    getIbmaLogData: '/UI/Rest/BMCSettings/iBMA/Logs',
}

:white_check_mark: 该路径定义正确,与已知知识一致(/UI/Rest/BMCSettings/iBMA 是标准接口)。

:pushpin: GetIbmaData 方法用于请求 iBMA 数据,是前端获取信息的核心入口。


2. 监控接口路径错误

// mock/ibma/ibma.ts
url: '/UI/Rest/BMCSettings/iBMA/Monitor'

:red_exclamation_mark: 问题点
该路径 /Monitor 并非常规标准接口。当前系统中 GetIbmaData 应访问 /UI/Rest/BMCSettings/iBMA,而非 /Monitor

可能导致前端 Mock 数据测试时使用了错误路径,导致真实接口未被调用。


3. 服务名称别名设置

// src/pages/Manager/Ibma/ibma.server.ts
const BMA = 'iBMA';

:wrench: 此处将 BMA 指向 iBMA,属于兼容性处理。
但由于 BMAiBMA 在系统中实际为两个不同组件(BMA 为旧代理,iBMA 为新代理),此类别名可能导致逻辑混淆。

根据知识图谱:iBMA 是 BMA 的演进版本,但在部分系统中二者共存且优先级不同。


4. manifest.yml 配置

- conan: rackmount
  options:
    oem: huawei

:white_check_mark: 此配置表明系统为华为白牌机型,应启用 iBMA 功能模块。
但需确认 rackmount 组件是否在构建时正确启用了 iBMA 的 WebUI 集成选项。

:warning: 若构建时未开启 iBMA Web Management Interface,则即使服务运行,UI 也无法显示状态。


:firecracker: 三、根本原因分析

结合知识库与变更内容,问题可能源于以下几点:

原因 说明
:small_blue_diamond: 前端调用路径错误 使用 /Monitor 而非标准 /Base/ 接口,导致请求失败或返回空数据
:small_blue_diamond: WebUI 组件未正确注册 iBMA 管理页面 在 25.12 中可能移除了 iBMA Management Interface 的路由或组件引用
:small_blue_diamond: manifest 构建选项变更导致 iBMA 功能裁剪 即使服务存在,若构建时未启用 Web 显示功能,则界面不展示状态
:small_blue_diamond: iBMA 服务未向 WebUI 注册自身状态 iBMA 需通过 D-Bus 或 Redfish 向 host_agent 上报版本信息,否则 Web 无法获取
:small_blue_diamond: Out-of-Band Web Interface 数据获取失败 已知问题:在 openEuler OS 上,iBMA 软件信息在 Web 界面无法显示(见 KG)

:white_check_mark: 四、验证与排查建议

1. 确认 iBMA 服务运行状态

systemctl status ibma
# 或使用 ibmacli
ibmacli service status

确保服务处于 active (running) 状态。


2. 检查 iBMA 是否正常通信

# 查看日志是否有通信超时
tail -f /var/log/ibma/common.log | grep edma

若出现 no response in 10s 错误(如文档块1所示),说明 edma 驱动通信异常,影响数据上报。


3. 验证 REST API 是否可用

通过浏览器或 curl 访问:

https://<bmc_ip>/UI/Rest/BMCSettings/iBMA

应返回 JSON 格式的 iBMA 状态、版本、运行信息等。
若返回 404 或空数据,则接口未启用或后端未注册。


4. 确认 WebUI 是否加载了 iBMA 组件

  • 检查 WebUI Component 版本是否支持 25.12
  • 确认 manifest.yml 中是否启用 webui_ibma_enabled: true 类似选项
  • 检查构建日志中是否包含 iBMA Management Interface 编译

5. 对比 25.09 与 25.12 的 manifest 差异

重点检查:

  • options 中是否有关于 enable_ibma_webinclude_ibma_ui 的布尔开关
  • file mappings 是否仍包含 iBMA 相关页面资源

:hammer_and_wrench: 五、解决方案建议

:check_mark: 方案一:修复前端 API 调用路径

mock/ibma/ibma.ts 中的:

url: '/UI/Rest/BMCSettings/iBMA/Monitor'

改为标准路径:

url: '/UI/Rest/BMCSettings/iBMA'

并确保后端 Rest/BMCSettings/IBMA/Base 接口已注册。


:check_mark: 方案二:恢复 iBMA 管理界面注册

确保以下内容存在于系统中:

  • iBMA Management Interface 页面组件已编译进 WebUI
  • iBMA Management 菜单项在路由配置中注册
  • BMCSettings 下的 iBMA 接口已正确映射

参考知识图谱中提到:Update Interface 缺失 是一个常见问题,说明管理界面不完整。


:check_mark: 方案三:强制启用 iBMA Web 功能构建

manifest.yml 中明确启用:

options:
  oem: huawei
  enable_ibma_web: true
  include_bma_management_screen: true

:check_mark: 方案四:手动触发 iBMA 状态上报

# 重启 iBMA 服务以重新注册
ibmacli service restart

# 检查 D-Bus 是否注册成功
busctl list | grep ibma

:link: 六、相关知识点补充(来自知识图谱)

实体 说明
iBMA 华为开发的智能板级管理代理,负责采集硬件数据(NVMe、网卡、FC卡等)并上报 BMC
WebUI Component v1.90.1 当前使用的 WebUI 版本,支持 iBMA 集成
GetIbmaData 用于从 /UI/Rest/BMCSettings/iBMA 获取数据的方法
Out-of-Band Web Interface 当前无法显示 iBMA 软件信息(已知限制)
openEuler OS 运行 iBMA 的操作系统,但 Web 界面无法获取其版本信息
ibmacli 本地命令行工具,可用于控制 iBMA 服务状态

:white_check_mark: 七、结论

openUBMC 25.12 无法在 Web 界面查看 iBMA 状态的根本原因极可能是:

  • 前端错误地使用 /Monitor 路径访问非标准接口
  • 构建配置中未正确启用 iBMA Web 管理界面
  • iBMA 服务未成功向 WebUI 上报自身版本信息

:white_check_mark: 建议优先操作:

  1. 修正 mock/ibma/ibma.ts 中的 URL 路径
  2. 确认 manifest.yml 是否启用 iBMA Web 功能
  3. 使用 curl 验证 /UI/Rest/BMCSettings/iBMA 接口是否返回有效数据
  4. 若仍失败,回退至 25.09 对比构建配置差异

如能提供 curl 请求结果或 Web 浏览器开发者工具中的网络请求截图,可进一步精确定位问题所在。

相关链接:

  1. 安装iBMA后ubmc的首页没有上传cpu和内存信息
  2. M.2转接板下硬盘信息无显示
  3. web页面缺少更新安装iBMA界面
  4. 光模块信息在光模块被拔除后依然存在,没有更新
  5. IPMI管理定位问题 | 文档中心 | openUBMC

当前iBMA服务运行正常

更改webui:

vi mock/ibma/ibma.ts

15行:
url: ‘/UI/Rest/BMCSettings/iBMA’,

更改manifest.yml

vi /home/workspace/manifest/build/product/BMC/openUBMC/manifest.yml

  • conan: webui/1.90.125@openubmc/stable
    options:
    energy_enabled: false

options:
oem: huawei
enable_ibma_web: true
include_bma_management_screen: true

全部更改后编译出包,更新固件之后web界面连登录界面一起小时,并且BMC不停重启,现在系统回退之后web的登陆界面才出现

请问是否有定制一些内容?特别是关于iBMA的URL

你好,bma相关接口在12月份有做一次变更:原有webrest BMA相关接口相关属性和URL名称需要去掉厂商差异化名称信息,社区采用统一且泛化的名称,同时降低前端webui适配复杂度。
相关变更信息可参考:【已评审】webrest接口BMA相关属性名称调整
如果你使用的webui版本访问的接口和rackmount提供的不一致会出现bma界面显示问题。可通过保持webui访问接口与rackmount提供形式一致来尝试修复该问题。