当前版本为25.12
os端口IBMA已经配置好了
web界面可以监控到内存CPU的状态
但是在web界面查看ibma版本是查看不了的
回退到25.09版本是可以在上述界面查看到IBMA状态的
25.12版本组件更改如下
当前版本为25.12
os端口IBMA已经配置好了
web界面可以监控到内存CPU的状态
但是在web界面查看ibma版本是查看不了的
回退到25.09版本是可以在上述界面查看到IBMA状态的
25.12版本组件更改如下
答案内容由AI生成,仅供参考:
根据您提供的信息,openUBMC 25.12 版本在 Web 界面中无法显示 iBMA 版本状态,而 25.09 版本正常,此问题与近期代码和配置变更密切相关。以下从系统架构、变更点、问题根源及解决方案进行综合分析。
当前状态:
openUBMC 25.1225.09 版本可正常显示核心问题:
WebUI 无法通过 REST API 正确获取并渲染 iBMA 状态信息,尽管后端服务可能仍在运行。
您提供了多个文件的修改记录,以下是关键点解析:
// src/api/reqPath.ts
const ibma = {
getIbmaData: '/UI/Rest/BMCSettings/iBMA',
getIbmaLogData: '/UI/Rest/BMCSettings/iBMA/Logs',
}
该路径定义正确,与已知知识一致(/UI/Rest/BMCSettings/iBMA 是标准接口)。
![]()
GetIbmaData方法用于请求 iBMA 数据,是前端获取信息的核心入口。
// mock/ibma/ibma.ts
url: '/UI/Rest/BMCSettings/iBMA/Monitor'
问题点:
该路径 /Monitor 并非常规标准接口。当前系统中 GetIbmaData 应访问 /UI/Rest/BMCSettings/iBMA,而非 /Monitor。
可能导致前端 Mock 数据测试时使用了错误路径,导致真实接口未被调用。
// src/pages/Manager/Ibma/ibma.server.ts
const BMA = 'iBMA';
此处将 BMA 指向 iBMA,属于兼容性处理。
但由于 BMA 和 iBMA 在系统中实际为两个不同组件(BMA 为旧代理,iBMA 为新代理),此类别名可能导致逻辑混淆。
根据知识图谱:iBMA 是 BMA 的演进版本,但在部分系统中二者共存且优先级不同。
- conan: rackmount
options:
oem: huawei
此配置表明系统为华为白牌机型,应启用 iBMA 功能模块。
但需确认 rackmount 组件是否在构建时正确启用了 iBMA 的 WebUI 集成选项。
若构建时未开启
iBMA Web Management Interface,则即使服务运行,UI 也无法显示状态。
结合知识库与变更内容,问题可能源于以下几点:
| 原因 | 说明 |
|---|---|
使用 /Monitor 而非标准 /Base 或 / 接口,导致请求失败或返回空数据 |
|
在 25.12 中可能移除了 iBMA Management Interface 的路由或组件引用 |
|
| 即使服务存在,若构建时未启用 Web 显示功能,则界面不展示状态 | |
| iBMA 需通过 D-Bus 或 Redfish 向 host_agent 上报版本信息,否则 Web 无法获取 | |
| 已知问题:在 openEuler OS 上,iBMA 软件信息在 Web 界面无法显示(见 KG) |
systemctl status ibma
# 或使用 ibmacli
ibmacli service status
确保服务处于
active (running)状态。
# 查看日志是否有通信超时
tail -f /var/log/ibma/common.log | grep edma
若出现
no response in 10s错误(如文档块1所示),说明edma驱动通信异常,影响数据上报。
通过浏览器或 curl 访问:
https://<bmc_ip>/UI/Rest/BMCSettings/iBMA
应返回 JSON 格式的 iBMA 状态、版本、运行信息等。
若返回404或空数据,则接口未启用或后端未注册。
WebUI Component 版本是否支持 25.12manifest.yml 中是否启用 webui_ibma_enabled: true 类似选项iBMA Management Interface 编译重点检查:
options 中是否有关于 enable_ibma_web、include_ibma_ui 的布尔开关file mappings 是否仍包含 iBMA 相关页面资源将 mock/ibma/ibma.ts 中的:
url: '/UI/Rest/BMCSettings/iBMA/Monitor'
改为标准路径:
url: '/UI/Rest/BMCSettings/iBMA'
并确保后端 Rest/BMCSettings/IBMA/Base 接口已注册。
确保以下内容存在于系统中:
iBMA Management Interface 页面组件已编译进 WebUIiBMA Management 菜单项在路由配置中注册BMCSettings 下的 iBMA 接口已正确映射参考知识图谱中提到:Update Interface 缺失 是一个常见问题,说明管理界面不完整。
在 manifest.yml 中明确启用:
options:
oem: huawei
enable_ibma_web: true
include_bma_management_screen: true
# 重启 iBMA 服务以重新注册
ibmacli service restart
# 检查 D-Bus 是否注册成功
busctl list | grep ibma
| 实体 | 说明 |
|---|---|
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 服务状态 |
openUBMC 25.12 无法在 Web 界面查看 iBMA 状态的根本原因极可能是:
- 前端错误地使用
/Monitor路径访问非标准接口- 构建配置中未正确启用 iBMA Web 管理界面
- iBMA 服务未成功向 WebUI 上报自身版本信息
mock/ibma/ibma.ts 中的 URL 路径manifest.yml 是否启用 iBMA Web 功能curl 验证 /UI/Rest/BMCSettings/iBMA 接口是否返回有效数据如能提供 curl 请求结果或 Web 浏览器开发者工具中的网络请求截图,可进一步精确定位问题所在。
相关链接:
当前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
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提供形式一致来尝试修复该问题。