新闻详情

新闻详情

首页 / 资讯中心 / 详情

openubmc 对外扩展接口-redfish

发布时间:2026/11/13 15:25:41来源:尧图网络
openubmc 对外扩展接口-redfish
redfish 接口openUBMC的SDK已经提供了完备的Redfish协议管理能力并提供了强大的映射配置器简化北向接口的适配工作量。具体关于接口映射配置的介绍请参考《接口映射配置》映射配置增加 ​redfish 是一个独立的组件使用时先获取当前Redfish相关接口的映射配置仓cd /home/workspace git clone https://gitcode.com/openUBMC/rackmount.git打开rackmount文件夹后我们可以发现在interface_config/redfish/mapping_config下每一个文件对应着一个Redfish的路径。我们希望扩展一个Redfish接口路径为/redfish/v1/OpenUBMC首先在interface_config/redfish/mapping_config下创建文件OpenUBMC.json并粘贴以下代码{ Resources: [ { Uri: /redfish/v1/OpenUBMC, Interfaces: [ { Type: GET, RspBody: { odata.id: /redfish/v1/OpenUBMC, odata.type: #OpenUBMC.OpenUBMC, Id: OpenUBMC, Name: OpenUBMC, WelcomeMessage: ${ProcessingFlow[1]/Destination/WelcomeMessage} }, ProcessingFlow: [ { Type: Property, Path: /bmc/demo/MyMDSModel/1, Interface: bmc.demo.OpenUBMC.Community, Destination: { WelcomeMessage: WelcomeMessage } } ] } ] } ] }这里我们通过接口映射配置不仅将Redfish的uri资源进行了具体的定义并将Redfish的uri资源与openUBMC资源协作接口关联了起来开发者无需再编写Redfish的接口代码逻辑。组件构建 ​由于修改了rackmount仓库因此我们需要对rackmount仓库进行重新构建。为了和之前版本进行区分我们需要将rackmount/mds/service.json中的version字段进行更新bingo build --stagestable构建错误如果直接进行构建会发现出现以下错误rackmount/1.110.151openubmc/stable: ERROR: Package b351ec081a9b090aa4bbeeaf6d9f94e2f84ec30b build failed rackmount/1.110.151openubmc/stable: WARN: Build folder /root/.conan2/p/b/rackmcdea33fc3084c/b/.build/Debug Formatted output saved to /tmp/tmpcrg23dju.graph.json ERROR: rackmount/1.110.151openubmc/stable: Error in build() method, line 66 MapperCheck.check() JSONDecodeError: Expecting value: line 28 column 29 (char 1158) ERROR: 执行命令 conan create --name rackmount --version 1.110.151 . -pr:h profile.luajit.ini -pr:b profile.dt.ini -s:h build_typeDebug --user openubmc --channel stable -o */*:enable_luajitTrue --buildrackmount/* --buildmissing -f json --out-file/tmp/tmpcrg23dju.graph.json -tf 错误, 日志: /root/.bmcgo_log/bingo.log ERROR: Command [conan, create, --name, rackmount, --version, 1.110.151, ., -pr:h, profile.luajit.ini, -pr:b, profile.dt.ini, -s:h, build_typeDebug, --user, openubmc, --channel, stable, -o, */*:enable_luajitTrue, --buildrackmount/*, --buildmissing, -f, json, --out-file/tmp/tmpcrg23dju.graph.json, -tf] returned non-zero exit status 1. ERROR: 请查看日志信息原因Redfish 接口必须在 PrivilegeMap 里声明权限。构建时MapperCheck.check_privilege_map()一旦 PrivilegeMap 检查返回失败就会写死打印 NULL。检查逻辑是每个 Redfish GET 资源都必须在 PrivilegeMap 里声明权限。发现 OpenUBMC 没有配置后check_get_uri() 直接 return 停掉后面那些本来有 GET 的资源(Account、Chassis、Systems 等)都没登记进父资源表。接着检查 POST Action 时找不到父资源就刷出一长串「无法获取根资源」。我们在interface_config/redfish/mapping_config/OpenUBMC.json新增了URI/redfish/v1/OpenUBMC odata.type#OpenUBMC.OpenUBMC → 检查器用的类型名是 OpenUBMC PrivilegeMap.json 的 Mappings 里没有 Entity: OpenUBMC。但是在interface_config/redfish/mapping_config/AccountService/PrivilegeMap/PrivilegeMap.json的 Mappings 里没有 Entity:OpenUBMC。解决方案在interface_config/redfish/mapping_config/AccountService/PrivilegeMap/PrivilegeMap.json的 Mappings 里补一项和只读 GET 资源一样即可例如{ Entity: OpenUBMC, OperationMap: { GET: [ { Privilege: [Login] } ] } }这样就可以成功构建了。Created package revision 73509a8fdc12d10252fc7dafbf7eee53 Package b351ec081a9b090aa4bbeeaf6d9f94e2f84ec30b created Full package reference: rackmount/1.110.151openubmc/stable#b79e0304ae4852ab37a0bd8a6e093ba8:b351ec081a9b090aa4bbeeaf6d9f94e2f84ec30b#73509a8fdc12d10252fc7dafbf7eee53 Package folder /root/.conan2/p/b/rackmaa0b5f316b3f2/p Formatted output saved to /tmp/tmpfofshiv3.graph.json sr 文件检查开始 没有找到[sr]后缀的文件 sr 文件检查结束 构建成功不要去注释 check_privilege_map()那只是个人出包的临时绕过不是修法。整包构建 ​组件添加在manifest/build/product/BMC/openUBMC/manifest.yml文件dependencies:下面添加我们刚构建的组件dependencies: - conan: rackmount/1.110.151openubmc/stable整包构建cd /home/workspace/manifest bingo build构建完成后便可在manifest/output中查看构建包。整包测试 ​无硬件环境验证组件集成如果您当前没有真实的BMC硬件可以通过检查整包构建产物的方式验证新组件已被正确集成到产品包中。整包构建过程中会先在temp构建工作区生成集成后的rootfs目录(tmp_root)它就是hpm包内rootfs镜像的直接来源其中的文件会原样打包进升级包。因此只需检查该目录# 查看新增加的OpenUBMC.json ls temp/build_openUBMC_debug_dev/tmp_root/opt/bmc/apps/redfish/interface_config/mapping_config/OpenUBMC.json不会出现成opt/bmc/apps/rackmount这种独立目录。my_app是 Kepler 应用打包路径就是opt/bmc/apps/my_app所以你能在apps/下看到同名文件夹。rackmount是北向映射器package()会把内容拆进现有接口组件里opt/bmc/apps/redfish/ opt/bmc/apps/web_backend/ opt/bmc/apps/cli/ opt/bmc/apps/snmp/文档元数据在usr/share/doc/openubmc/rackmount/
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/13 0:43:49

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/12 23:59:09

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/13 10:09:00

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/13 13:31:48

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/13 16:11:45

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/13 0:02:27

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉