
AMI OpenRedfish 开发记录
AMI OpenRedfish 开发记录
简介
开源仓库地址
https://github.com/ami-megarac/MORF-REST-Server
语言
lua
增加命令
增加命令对应url,在redfish-xxxxx-URI.lua
内,用于匹配对应redfish命令URI
增加对应entity
, method
, hande
在对应redfish-xxxx-entity
, method
, hander.lua
内
entity: 猜测用于说明对应层级和调用关系,未尝试不增加会造成的异常
method: 用于设置redfish命令权限,例如只支持GET或GET, POST均支持
hander: 用于对应实际lua代码操作接口,具体使用问题可在文件头部require中查询, 推荐直接使用已经编写好的handler
在action-xxx.cmdr内增加一条带对应命令中所有Redfish参数的的redis数据库初始化
SET XXXX Redifsh:v1:Managers:1:LogServices:Actions:SOLDump:Name "SOLDump"
redfish操作接口修改
修改文件在redfish-xxxx-hander.lua requre
寻找
只需要修改对应的XXXXHander
接口对应的POST/GET/SET/PUT
等函数,函数名为XXXXHander:GET
开头直接获取取得的URI,URI对应关系(lua table 下表对应C语言中数组,表现形式类似json,下表从1开始)
-- 以 Redifsh:v1:Managers:1:LogServices:Actions:Oem:HK:CollectAllLog 为例
url[1] = "Managers"
url[2] = "1"
url[3] = "LogServices"
url[4] = "Actions"
url[5] = "Oem"
url[6] = "HK"
url[7] = "CollectAllLog"
可直接匹配字符串验证,成功后修改代码逻辑
日志打印
对应lua文件头部增加
log = require("trubo.log")
增加打印
log.warnging("Print Test!")
查看打印
- ssh 进入bmc小系统
- 重启redfsih-server
/etc/init.d/redfish-server restart
- 输入对应命令查看
Redis数据库使用
- ssh 进入bmc小系统
- redis-cli -s /run/var/redis/redis.sock进入redis命令行
- 使用KEYs、DEL等命令修改查询
验证
场内开发使用curl验证,常见命令格式可见 /home/deep/note/dratf.txt
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 开心大佬
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果