问题描述
通过POST /redfish/v1/Managers/:managerid/LogServices/Actions/Oem/{{OemIdentifier}}/CollectNPULog调用logservices.lua脚本里面的函数collect_npu_log,当前我的做法如下:
{
"Uri": "/redfish/v1/Managers/:managerid/LogServices/Actions/Oem/{{OemIdentifier}}/CollectNPULog",
"Interfaces": \[
{
"Type": "POST",
"ResourceExist": {
"${Statements/IsValidManagersId()}": true,
"${Statements/CollectNPULog()}": true
},
"ReqBody": {
"Type": "object",
"Required": true,
"Properties": {}
},
"RspBody": {},
"Statements": {
"IsValidManagersId": {
"Steps": \[
{
"Type": "Plugin",
"Formula": "utils.is_valid_managers_id(Uri.managerid)"
}
\]
},
"CollectNPULog": {
"Steps": \[
{
"Type": "Plugin",
"Formula": "orchestrator.logservices.collect_npu_log()"
}
\]
}
}
}
\]
}
即通过ResourceExist触发Statements的CollectNPULog来调用脚本,这样做可以成功但是否合理,有其他直接调用脚本的方法吗?
ProcessingFlow支持的类型Property/Method/List/Task/Paging没有可以调用脚本的。
环境信息
基于openubmc 2512_lts
~ ~ $ ipmcget -d version
------------------- openUBMC INFO -------------------
IPMC CPU: Hi1711
IPMI Version: 2.0
Active openUBMC Version: 1.17.10
Active openUBMC Build: 01
Active openUBMC Built: 14:33:07 Mar 27 2026
Backup openUBMC Version: 1.17.10
Available openUBMC Version: 1.00.16
Available openUBMC Build: 01
Active Uboot Version: 21.3.10.1 (09:53:00 Dec 30 2025)
Backup Uboot Version: 21.3.10.1 (09:53:00 Dec 30 2025)
Active Secure Bootloader Version: 21.3.10.1 (09:51:37 Dec 30 2025)
Backup Secure Bootloader Version: 21.3.10.1 (09:51:37 Dec 30 2025)
Active Secure Firmware Version: 21.3.10.1 (09:51:38 Dec 30 2025)
Backup Secure Firmware Version: 21.3.10.1 (09:51:38 Dec 30 2025)
Active BMCSDK Version: 5.12.00.01
----------------- Product INFO -----------------
Product ID: 0x0000
Product Name: Atlas 800I A3
Product Unique ID: 0x000000010302BF02
Active BIOS Version: (U75)21.23
Backup BIOS Version: 21.23
重现步骤
见问题描述
期望结果
url能直接调用lua脚本
实际结果
无
尝试过的解决方案
无
分析结论
无