Redfish 模型工具:Redfish Mockup Creator 和 Redfish Mockup Server

本文介绍了DMTF开发的RedfishMockup Creator用于生成Redfish模型,以及RedfishMockup Server作为模拟器,接收并响应GET请求的工具。通过Docker部署,它们助力开发者在没有真实BMC的情况下进行Redfish开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(*如果之后架构有变,这边不会更新) 

GitHub - DMTF/Redfish-Mockup-Creator: A Python3 program that creates a Redfish Mockup folder structure from a real live Redfish service.

GitHub - DMTF/Redfish-Mockup-Server: A simple Python 3.4 program that can be copied into a folder at the top of any Redfish mockup and can serve Redfish requests on the specified IP/port.

以上两个tool都是由DMTF开发的,Mockup 的中文意思是实物模型,Redfish Mockup Creator 可以去构建指定Redfish Services Resource 模型,而Redfish Mockup Server 我对它的定位在模拟器(emulator),可以喂给它指定的模型(Redfish Mockup),Server跑起来之后可以对它请求(request) GET method

Redfish Mockup Creator

Redfish Mockup Creator 是一个帮你把Redfish Service 的模型给建立出来的工具,先看一下执行结果

安装和执行的方式可以分为本机系统,或是使用docker,这边我推荐使用docker,因为可以解决环境问题,像我的作业系统是ubuntu 18 就没办法执行

本机系统示例 (Native system example)

从git下载 

git clone https://github.com/DMTF/Redfish-Mockup-Creator.git

执行(如果预设ptyhon版本不是3的话,python 要改成python3)

python redfishMockupCreate.py -u root -p root -r 192.168.1.100 -S -D /home/user/redfish-mockup

Docker 容器示例 (Docker container example)

安装

要作为Docker 容器运行,请使用以下操作之一来拉取或构建容器:(选一个做就好,我选第一个)

1. 从 Docker Hub 拉取容器(Pull the container from Docker Hub):

docker pull dmtf/redfish-mockup-creator:latest

2. 从本地源构建容器(Build a container from local source):

docker build -t dmtf/redfish-mockup-creator:latest .

3. 从 GitHub 构建一个容器(Build a container from GitHub):

docker build -t dmtf/redfish-mockup-creator:latest https://github.com/DMTF/Redfish-Mockup-Creator.git

执行

此指令使用指定的模型运行容器,其中<path-to-mockup> 是模型目录的路径:

docker run --rm --user="$(id -u):$(id -g)" -v <path-to-mockup>:/mockup dmtf/redfish-mockup-creator:latest -u root -p root -r 192.168.1.100 -S

如果想要档案mount到本地端,可以前面有加上相对目录 ${PWD} ,例如 ${PWD}/mockup_iris ,成功之后可以在本地端看到资料夹mockup_iris,底下是我执行的指令

 $ docker run --rm  -v  ${PWD}/mockup_iris:/mockup dmtf/redfish-mockup-creator:latest -u root -p 0penBmc -r 192.168.0.123 -S
 $ ls
mockup_iris

用GUI 看一下结果

最后回头看一下About,翻译后是

Redfish Mockup Creator 是一个从live Redfish Service创建Redfish 模型的工具。创建的模型可以与Redfish Mockup Server 一起使用。

那Redfish Mockup Server 是什么呢?

Redfish Mockup Server

官方描述

Redfish Mockup Server 针对Redfish 模型提供Redfish 请求。服务器在指定的IP 地址和端口或默认IP 地址和端口127.0.0.1:8000 上运行。

简单来说就是一个模拟器,可以喂给它指定的模型(Redfish Mockup),Server跑起来之后可以对它请求(request) GET method

例如,先指定模型是刚刚的mockup_iris,执行后可以对Server 下GET method,它会回传刚刚指定的红鱼模型(mockup)

~$ docker run --net host --rm -v ${PWD}/mockup_iris :/mockup dmtf/redfish-mockup-server:latest -D /mockup

~$ curl -k -H "content-type: application/json" -X GET http://127.0.0.1:8000/redfish/v1/Managers
{
    "@odata.id": "/redfish/v1/Managers",
    "@odata.type": "#ManagerCollection.ManagerCollection",
    "Members": [
        {
            "@odata.id": "/redfish/v1/Managers/bmc"
        }
    ],
    "Members@odata.count": 1,
    "Name": "Manager Collection"
}

安装方式和执行也和Creator差不多,这边只附上我操作用到的指令

安装

docker pull dmtf/redfish-mockup-server:latest

执行

(记得要加上"-net host" )

~$ docker run --net host --rm -v ${PWD}/mockup_iris:/mockup dmtf/redfish-mockup-server:latest -D /mockup

Server 跑起来后,就可以下GET method了,预设IP和Port是127.0.0.1:8000,可以带-H 去指定成任意IP

 对于想要开发redfish unity,但没有BMC的开发者来说挺方便的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值