BMC Studio是一款可视化的配置工具,用于辅助BMC进行灵活定制。支持配置CSR、资源协作接口、MDS、接口映射,同时也支持板卡定制、原生开发、接口定制以及一键出包等功能。
简介
BMC Studio分为“开发任务”和“操作模块”两个板块,您可以在首页单击“切换视图”进行切换。
操作模块
- CSR配置:CSR描述了板卡上的具体组成结构,包括链路拓扑和器件描述信息,记录板卡的静态硬件信息。
- 资源协作接口配置:支持从系统视角对BMC软件管理功能的抽象定义,包含接口和路径的定义,先定义接口,再使用路径实现这个接口。
- MDS配置:APP的模型描述文件,定义APP如何管理资源协作接口和具体存在的私有属性。
- 接口映射配置:支持定义接口请求与资源协作接口的对应关系、接口及属性的校验信息、属性执行映射的前置与后置处理等。
开发任务
- 板卡定制:支持对新增的板卡器件进行定义以及对已有板卡的器件适配。
- 原生开发:支持开发新的APP功能。
- 接口定制:支持定制北向接口和对redfish、web-backend、cli、snmp接口映射配置的新增、修改和删除。
- 编译构建:上传工具生成的CSR文件,对接编译服务器,实现一键编译出包。
安装指南
环境准备
- 适用的操作系统:x86 Ubuntu24.04。
- 须安装git和bingo工具。
- 运行BMC Studio需要安装仓颉工具链,请按照如下方法配置:
- 下载仓颉0.53.13版本的安装包。
- 在WLS内执行以下命令将仓颉安装包移动到/opt目录下。bash
mv cangjie-0.53.13-linux_x64.tar.gz /opt/
- 执行以下命令解压安装包。bash
tar -zxf /opt/cangjie-0.53.13-linux_x64.tar.gz -C /opt/
- 执行以下命令设置环境变量。bash
source /opt/cangjie/envsetup.sh
- BMC Studio依赖nginx运行Web页面,请执行以下命令安装nginx。bash
sudo apt install nginx
安装BMC Studio
- 进入openUBMC应用市场,在“开发工具”模块下,下载BMC Studio软件包。
- 在BMC Studio安装包所在文件夹中执行以下命令进行安装。安装过程中弹出交互页面,需要用户同意BMC开放协议,请选择“yes”同意,若选择“no”拒绝BMC开放协议则退出安装过程。bash
dpkg -i bmc-studio-x.x.xx.xxxx-beta.deb(其中x.x.xx.xxxx表示BMC Studio的版本号)
- 环境变量配置。bash
echo 'export LD_LIBRARY_PATH=/usr/share/bmc_studio/server:$LD_LIBRARY_PATH' >> /etc/profile source /etc/profile
- 修改nginx网络配置。在WSL中部署BMC Studio后端的场景下使用,需要手动修改WSL中nginx的网络配置,使后端能够响应来自Windows的访问:bash
sed -i "s@listen 127.0.0.0:@listen @g" /etc/nginx/conf.d/bmc_studio.conf service nginx restart
启动BMC Studio
- BMC Studio启动/停止/重启操作,请执行以下命令:
- 启动:bash
/usr/share/bmc_studio/bmc_studio.sh /usr/share/bmc_studio/bmc_studio.sh start /usr/share/bmc_studio/bmc_studio.sh start backend(后台启动)
- 停止:bash
/usr/share/bmc_studio/bmc_studio.sh stop
- 重启:bash
/usr/share/bmc_studio/bmc_studio.sh restart
工作空间配置
首次使用BMC Studio,必须配置默认空间,如果未配置则无法进入系统。
默认空间配置
说明:
默认工作空间配置完成后,暂不支持删除。
- 首次登录BMC Studio,界面提示配置默认空间。
- 根据实际需求配置默认空间。
- 空间名称:填写工作空间的名称,要求如下:
- 支持数字、字母、下划线和点号(.),且必须包含数字和字母。
- 工作空间名称设定后不支持修改。
- 工作空间的名称不能重复,建议用产品名称命名。
- 数据导入方式:请根据实际情况,选择数据导入的方式。
- 如果选择“导入Manifest”:则通过Manifest来初始化空间数据。
- 如果选择“指定文件路径”:则导入本地开发环境的数据作为空间数据进行管理。
- 如果选择”不导入数据”:则新建的工作空间为空,需要手动导入或使用git clone获取代码仓。
- Git地址:请输入Manifest的git仓库地址。
- 远端分支名称:请选择待开发产品对应的Manifest分支。
- 指定文件路径:“数据导入方式”选择“指定文件路径”时必填。请输入本地开发环境的数据所在的路径。例如:
/usr/share/bmc_studio/server/users/xxxxx/oem_files
。 - 一键迁移:数据导入方式”选择“指定文件路径”时支持此勾选项。如果勾选,则表示将指定路径下的工作数据无损迁移到BMC Studio工作空间进行管理。
- 空间名称:填写工作空间的名称,要求如下:
- 填写完毕后,单击“确认”,完成配置。
新建工作空间
新建的工作空间可用于管理不同系列化产品。
- 工作空间最多支持创建10个(不包含默认工作空间)。
- 空间之间的数据相互独立。
操作步骤
- 在BMC Studio首页,单击右上角工作空间按钮。
- 选择“新建工作空间”。
- 根据实际需求配置空间信息,详细参数可参考“配置默认空间”中的参数说明。
- 填写完毕后,单击“确认”。
- 根据弹框提示,选择跳转到新的工作空间。
- 单击右上角“仓库管理”按钮,进入仓库。
- 选择产品名称,为新的工作空间指定产品。
- 单击“一键仓库部署”拉取对应产品的代码仓库到创建的工作空间内。
说明:
新建的工作空间如果未执行“一键仓库部署”,模型文件将显示不存在。
执行一键仓库部署需要有仓库权限。
切换工作空间
支持工作空间相互切换。
- 切换工作空间不会删除工作空间内的数据。
- 工具拉取代码和执行模型检查时,不支持切换工作空间。
- 切换工作空间成功后,工具的所有操作都是基于新工作空间的数据。
- 切换工作空间不会删除切换前和切换后工作空间的数据。
操作步骤
- 在BMC Studio首页,单击右上角工作空间名称。
- 选择需要切换的工作空间。
- 单击“切换到此空间”。提示“操作成功”表示空间切换成功。
删除工作空间
最多支持创建10个工作空间,如果达到创建上限,则需要删除已有的工作空间,才可继续创建。
说明:
- 默认工作空间不支持删除。
- 工具拉取代码和执行模型检查时,不支持删除工作空间。
- 删除工作空间会解除工具与工作目录的关系。
- 如果删除正在使用的工作空间,删除成功后将自动切换到默认工作空间。
操作步骤
- 在BMC Studio首页,单击右上角工作空间名称。
- 选择需要删除的工作空间。
- 单击“删除此空间”,弹出删除确认的提示框,请确认后操作。
- 确认删除操作,请单击“确认”。如果勾选“同步删除工作空间数据”,删除成功后数据无法恢复,请谨慎操作。
- 取消删除操作,请单击“取消”。
- 确认后,完成删除工作空间操作。
操作模块
配置CSR模块
CSR描述了硬件板卡的物理组成结构,包括链路拓扑和器件描述信息。将一个可独立更换的Fru抽象为板卡(组件和部件),为每一个板卡都定义一个CSR描述文件,在运行过程中由BMC系统自动发现和解析。
修改模型
操作步骤
- 在BMC Studio选择操作模块的首页,选择CSR。
- 进入CSR模型界面,工具会自动识别产品空间中的CSR仓库。
- 在CSR列表中,选择需要操作的模型。
- 参考器件说明搭建模型。
- Bus:直连器件。当前版本包含Jtag、JtagOverGpio、JtagOverLocalBus、Gpio、Hisport、I2c。Bus源于Anchor,其下至少需配置一个器件(Chip或连接器)或被传入到下级连接器。
- Chip:从DDS的通用器件库获取,当前版本包含Chip、Eeprom、Lm75、Pca9545、Smc、Pca9555和Cpld。Chip须挂在总线下(包括Bus),各Chip详细配置描述:
- chip,可配置Accessor和Scanner。
- Eeprom,可配置Accessor。
- Lm75,可配置Accessor和Scanner。
- Pca9545,不可配置Accessor和Scanner,其下只能挂接Mux。
- Smc,有单独的模型管理页面,可配置Accessor和Scanner。
- Pca9555,可配置Accessor和Scanner。
- Cpld,生成Cpld_1空对象即可。
- Connector:直连器件。从DDS的通用器件库获取,当前版本包含Connector、IEUPortConnector、PCIeConnector、PCIETianChiConnector、PsuConnector、TianChiConnector。若工具识别到Connector文件夹下包含UBCPortConnector和IEUPortConnector,则将其作为非直连器件处理。连接器只能挂在Bus和Mux下。
- Mux:直连器件。从DDS的通用器件库获取,当前版本包含I2cMux。此器件可作为总线来管理,但只能挂在Pca9545器件下。
- Scanner:非直连器件。从DDS的通用器件库获取,当前包含19+1种类别,在配置Scanner时可被选出,其中19种为定义的固定扫描类别,另外一种(名称为Scanner)为自定义扫描类别。
- Debounce:非直连器件。支持配置到Scanner下。
- 其它:均不为直连器件。
- 修改完毕后,单击“保存”。
新增文件夹
操作步骤
- 在CSR列表中,选择需要新增文件夹的目标文件。
- 单击目标文件夹后的“操作”。例如:需要在src文件夹下新增文件夹,请单击src后的“操作”按钮。
- 选择“新增文件夹”。
- 输入文件夹名称,完成新建操作。
说明:
名称仅支持数字、字母和下划线。
新增组件
操作步骤
- 在CSR列表中,选择需要新增组件的目标文件。
- 单击目标文件夹后的“操作”。例如:需要在src文件夹下新增组件,请单击src后的“操作”按钮。
- 选择“新增组件”。
- 填写组件名称、格式版本和数据版本。数据版本和格式版本要求为A.BC的格式校验,A、B、C均为0-9的数字(A不能为0)。
- 填写完毕后,单击“保存”。
删除组件
支持撤销删除操作,具体操方法请参考“常用操作”章节中的撤销删除文件和撤销修改。
操作步骤
- 在CSR列表中,选择需要删除的文件、模型或组件,单击“操作”。
- 选择“删除”。
- 工具弹出确认删除的提示框,请根据情况选择。
- 确认删除,请单击“确认”。
- 取消删除,请单击“取消”。
检查
注意:
检查前,请在BMC Studio首页单击首页右上角“模型检查”的图标,进入“模型检查”页面,确保检查规则处于已勾选状态,否则检查无效。
操作步骤
- 在CSR列表中,选择需要检查的文件,单击“操作”。
- 选择“检查”,工具开始检查所选文件的模型一致性。
- 检查完成后,单击“检查结果”可查看详情,界面展示“错误提示”、“错误影响”和“修复建议”。
同步代码
通过Git命令,将CSR配置提交到代码仓。
操作步骤
- 选择要同步代码的主文件夹,单击“操作”。
- 选择“同步代码”。
- 如果提示“代码同步成功”,表示同步代码操作成功。
说明:
如果弹出“代码同步失败”,提示“检测到待同步数据与工具本地数据存在冲突,请通过其它工具解决冲突。
您也可以执行强制覆盖操作,此操作不可逆,存在数据丢失的风险”。建议先通过其他工具解决冲突,再执行代码同步。
配置模型和器件
操作步骤
- 打开需要配置的CSR文件。
- 参考“修改模型”中的表格,配置模型通道。
- 单击对应器件,可修改基本信息和配置硬件功能(部分器件不支持)。
- 配置完成后,单击右上角“保存”。
smc功能添加
操作步骤
- 配置smc器件时,单击右侧边栏的“smc功能添加”。
- 选择命令字模板(EXU/BCU/CLU/SEU),进行
Accessor
和Scanner
的配置。 - 配置对应smc的
Accessor
和Scanner
,以添加GetBOMVersion
功能截图举例。- 配置
Accessor
:- 勾选需要添加的功能名称。
- 单击“保存”。
- 配置
Scanner
:- 选中功能名称。
- 打开扫描策略,输入扫描周期。
- 单击“保存”。
- 同时配置
Scanner
和Accessor
:- 选中功能名称。
- 打开扫描策略,输入扫描周期。
- 打开支持写操作。
- 单击“保存”。
- 配置
- 配置完成后,单击保存。
CSR出包
支持单个和批量打包CSR。
说明:
批量生成时仅支持下载为HPM包格式。
选择的CSR文件中,必须包含UID,且批量出包中的UID不能重复。
单个CSR打包
操作步骤
- 模型配置完成后,单击页面右侧“CSR出包”。
- 参考以下内容,填写出包信息。
- FormatVersion:填写Format的版本。
- DataVersion:填写Data的版本。
- EEPROM大小限制:选择16k或32k。
- OEM定制信息:选填项,请根据情况选择是否上传OEM定制信息。上传要求格式为.bin,大小不超过4KB。
- 下载选项:勾选下载生成的格式,可同时勾选多个。支持hpm、二进制bin、json文件。
- 单击“CSR出包”。生成的CSR将自动下载到本地。
批量CSR打包
批量生成时仅支持下载为HPM包格式。
操作步骤
- 在CSR列表右上方单击“批量CSR出包”。
- 勾选需要出包的文件,单击CSR出包。
- 参考以下内容,填写出包信息。
- OEM共享文件:上传的OEM文件可用于全部CSR出包使用。
- EEPROM大小限制:选择16k或32k。
- OEM文件:为对应的CSR上传OEM文件,上传要求格式为.bin,大小不超过4KB。
- 使用共享文件:如果勾选,表示携带“OEM共享文”件中上传的文件。如果不勾选,表示不携带“OEM共享文”件中上传的文件直接携带本文件选择的对应“OMEM文件”。
- 删除:删除对应的CSR文件。
- 单击“批量CSR出包”。
配置资源协作接口
资源协作接口即为从系统视角对BMC软件管理功能的抽象定义。资源协作接口包含对象和接口的定义,接口以bmc.kepler开头。
修改资源协作接口/路径信息
说明:
配置资源协作接口的基本信息时,属性、方法和信号要求至少配置一个。
- 选择需要操作的资源协作接口/路径。
- 参考以下内容修改资源协作接口的配置。
- 基本信息
- 接口名称:填写接口名称。
- 属性
- 新增:接口新增属性配置,单击“属性”旁边的图标,可切换“属性”展示的视图,分为列表视图和页签视图。
- 名称:要求名称不能重复。建议使用大驼峰写法(例如:AaaBbb)且名称的长度不大于64个字符。
- 类型:选择对应的接口类型。如果选择自定义类型,可在“自定义类型”的页签配置相应参数。
- 校验规则:
- 范围:输入校验的取值范围。
- 长度:属于长度的取值范围。
- 枚举:输入枚举值,以回车确认。
- 正则:输入标准正则表达式。
- 设置只读:设置接口文件是否只读。
- 变更通知:选择变更通知的模式。
true
: 属性值发生变化时发送包含属性值的信号。false
: 属性值发生变化时不发送信号。const
: 属性永不变化, 不需要发信号。invalidates
: 属性值发生变化时发送不包含属性值的信号。
- 属性值易变:选择接口属性值是否易变。默认为关闭状态。
- 描述信息:建议描述信息长度不大于1024字符。
- 变更通知:选择变更通知的模式。
- 方法
- 方法名称:要求名称不能重复。建议使用大驼峰写法(例如:AaaBbb)且名称的长度不大于64个字符。
- 描述信息:建议描述信息长度不大于1024字符。
- 请求体:如果配置,参数需要和“属性”中的字段保持一致。
- 响应体:如果配置,参数需要和“属性”中的字段保持一致。
- 信号
- 名称:要求名称不能重复。建议使用大驼峰写法(例如:AaaBbb)且名称的长度不大于64个字符。
- 字段:如果配置,参数需要和“属性”中的字段保持一致。
- 自定义类型
- 新增:新增接口。
- 名称:要求名称不能重复。建议使用大驼峰写法(例如:AaaBbb)且名称的长度不大于64个字符。
- 类型:选择结构类型,结构体/枚举类型/字典,并更加选择的类型,填写对应的参数。
- 基本信息
- 参考以下内容修改资源协作接口路径的配置。
- 名称:与资源协作接口文件名一致。建议使用大驼峰写法(例如:AaaBbb)且名称的长度不大于64个字符。
- 路径:要求路径不能重复。建议路径的长度不大于128个字符。动态路径配置格式举例:
:id
${id}
- 接口:要求至少包含一个有效资源协作接口定义的接口元素。
- 修改完毕后,单击“保存”,完成修改。
新增文件夹
- 选择需要新增文件夹类型,路径或接口。
- 在资源协作接口列表中,选择需要新增文件夹的目标文件。
- 单击目标文件夹后的“操作”。以新增路径文件举例,例如:需要在Accessor文件夹下新增文件夹,请单击Accessor后的“操作”按钮。
- 选择“新增文件夹”。
- 输入文件夹名称,完成新建操作。
说明:
名称仅支持数字、字母和下划线,且要求不能以数字开头。
新增资源协作接口/路径
- 在资源协作接口列表中选择新增的类型:接口/路径。
- 在资源协作接口的列表中,选择需要新增接口或路径的目标文件。
- 单击目标文件夹后的“操作”。例如:需要在kepler文件夹下新增资源协作接口,请单击kepler后的“操作”按钮。
- 选择“新增资源协作接口”。
- 参考“修改资源协作接口/路径信息”中的参数列表。配置资源协作接口/路径。
- 配置完成后,单击“保存”。
检查
- 在资源协作接口/路径列表中,选择需要检查的文件,单击“操作”。
- 选择“检查”,工具开始检查所选文件的模型一致性。
- 检查完成后,单击“检查结果”可查看详情。界面展示“错误提示”、“错误影响”和“修复建议”。
删除资源协作接口/路径
支持撤销删除操作,具体操方法请参考撤销删除文件和撤销修改。
- 在资源协作接口/路径列表中,选择需要删除的文件,单击“操作”。
- 选择“删除”。
- 工具弹出确认删除的提示框,请根据情况选择。
- 确认删除,请单击“确认”。
- 取消删除,请单击“取消”。
配置MDS
MDS是APP的模型描述文件,定义了该APP管理的资源协作接口和私有属性。
修改MDS信息
操作步骤
说明:
信息填写完毕后,未保存当前页面信息,切换页面时会清空当前页面编辑的全部内容,请谨慎操作。
- 选择需要操作的文件。
- 参考以下说明修改配置信息。
- 基本信息
- 名称:要求名称不能重复。建议名称的长度不大于64个字符。
- 类型:选择MDS文件的类型。application/configuration/tool/library。
- 如果选择非application类型,保存基本信息后,会清空类定义、impi命令和自定义类型的数据。
- 如果当前值不在可选范围(application、configuration、tool、library)内,请重新校验。
- 组件版本:MDS文件的组件版本。格式要求:要求输入为整数。例如:A.B.C格式,其中A、B、C为整数(可为0开头)。
- license:许可证序列号,建议license的长度不大于128个字符。
- 个人作者/组织|MDS文件的归属人。
- 描述:MDS文件的描述。
- 部署配置:选择部署配置.service。仅“类型”选择为“application”时需要填写。
- 编译构建依赖:选择相关信息进行配置。
- 开发者测试依赖:选择资源协作接口和路径信息。
- 类定义
- 类名:MDS文件的类名。如果类管理了资源协作接口路径,则要求类名必须与资源协作接口路径对应的文件名一致。如果类未在资源协作接口存在具体路径,要求MDS文件中类名不可重复。
- 上层类:将该类管理的资源建立为指定类的子资源,便于APP内访问。
- 数据库表名:类管理的资源协作接口属性及私有属性的持久化,在APP内表名不可重复。如果配置持久化类型,须填写数据库表名。
- 本地管理:开启本地管理。表示由组件完成持久化数据的读写操作。关闭本地管理,表示由框架代为管理。通常对于流量较大的数据进行持久化,才会选择打开本开关,例如SEL事件、采集数据等。
- 持久化类型:设置类的持久化类型,此设置在类中全局生效。
- 永久持久化:BMC升级、恢复出厂设置、AC下电数据不丢失,Flash擦写数据丢失。
- 掉电持久化:BMC升级、BMC重启、AC下电数据不丢失,恢复出厂设置、Flash擦写数据丢失。
- 复位持久化:BMC重启数据不丢失、BMC升级、AC下电、Flash擦写数据丢失。
- 临时持久化:APP重启数据不丢失、BMC重启数据丢失。
- 禁止业务修改:持久化类型选择掉电持久化、复位持久化、临时持久化时,可选择此按钮。
- 描述:填写描述信息。
- 资源协作接口路径:选择资源协作接口路径。
- 权限配置:配置资源协作接口对象、属性、方法和私有属性的权限,可同时配置多个权限。
- 接口集合
- 接口名称:要求资源协作接口需存在定义。方法:为该接口配置权限,可同时配置多个权限。
- 属性名称:类的私有属性名称,要求名称不能包含空格,且名称不能重复。
- 类型:选择数据类型。
- 校验规则:选择的类型不同,校验规则不一致,请根据界面实际选择结果处理。
- 长度:输入字符串长度的取值范围。
- 范围:输入校验的取值范围。
- 枚举:输入枚举值,以回车间隔。
- 正则:输入标准正则表达式。
- 默认值:类型选择Boolean时,需要选择默认值。请根据实际情况选择设置true或false。
- 持久化类型:不同接口存在同名属性时,该同名属性用途不能包含自描述配置。为了避免查看时产生歧义,建议在私有属性下新增此属性。
- 永久持久化:BMC升级、恢复出厂设置、AC下电数据不丢失,Flash擦写数据丢失。
- 掉电持久化:BMC升级、BMC重启、AC下电数据不丢失,恢复出厂设置、Flash擦写数据丢失。
- 复位持久化:BMC重启数据不丢失、BMC升级、AC下电、Flash擦写数据丢失。
- 临时持久化:APP重启数据不丢失、BMC重启数据丢失。
- 禁止业务修改:持久化类型选择掉电持久化、复位持久化、临时持久化时,可选择此按钮。
- 数据库主键:至少存在一个接口属性或私有属性此字段的值配置为打开状态。
- 持久化选项:选填项,对持久化类型的约束。
- 设置只读:设置文件是否只读。
- 描述信息:-
- 添加属性:单击可继续添加,并配置私有属性。ipmi
- ipmi命令
- IPMI命令集合名称:要求名称不能重复。建议名称的长度不大于64个字符。
- 新增:新增MDS文件ipmi命令配置。
- 命令名称:要求名称不能重复。建议名称的长度不大于64个字符。
- 网络功能码:要求填写16进制1个字节的数字字符串(例如:0xCD,0x02,不区分大小写)。
- 命令字:要求填写16进制1个字节的数字字符串(例如:0xCD,0x02,不区分大小写)。
- 优先级:选择Default、OEM、ODM、OBM、EndUser。
- 角色:配置角色。User、Administrator、Operator、Unspecified、Callback、OEM。
- 权限配置:单击下拉框为对应角色配置权限,可同时配置多个权限。
- 参数名称:要求参数名称不能重复。
- 类型:选择基数类型(U8、U16、U32、U64、String、U8[])。基数类型选择String和U8[]时,长度可选不定长或前一个的参数配置的长度。
- 长度:输入该基数的长度。
- 单位:输入数基数长度的单位。
- 过滤条件:输入需要过滤的参数条件,类型、长度或B(字节)。
- 参数名称:要求参数名称不能重复。
- 类型:选择基数类型(U8、U16、U32、U64、String、U8[])。基数类型选择String和U8[]时,长度为不定长。
- 长度:输入该基数的长度。
- 单位:输入数基数长度的单位。
- 默认值:-
- 自定义类型
- 新增:增加MDS文件自定义类型。
- 名称:要求名称不能重复。建议名称的长度不大于64个字符。
- 类型:选择结构类型:
- 结构体:添加结构体成员后,需要输入成员名称和类型。
- 枚举类型:添加枚举内容后,需要输入枚举的类型值。
- 字典:需要输入字典的值类型。切换类型会清空当前已添加的类型成员,请谨慎操作。
- **添加结构成员:
- 成员名称:要求名称不能重复,建议名称的长度不大于64个字符。类型:选择添加的结构体成员类型,U/S/Double/String/Boolean/自定义类型。仅类型选择“结构体”,添加结构体成员时,需要填写。
- 添加枚举变量:根据枚举变量的名称,填写对应的枚举值。类型选择“枚举类型”,添加枚举变量时,需要填写。- 值类型:选择字典类型的值类型。仅类型选择“字典”,需要填写。
- 基本信息
- 修改完毕后,单击“保存”,完成修改。
检查
- 在MDS列表中,选择需要检查的文件,单击“操作”。
- 选择“检查”,工具开始检查所选文件的模型一致性。
- 检查完成后,单击“检查结果”可查看详情,界面展示“错误提示”、“错误影响”和“修复建议”。
同步代码
通过Git命令,将MDS配置提交到代码仓。
- 选择要同步代码的主文件夹,单击“操作”。
- 选择“同步代码”。
- 如果提示“代码同步成功”,表示同步代码操作成功。
说明:
如果弹出“代码同步失败”,提示“检测到待同步数据与工具本地数据存在冲突,请通过其它工具解决冲突。
您也可以执行强制覆盖操作,此操作不可逆,存在数据丢失的风险”。建议先通过其他工具解决冲突,再执行代码同步。
删除MDS文件
- 在MDS列表中,选择需要删除的文件,单击“操作”。
- 选择“删除”。
- 工具弹出确认删除的提示框,请根据情况选择。
配置接口映射
使用redfish/web-backend/snmp/cli的设计,引入数据映射器机制,框架解析数据映射配置,将接口请求转发到资源协作接口,拼装返回对应格式的数据。
映射配置定义了如下内容:
- 接口请求与资源协作接口的对应关系。
- 接口及属性的校验信息。
- 属性执行映射的前置与后置处理等。
新增文件夹
操作步骤
- 选择需要新增的接口类型,Redfish、Webrest、CLi或Snmp。
- 在文件列表中,选择需要新增文件的目标文件夹。
- 单击目标文件后的“操作”。例如:需要在Accounts文件夹下新增文件夹,请单击Accounts后的“操作”按钮。
- 输入文件夹名称,完成新建操作。名称仅支持数字、字母、下划线和中划线,且要求不能以数字开头。
新增接口映射
操作步骤
- 选择需要新增的接口类型,Redfish、Webrest、CLi或Snmp。
- 在文件列表中,选择需要新增接口映射的目标文件夹。
- 单击目标文件后的“操作”。例如:需要在Accounts文件夹下新增接口映射,请单击Accounts后的“操作”按钮。
- 选择“新增接口映射”。
- 输入接口名称。名称仅支持数字、字母、下划线和中划线,且要求不能以数字开头。
- 单击“新增资源”,输入URI资源。
- 单击“确认”接口新增成功。
- 参考以下说明配置接口信息,以下以新增Redfish接口举例。其他接口根据界面提示设置各项参数即可。Redfish参数操作说明如下:
- GET(返回所请求的资源描述)
- 判断资源是否存在:选择“添加匹配条件”,输入需要匹配的资源条件。可同时添加多个匹配条件,添加完成后如需删除某一个条件,请单击该条件后的删除按钮进行操作。
- 默认分页:分页查询参数的默认值配置,示例写法:Query.Skip、Query.Top。
- 资源协作接口列表:资源协作接口列表中的文件,可手动拖入 响应体内的配置值中。
- 响应体:由Statements或列表生成。从Statements生成,请单击“从Statamengts”生成,从列表生成请单击“新增属性”。
- PATH(修改指定资源)
- 判断资源是否存在:选择“添加匹配条件。
- 锁定可写:开启“锁定可写”表示该资源只能被写入,不能被其他进程、用户读取或修改。关闭“锁定可写”表示解除对资源的锁定状态,该资源可以被其他进程、用户进行读取或其他类型的访问操作。
- 资源协作接口列表:在资源协作接口列表中,选择需要配置的资源协作接口。
- 请求体:-
- POST(创建新资源或执行指定资源)
- 判断资源是否存在:选择“添加匹配条件”,输入需要匹配的资源条件。可同时添加多个匹配条件,添加完成后,如须删除某一个条件,请单击该条件后的删除按钮进行操作。
- 锁定可写:开启“锁定可写”表示该资源只能被写入,不能被其他进程、用户读取或修改。关闭“锁定可写”表示解除对资源的锁定状态,该资源可以被其他进程、用户进行读取或其他类型的访问操作。
- 请求体:-
- 响应体:-
- DELETE(删除指定资源)
- 判断资源是否存在:选择“添加匹配条件”,输入需要匹配的资源条件。可同时添加多个匹配条件,添加完成后,如须删除某一个条件,请单击该条件后的删除按钮进行操作。
- 锁定可写:开启“锁定可写”表示该资源只能被写入,不能被其他进程、用户读取或修改。关闭“锁定可写”表示解除对资源的锁定状态,该资源可以被其他进程、用户进行读取或其他类型的访问操作。
- 资源协作接口列表:资源协作接口列表中的文件,可手动拖入 响应体内的配置值中。
- 新建映射:可新建属性、方法、List以及Tast映射。
- 单击新建映射,选择新建的映射类型。
- 输入相关参数。
- 资源协作接口列表中的文件,可手动拖入 响应体内的配置值中。
- GET(返回所请求的资源描述)
检查
操作步骤
- 在接口文件或文件夹中,选择需要检查的文件,单击“操作”。
- 选择“检查”,工具开始检查所选文件的模型一致性。
- 检查完成后,单击“检查结果”可查看详情。界面展示“错误提示”、“错误影响”和“修复建议”。
删除接口文件
支持撤销删除操作,具体操方法请参考“常用操作”章节中的“撤销删除文件和撤销修改”。
操作步骤
- 在接口文件列表中,选择需要删除的文件,单击“操作”。
- 选择“删除”。
- 工具弹出确认删除的提示框,请根据情况选择。
开发任务
板卡定制
板卡定制,分为以下两种情况。
- 板卡新增:定制新的板卡时,对新的器件进行定义,对新增板卡定制前,请先执行以下操作。
- 在原生开发定义资源协作接口和路径,操作方法请参考:操作模块 >资源协作接口配置。
- MDS里进行管理定义的资源协作接口。
- 打开对应的CSR开关。
- 板卡适配:基于已有器件库,对硬件组件进行定制,包含对组件上器件类型、数量的编排等操作。
定义新器件操作流程(板卡新增)
操作步骤
- 在BMC Studio首页,单击“板卡定制”,进入定制板卡操作界面。
- 请按照如下流程新增器件,操作方法参见配置CSR模型章节。
- (可选)新增CSR模型文件夹。
- 新增CSR组件。
- 配置模型数据。
- 保存配置。
- 单击“保存”完成配置。
定制硬件组件(板卡适配)
操作步骤
- 在BMC Studio首页,单击“板卡定制”,进入定制板卡操作界面。
- 请参考配置CSR模型中的修改模型,适配硬件组件。
- 单击“保存”完成配置。
原生开发
使用原生开发功能开发新的APP。
操作步骤
- 在BMC Studio首页,单击“原生开发”,进入原生开发操作界面。
- 为板卡定义资源协作接口信息。请按照如下流程配置,具体操作方法参见配置资源协作接口章节。
- (可选)新增资源协作接口文件夹。
- 新增资源协作接口。
- 新增资源协作接口路径。
- 保存配置。
- 在原生开发的导航条上,单击“MDS”。
- 为板卡配置MDS信息。具体操作方法参见“操作模块 > 配置MDS”章节。
- 配置完成后,单击“保存”。
接口定制
可使用BMC Studio定制北向接口,包含对Redfish、Web-backend、Cli、Snmp接口映射配置的新增、修改和删除,具体操作方法,请参考配置接口映射。
编译构建
BMC Studio的工作空间包含多个代码仓,这些代码仓可能被本地管理或被设置为Git工作空间。用户可通过页面配置Git仓地址,将代码同步到工作空间。工具也会自动扫描工作空间,识别出Git仓,并在仓库管理页面展示。
说明:
选择Manifest产品后,才可进行仓库初始化操作。仓库完成初始化操作后,才可获取代码。
操作步骤
- 参考以下内容选择出包信息。
- 一键出包:基于该产品空间的本地代码一键出包。
注意:
仅root用户支持一键出包。 - Git仓库地址:工作空间中的Git代码仓。
- 本地分支名称:默认取值为导入Manifest时选择的远端分支,可手动切换分支。
- 同步远端最新配置:本地分支选择后,单击此按钮进行切换。说明:切换本地分支时将同步最新的远端代码。切换分支时,要求本地代码和Manifest的库上最新代码不能存在冲突,如果存在冲突,请手动解决冲突后再切换分支。
- 产品名称:选择分支对应的产品名称,切换产品后需重新进行仓库部署。如果该产品已执行过一间仓库部署,则无须再重新进行仓库部署。
- 一键仓库部署:根据Manifest中产品的配置信息,动态获取仓库配置并完成全量仓库代码的获取。
- 如果有代码变动,会弹框提示是否覆盖代码,
- 如果代码未变动,不会提示覆盖代码,但会做代码检查。
- 获取全量代码:一键拉取全量仓库代码到对应的分支。
说明:
支持编辑个人远端地址和个人远端分支。
注意:
一键仓库部署和获取全量代码只能拉取有权限的仓库,只要有一个组件仓库拉取成功,则表示操作成功,未能成功拉取的仓库可查看“仓库日志”确认原因。 - 一键出包:基于该产品空间的本地代码一键出包。
- 单击“一键出包”,选择对应产品。
- 在组件列表勾选需要出包的组件。
- 单击“下一步:出包”,出包会显示进度条,出包成功之前请勿执行其他操作。
说明:
如果出包失败,仓库管理右侧的“构建日志”列会展示出包失败的日志,可下载全量日志到本地进行分析。
如果出包成功,仓库管理右侧的“固件信息”列会展示出包信息,单击“下载”将固件包下载到本地。
注意:
固件包仅保留三天,失效后将无法下载。
“一键仓库部署”和“获取全量代码”的日志将展示在仓库日志中。
代码预览
使用代码预览功能,可在工具界面预览各文件的代码,同时支持在预览界面直接修改并保存代码。
操作步骤
- 选择需要查看代码的文件。
- 单击页面右侧的“代码预览”按钮。
- 界面右侧展示对应文件的代码。
说明:
如需搜索代码内的关键字,请将鼠标选中代码框内的任意位置,使用Ctrl+F,输入关键字搜索。代码内存在多个相同的关键字时,可使用Ctrl+G跳转。
模型检查
BMC Studio支持模型的可视化配置,模型与模型之间存在配套关系,通过此功能可以检查出模型之间不一致的错误,并给出告警提示。
说明:
工具根据默认的检查规则,检查指定的模型。
如果错误级别未定义或取值不符合规范要求,无法勾选“CSR扩展规则检查样例”。
操作步骤
- 在工具首页单击右上角问号旁边的按钮。
- 进入“模型检查界面”。
- 单击右上角“开始检查”按钮。
- 工具将根据已有的检查规则,检查各模型一致性。
- 检查结束后,可在“检查结果”页签查看检查详情。参数说明请参考如下:
- 规则ID:检查规则的ID。
- 所属模型:可筛需要展示的报错模块。
- 错误提示:具体错误原因。
- 错误影响:错误的影响。
- 修复建议:具体的修复建议。
- 告警等级:可筛选展示的高级等级。“高”,“中”,“低”。
- 产生时间:最后一次检查结果的时间。
- 单击右上角“导出”可将检查结果导出至本地。
常用操作
查看修改
使用“查看修改”功能,可将修改前和修改后的数据进行比对,同时支持在预览界面直接修改并保存代码。
说明:
仅支持比对最近一次保存前后的数据。
操作步骤
- 选择操作模块。
- 单击左上角“查看修改”的按钮。
- 选择目标文件,比对修改前后的数据。
- 如需搜索代码内的关键字,请将鼠标选中需要搜索的代码框内任意位置,使用Ctrl+F,输入关键字搜索。代码内存在多个相同的关键字时,可使用Ctrl+G跳转。
- 勾选“统一缩进查看”,可统一缩进格式,便于查看。
- 如需编辑数据,请单击右上角“编辑”按钮,编辑完成后,单击“保存”。
撤销删除文件和撤销修改
CSR配置、资源协作接口、接口映射均支持撤销删除文件和撤销修改,MDS仅支持撤销修改。
注意:
撤销不会有弹框再次确认,单击”撤销“后,工具将直接执行撤销操作。
撤销修改后,代码将变为初始拉取的状态。
撤销修改和撤销删除的方法一致,以下以CSR中的文件已被删除,需要撤销删除的操作。
操作步骤:
- 进入CSR操作模块。
- 在CSR列表上方单击蓝色字体“查看修改"。
- 选择需要撤销删除的文件,单击后方的“撤销”按钮。如果需要批量撤销,可勾选需要操作的文件,单击最上方的“撤销”按钮进行操作。