Redfish介绍和Postman工具使用

2023-11-09

Redfish

Redfish的诞生是为了替代IPMI ,由于IPMI自身的局限性和安全性缺陷,IPMI 在2015年公布2.0 v1.1标准后,不再更新,被RedFish永久代替

Redfish 可扩展平台管理 API(The Redfish Scalable Platforms Management API(“Redfish”))是一种新的规范,其使用 RESTful 接口语义来访问定义在模型格式中的数据用于执行带外系统管理 (out-of-band systems management)。其适用于大规模的服务器从独立的服务器到机架式和刀片式的服务器环境,而且也同样适用于大规模的云环境。现在行业中已有几个带外系统管理标准(事实标准和法律标准)。在实现时,他们都有很大的差别。他们是针对嵌入式环境的单一服务器而开发,或基于过时的软件建模结构。当前,没有一种业界标准,既简单易用,符合新兴编程标准,易于嵌入,又能满足大型数据中心和云计算的需求。

Redfish 可扩展的平台管理 API(The Redfish Scalable Platform Management API(“Redfish”))是一个管理标准,使用数据模型表示并且包含超媒体 RESTful 接口。因为它是基于 REST,REST比其他解决方案更容易使用和实施。因为它是面向模型的,它能够表达现代系统组件之间的关系,以及服务和组件的语义。它也可以很容易地扩展。通过使用 REST 超媒体方法,Redfish 可以表达来自多个供应商的各种各样的系统。通过要求JSON 表示,各种各样的资源可以被规范化的方式创建,不仅是为了提高可扩展性,而且在大多数编程环境中负载(payload)可以很容易地被解释,以及人检查数据时有较好的相对直观性。模型是采用一个可互操作的 Redfish 模式展现,并且采用OData模式表示并可以翻译为一个JSON模式表示。并且消息的负载采用符合 0Data JSON约定的JSON 表示。将资源的 Redfish 模式定义放入一个机器可读格式的能力,允许数据与元数据之间建立关联,并且没有阻碍 Redfish服务和元数据,从而实现更高级的客户场景(例如许多数据中心和云环境)。

Redfish通过定义所有的API为RESTful形式的API来完成。REST(REpresent State Transfer,REST),这个概念从Web API而来,相对于传统的SOAP API,RESTful的API定义很简单(如:POST,GET,PUT或DELETE),将对象的状态State,用JSON或XML格式在服务器和Client之间传递,这也是它的名字的由来。

在这里插入图片描述

Redfish 旨在提供规范实现以下目标:

  1. 可扩展(scalable)一支持云服务环境中独立机器和机架设备。
  2. 灵活(flexible)一-支持当今服务中的各种各样的系统。
  3. 可延展(extensible)-- 在数据模型框架内支持新的和特定厂商提供的能力
  4. 向后兼容(backward compatible)一一使新功能可以被添加,同时保留规范的早期版本。
  5. 互操作(interoperable)一一提供一个有用的需求基线,从而确保跨多个供应商的常见功能和实现的一致性。
  6. 专注系统(system-focused)一-有效支持所需的最常见的平台硬件管理功能,从而被应用在可扩展的环境,同时也能够管理当前的服务器环境。
  7. 基于标准(standards based)一一利用被广泛接受和在今天的环境中使用的协议和标准,特别是,今天被广泛采用的基于 web 客户端的编程环境。
  8. 简单(simple)一一可以被软件开发人员直接使用,不需要高度专业化的编程技能或系统知识。
  9. 轻量级(lightweight)-减少在管理系统上实现和验证 Redfish 服务的复杂性和成本。

设计原则

以下设计原则和技术用来帮助交付之前所述的目标和特点:

  1. 提供一个使用JSON 负载和实体数据模型的 RESTful 接口
  2. 从数据模型分离协议,使他们能够被独立修改
  3. 指定协议和模式的版本规则。
  4. 利用互联网协议标准优势,满足构建要求,比如JSON,HTTP,OData,以及本文档所引用的 RFC。
  5. 集中在带外访问,可在现有 BMC 和固件产品上实现
  6. 组织模式以呈现增值特性与标准化的项目
  7. 使数据尽可能与上下文中的定义一样明白
  8. 保持实现的灵活性。不将接口与任何特定的底层实现架构进行绑定。“规范接口而不是实现。”
  9. 专注于最广泛使用的“共同特性 (common denominator)”功能。避免增加复杂性到只有一小部分用户可以使用的地址功能,。
  10. 避免放置复杂性到管理控制器上,从而可以更好地支持在客户端上的操作。

Resource map

下图为DMTF组织定义的Redfish资源示意图,我们可以看到3大分支——Systems(系统的逻辑视图) 、Chassis(系统的物理视图)和 Managers(BMC功能)。

在这里插入图片描述

Postman

Postman 是一个用于 API 测试的工具

GET 方法用于检索资源的表示。该表示可以是一个资源或集合。服务将返回使用在Accept 头中指定的一个媒体类型的表示,从而符合媒体类型部分媒体类型的需求。如果Accept 头不存在,服务返回的资源表示为 application /json。
HTTP GET方法应当用于检索资源,并不会引起任何副作用。服务应当忽略GET的正文内容。

PATCH方法是用于执行更新已有资源的首选方法。修改资源请求在请求正文中被发送。请求中没有指定的属性不可以被PATCH请求直接改变。在更新完成后,响应或者是空,或是一个资源的表示。对某些字段实现可能基于它自己的策略而拒绝更新操作,如果是这样,实现不适用任何更新请求。
服务应当支持更新资源的PATCH方法。如果资源不能被更新,应当返回状态码405。
在任何服务器端转换后,服务可以在响应体中返回资源的表示。
如果请求中的属性不能被更新(例如当一个属性是只读时),应当返回状态码200,以及包含指定不可更新属性声明的资源表示。在这个成功的案例中,资源中的其它属性可能被更新。
如果客户端对一个集合指定一个PATCH请求,服务应该返回状态代码405。

POST方法被用于创建一个新的资源。POST请求被提交到资源的集合,其中,新资源属于该集合。
提交一个POST请求到代表一个集合的一个资源,相当于提交相同的请求到该资源的成员属性。支持将成员添加到集合的服务应当支持两种形式。
服务应当支持POST方法用于创建资源。如果资源不提供被创建任何事物,应当返回状态码405。
创建请求的主体包含一个被创建对象的表示。服务可以忽略任何服务控制属性(例如id),强制那些属性被服务覆盖。服务应当设置位置头 (location)为新创建资源的 URI。成功创建请求的响应应该是 201(被创建),可能包括一个新创建资源表示的响应主体。

DELETE方法被用于删除一个资源。
对于可以删除的资源,服务应当支持Delete方法。如果资源不能被删除,应当返回状态码405。
在响应体中,服务可能返回一个刚刚删除的资源的表示。
对一个集合,如果客户指定一个DELETE请求,服务应该返回状态代码405。
如果资源已被删除,服务可能返回状态代码404或一个成功代码。

Postman 使用例子

查看服务器CPU信息

操作类型:
GET
https://{{deviceip}}/redfish/v1/Systems/1/Systems/1/Processors/1
请求头:
X-Auth-Token:{{X-Auth-Token}}
请求消息体:

在这里插入图片描述

添加BMC用户

操作类型:
POST
https://{{deviceip}}/redfish/v1/AccountService/Accounts
请求头:
X-Auth-Token:{{X-Auth-Token}}
Content-Type:application/json
请求消息体:
{
“UserName”:“xxxxxx”,
“Password”:“12345678”,
“RoleId”:“Administrator”,
“Enabled”: true,
“Locked”: false
}
在这里插入图片描述

修改用户名称

这里需要Etag
操作类型:
GET
https://{{deviceip}}/redfish/v1/AccountService/Accounts/xxxxx
请求头:
X-Auth-Token:{{X-Auth-Token}}
请求消息体:

在这里插入图片描述
操作类型:
PATCH
https://{{deviceip}}/redfish/v1/AccountService/Accounts/4
请求头:
X-Auth-Token:{{X-Auth-Token}}
Content-Type:application/json
If-Match:{{ETag}}
请求消息体:
{
“UserName” :“xxxxxxx”
}
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Redfish介绍和Postman工具使用 的相关文章

随机推荐

  • 全国身份证身份数据库sql(2021最新)

    为方便下载 已经将 sql 文件上传CSDN 链接 http download csdn net download leiflyy 10143794 insert into areazone areazone province city z
  • linux的dirty page回写磁盘过程中是否允许并发写入更新page?

    概述 众所周知Linux内核write系统调用采用pagecache机制加速写入过程 避免write系统调用长时间block应用进程 用户态进程执行write调用的时候 内核只是将用户态buffer copy到内核的pagecache当中
  • Golang Gorm 创建HOOK

    创建的时候 在插入数据之前 想要做一些事情 钩子函数比较简单 就是实现before create的一个方法 package main import gorm io driver mysql gorm io gorm type Student
  • maven安装

    1 maven 安装 需要使用maven命令 在需要的的操作系统中 安装maven插件 这里我用是Windows操作系统 2 在Windows安装maven 1 安装jdk 2 下载地址http maven apache org 3 解压后
  • Streamlit 讲解专栏(九):深入探索布局和容器

    文章目录 1 前言 2 st sidebar 在侧边栏增添交互元素 2 1 将交互元素添加至侧边栏 2 2 示例 在侧边栏添加选择框和单选按钮 2 3 特殊元素的注意事项 3 st columns 并排布局多元素容器 3 1 插入并排布局的
  • 揭秘最领先的Llama2中文大模型!

    导语 国内最大的开源社区 Llama中文社区率先完成了国内首个真正意义上的中文版Llama2 13B大模型 从模型底层实现了Llama2中文能力的大幅优化和提升 毋庸置疑 中文版Llama2一经发布开启了国内大模型新时代 全球最强 但中文短
  • Mybatis-动态sql和分页

    目录 一 什么是Mybatis动态分页 二 mybatis中的动态SQL 在BookMaaper xml中写sql BookMapper BookBiz接口类 BookBizImpl实现接口类 demo测试类 编辑 测试结果 三 mybat
  • C语言创建一个二叉树

    如何创建一个二叉树 先序遍历 中序遍历 include
  • 应用程序图标丢失问题的解决办法?

    如果是某一特定文件类型的 根据扩展名 的问题 是文件关联的问题 去注册表里寻找答案吧 用setup factory制作的安装包 之前一直都挺正常的 今天怎么试了一下 有时有图标有时没有 奇怪的很 于是追查了一下 原来我是因为我是在32位系统
  • 在cmd中,如何使用cd进入指定文件目录

    1 要进入的磁盘与当前磁盘一致 例如 cd C Program Files x86 Google Chrome Application 2 进入到其他磁盘 例如 cd d D JAVA codes 01 1 4 或者下面的方式 直接输入磁盘
  • Unity中Cg的基本语法和使用

    Cg是类似于C语言的发展起来的图形编程语言 Cgraphics 它的很多表达式if else 和C语言非常相像 也和C 非常相像 由于Shader是写给显卡执行的 所以没有输出语句来调试 很多地方调试不了 只能靠Unity编辑器来帮我们报错
  • valgrind和Kcachegrind性能分析工具详解

    作者 zhuyong 原文地址 一 valgrind介绍 valgrind是运行在Linux上的一套基于仿真技术的程序调试和分析工具 用于构建动态分析工具的装备性框架 它包括一个工具集 每个工具执行某种类型的调试 分析或类似的任务 以帮助完
  • web安全常用网络扫描端口漏洞利用

    端口 服务 入侵方式 21 ftp tftp vsftpd文件传输协议 爆破 嗅探 溢出 后门 22 ssh远程连接 爆破 openssh漏洞 23 Telnet远程连接 爆破 嗅探 弱口令 25 SMTP邮件服务 邮件伪造 53 DNS域
  • 如何快速搭建个人网站(服务器配置篇)

    关于服务器的购买和域名注册可以参考我的这篇博客 在使用之前 建议小白用户先下载一个Vmware 安装一个Ubuntu的虚拟环境学习一下linux的基础命令 一 远程服务器的连接 服务器购买好了以后我们需要进行远程连接我们的服务器 我个人推荐
  • Qt样式表总结

    概念 Qt的样式表主要是受到CSS的启发 通过调用setStyleSheet 可以为一个独立的子部件 整个窗口 甚至整个应用程序制定一个样式表 样式表具有继承关系 例如为一个QWidget类设置了样式表 那么QWidget类及其子类都会使用
  • C 语言 打印 int32_t int64_t 类型

    printf x PRId32 x PRId32 PRId64 是宏
  • SpringBoot 报错: Error creating bean with name ‘deptServiceImpl‘: Unsatisfied dependency expressed th

    报错 原因从网上可以得知 检查自己的Mapper文件有没有加入注解 Mapper Repository 和自己的deptServiceImpl 加入 Service 中引入的Mapper有没有用 Autowired 如图 如果上述都有 我们
  • Excel截取字符串:从指定第N个分隔符处截取

    目的 如下图 截取下面字符串中最后一个 后面的部分字符串 思路 1 利用SUBSTITUTE A2 将分隔符替换成空字符 如下图 2 利用LEN A2 LEN SUBSTITUTE A2 即可获取里面被替换掉了多少个分隔符 3 由于SUBS
  • 京东云无线宝可以服务器吗,京东云无线宝哪种上网方式收益最高,这点你一定得知道...

    京东云无线宝路由作为一款可以赚积分的路由器 备受关注 怎么能获取更高的积分 是大家一直都非常关心的 今天我们就来聊一聊 京东云无线宝路由采用哪种上网方式 收益最高 在京东云无线宝的后台 我们可以看到路由器一共提供了4种上网方式 分别为 拨号
  • Redfish介绍和Postman工具使用

    Redfish Redfish的诞生是为了替代IPMI 由于IPMI自身的局限性和安全性缺陷 IPMI 在2015年公布2 0 v1 1标准后 不再更新 被RedFish永久代替 Redfish 可扩展平台管理 API The Redfis