webui兼容性问题

问题描述

使用25.12版本的后端和社区最新的前端有严重的不兼容性问题
网页上缺少许多部件信息

参考了 【webui】web改动是否应该考虑向前兼容性 - Interface SIG - openUBMC 论坛的帖子

想知道解决方案里说的配套的release版本是指什么版本

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

总结

项目 说明
问题本质 WebUI 前端版本与 25.12 后端版本不兼容
根本原因 接口变更未保证向后兼容,组件解耦导致版本错配
“配套 release 版本”含义 指与 openUBMC 25.12 官方发布的、经过测试的 WebUI、rackmount 等组件组合
解决方法 使用官方配套版本,避免混用社区开发分支代码

:white_check_mark: 最佳实践:始终使用由 manifest 文件统一管理的组件版本集,确保整个系统的前后端一致性。

点击此处查看详细分析解答

WebUI 兼容性问题分析与解决方案

问题描述

当使用 25.12 版本的后端社区最新前端(WebUI) 配合时,系统出现严重的兼容性问题,主要表现为:

  • 大量部件信息被隐藏:包括 CPU、内存、存储、网卡等关键硬件信息无法正常显示。
  • 功能异常:例如固件升级失败,上传固件时提示“固件上传失败,请稍后重试”。

问题原因

根据知识库中的信息和社区讨论,该兼容性问题的根本原因如下:

1. 前后端接口不匹配

  • 后端(25.12版本)前端(最新社区版本) 使用了不同版本的 API 接口标准。
  • 最新的 WebUI 前端进行了接口重构,而 25.12 后端未能完全适配这些变更,导致数据无法正确获取和展示。

2. 缺乏向前/向后兼容性设计

  • 社区最新的 WebUI 改动(如 PR:修复首页加载不全、支持固件升级暂存等)未充分考虑向前兼容性
  • 具体表现:
    • 新版本 WebUI 使用了 isStage 参数进行固件“暂存”,但 25.12 版本的 rackmount 组件不支持该参数,导致接口调用失败。
    • 页面展示逻辑依赖于后端返回的 XXXsupported 参数判断,但 25.12 版本的默认值与当前前端实现逻辑不一致,导致部件信息被错误隐藏。

3. 核心问题:组件解耦但版本错配

OpenUBMC 的架构是组件解耦的,即 WebUI、rackmount、manifest 等可以独立开发和发布。但这也带来了风险——若不严格匹配版本,极易引发兼容性问题


解决方案中“配套的 release 版本”指什么?

在社区回复中提到的“建议使用配套的 release 版本”,具体指:

:white_check_mark: 与 25.12 后端完全兼容的 WebUI 前端版本

WebUI 1.70.x 系列1.90.x 系列中明确标记为与 openUBMC 25.12 兼容的稳定版本

具体版本参考线索:

组件 推荐版本 来源说明
WebUI 1.70.53@openUBMC.release/rc1.90.x@openubmc/stable 25.12 版本对应的锁文件和发布分支中定义的版本
rackmount 1.70.172 或与 WebUI 同批次发布的版本 社区用户 神码_王加凯 在解决 iBMA 问题时使用的配套版本
manifest openUBMC 25.12 的官方 manifest 配置 定义了所有组件的兼容版本集合

重要提示:不应使用社区 main 分支的最新 WebUI,因其可能包含仅适用于未来版本(如 26.03)的改动。


推荐解决方案

  1. 使用配套 release 版本

    • 确保 WebUI、rackmount、backend 均来自 openUBMC 25.12官方 release 包已验证的稳定分支
    • 不要混合使用 25.12 后端与社区 main 分支的 WebUI。
  2. 检查并锁定 Conan 依赖版本

    • 在构建时,通过 Conan 锁文件(lockfile)确保所有依赖组件版本一致。
    • 示例配置:
      - conan: webui/1.70.53@openubmc/stable
      - conan: rackmount/1.70.172@hw.ibmc.release/rc
      
  3. 避免直接修改 WebUI 路由或接口

    • 如非必要,不要手动修改 mock/ibma/ibma.ts 等接口映射文件,以免引入兼容性问题。
  4. 未来建议

    • WebUI 团队将在后续版本中通过 依赖声明 明确标明所需后端版本。
    • 探索在构建阶段(CICD)加入版本兼容性检查,防止不匹配组件被集成。

总结

项目 说明
问题本质 WebUI 前端版本与 25.12 后端版本不兼容
根本原因 接口变更未保证向后兼容,组件解耦导致版本错配
“配套 release 版本”含义 指与 openUBMC 25.12 官方发布的、经过测试的 WebUI、rackmount 等组件组合
解决方法 使用官方配套版本,避免混用社区开发分支代码

:white_check_mark: 最佳实践:始终使用由 manifest 文件统一管理的组件版本集,确保整个系统的前后端一致性。

25.12的后端需要配合25.12的前端使用,不能用最新的前端版本

是指这个版本吗

是的