BMC Studio用户指南
更新时间:2025/03/19
在Gitcode上查看源码

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需要安装仓颉工具链,请按照如下方法配置:
    1. 下载仓颉0.53.13版本的安装包。
    2. 在WLS内执行以下命令将仓颉安装包移动到/opt目录下。
      bash
      mv cangjie-0.53.13-linux_x64.tar.gz /opt/
    3. 执行以下命令解压安装包。
      bash
      tar -zxf /opt/cangjie-0.53.13-linux_x64.tar.gz -C /opt/
    4. 执行以下命令设置环境变量。
      bash
      source /opt/cangjie/envsetup.sh
  • BMC Studio依赖nginx运行Web页面,请执行以下命令安装nginx。
    bash
    sudo apt install nginx

安装BMC Studio

  1. 进入openUBMC应用市场,在“开发工具”模块下,下载BMC Studio软件包。
  2. 在BMC Studio安装包所在文件夹中执行以下命令进行安装。安装过程中弹出交互页面,需要用户同意BMC开放协议,请选择“yes”同意,若选择“no”拒绝BMC开放协议则退出安装过程。
    bash
    dpkg -i bmc-studio-x.x.xx.xxxx-beta.deb(其中x.x.xx.xxxx表示BMC Studio的版本号)
  3. 环境变量配置。
    bash
    echo 'export LD_LIBRARY_PATH=/usr/share/bmc_studio/server:$LD_LIBRARY_PATH' >> /etc/profile
    source /etc/profile
  4. 修改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,必须配置默认空间,如果未配置则无法进入系统。

默认空间配置

说明
默认工作空间配置完成后,暂不支持删除。

  1. 首次登录BMC Studio,界面提示配置默认空间。
  2. 根据实际需求配置默认空间。
    • 空间名称:填写工作空间的名称,要求如下:
      • 支持数字、字母、下划线和点号(.),且必须包含数字和字母。
      • 工作空间名称设定后不支持修改。
      • 工作空间的名称不能重复,建议用产品名称命名。
    • 数据导入方式:请根据实际情况,选择数据导入的方式。
      • 如果选择“导入Manifest”:则通过Manifest来初始化空间数据。
      • 如果选择“指定文件路径”:则导入本地开发环境的数据作为空间数据进行管理。
      • 如果选择”不导入数据”:则新建的工作空间为空,需要手动导入或使用git clone获取代码仓。
    • Git地址:请输入Manifest的git仓库地址。
    • 远端分支名称:请选择待开发产品对应的Manifest分支。
    • 指定文件路径:“数据导入方式”选择“指定文件路径”时必填。请输入本地开发环境的数据所在的路径。例如:/usr/share/bmc_studio/server/users/xxxxx/oem_files
    • 一键迁移:数据导入方式”选择“指定文件路径”时支持此勾选项。如果勾选,则表示将指定路径下的工作数据无损迁移到BMC Studio工作空间进行管理。
  3. 填写完毕后,单击“确认”,完成配置。

新建工作空间

新建的工作空间可用于管理不同系列化产品。

  • 工作空间最多支持创建10个(不包含默认工作空间)。
  • 空间之间的数据相互独立。

操作步骤

  1. 在BMC Studio首页,单击右上角工作空间按钮。
  2. 选择“新建工作空间”。
  3. 根据实际需求配置空间信息,详细参数可参考“配置默认空间”中的参数说明。
  4. 填写完毕后,单击“确认”。
  5. 根据弹框提示,选择跳转到新的工作空间。
  6. 单击右上角“仓库管理”按钮,进入仓库。
  7. 选择产品名称,为新的工作空间指定产品。
  8. 单击“一键仓库部署”拉取对应产品的代码仓库到创建的工作空间内。

说明
新建的工作空间如果未执行“一键仓库部署”,模型文件将显示不存在。
执行一键仓库部署需要有仓库权限。

切换工作空间

支持工作空间相互切换。

  • 切换工作空间不会删除工作空间内的数据。
  • 工具拉取代码和执行模型检查时,不支持切换工作空间。
  • 切换工作空间成功后,工具的所有操作都是基于新工作空间的数据。
  • 切换工作空间不会删除切换前和切换后工作空间的数据。

操作步骤

  1. 在BMC Studio首页,单击右上角工作空间名称。
  2. 选择需要切换的工作空间。
  3. 单击“切换到此空间”。提示“操作成功”表示空间切换成功。

删除工作空间

最多支持创建10个工作空间,如果达到创建上限,则需要删除已有的工作空间,才可继续创建。

说明

  • 默认工作空间不支持删除。
  • 工具拉取代码和执行模型检查时,不支持删除工作空间。
  • 删除工作空间会解除工具与工作目录的关系。
  • 如果删除正在使用的工作空间,删除成功后将自动切换到默认工作空间。

操作步骤

  1. 在BMC Studio首页,单击右上角工作空间名称。
  2. 选择需要删除的工作空间。
  3. 单击“删除此空间”,弹出删除确认的提示框,请确认后操作。
    • 确认删除操作,请单击“确认”。如果勾选“同步删除工作空间数据”,删除成功后数据无法恢复,请谨慎操作。
    • 取消删除操作,请单击“取消”。
  4. 确认后,完成删除工作空间操作。

操作模块

配置CSR模块

CSR描述了硬件板卡的物理组成结构,包括链路拓扑和器件描述信息。将一个可独立更换的Fru抽象为板卡(组件和部件),为每一个板卡都定义一个CSR描述文件,在运行过程中由BMC系统自动发现和解析。

说明
支持查看文件代码和比对代码修改前后数据,具体操方法请参考代码预览查看修改章节。

修改模型

操作步骤

  1. 在BMC Studio选择操作模块的首页,选择CSR。
  2. 进入CSR模型界面,工具会自动识别产品空间中的CSR仓库。
  3. 在CSR列表中,选择需要操作的模型。
  4. 参考器件说明搭建模型。
    • 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下。
    • 其它:均不为直连器件。
  5. 修改完毕后,单击“保存”。

新增文件夹

操作步骤

  1. 在CSR列表中,选择需要新增文件夹的目标文件。
  2. 单击目标文件夹后的“操作”。例如:需要在src文件夹下新增文件夹,请单击src后的“操作”按钮。
  3. 选择“新增文件夹”。
  4. 输入文件夹名称,完成新建操作。

说明
名称仅支持数字、字母和下划线。

新增组件

操作步骤

  1. 在CSR列表中,选择需要新增组件的目标文件。
  2. 单击目标文件夹后的“操作”。例如:需要在src文件夹下新增组件,请单击src后的“操作”按钮。
  3. 选择“新增组件”。
  4. 填写组件名称、格式版本和数据版本。数据版本和格式版本要求为A.BC的格式校验,A、B、C均为0-9的数字(A不能为0)。
  5. 填写完毕后,单击“保存”。

删除组件

支持撤销删除操作,具体操方法请参考“常用操作”章节中的撤销删除文件和撤销修改

操作步骤

  1. 在CSR列表中,选择需要删除的文件、模型或组件,单击“操作”。
  2. 选择“删除”。
  3. 工具弹出确认删除的提示框,请根据情况选择。
    • 确认删除,请单击“确认”。
    • 取消删除,请单击“取消”。

检查

注意
检查前,请在BMC Studio首页单击首页右上角“模型检查”的图标,进入“模型检查”页面,确保检查规则处于已勾选状态,否则检查无效。

操作步骤

  1. 在CSR列表中,选择需要检查的文件,单击“操作”。
  2. 选择“检查”,工具开始检查所选文件的模型一致性。
  3. 检查完成后,单击“检查结果”可查看详情,界面展示“错误提示”、“错误影响”和“修复建议”。

同步代码

通过Git命令,将CSR配置提交到代码仓。

操作步骤

  1. 选择要同步代码的主文件夹,单击“操作”。
  2. 选择“同步代码”。
  3. 如果提示“代码同步成功”,表示同步代码操作成功。

说明
如果弹出“代码同步失败”,提示“检测到待同步数据与工具本地数据存在冲突,请通过其它工具解决冲突。
您也可以执行强制覆盖操作,此操作不可逆,存在数据丢失的风险”。建议先通过其他工具解决冲突,再执行代码同步。

配置模型和器件

操作步骤

  1. 打开需要配置的CSR文件。
  2. 参考“修改模型”中的表格,配置模型通道。
  3. 单击对应器件,可修改基本信息和配置硬件功能(部分器件不支持)。
  4. 配置完成后,单击右上角“保存”。

smc功能添加

操作步骤

  1. 配置smc器件时,单击右侧边栏的“smc功能添加”。
  2. 选择命令字模板(EXU/BCU/CLU/SEU),进行AccessorScanner的配置。
  3. 配置对应smc的AccessorScanner,以添加GetBOMVersion功能截图举例。
    • 配置Accessor
      1. 勾选需要添加的功能名称。
      2. 单击“保存”。
    • 配置Scanner
      1. 选中功能名称。
      2. 打开扫描策略,输入扫描周期。
      3. 单击“保存”。
    • 同时配置ScannerAccessor
      1. 选中功能名称。
      2. 打开扫描策略,输入扫描周期。
      3. 打开支持写操作。
      4. 单击“保存”。
  4. 配置完成后,单击保存。

CSR出包

支持单个和批量打包CSR。

说明
批量生成时仅支持下载为HPM包格式。
选择的CSR文件中,必须包含UID,且批量出包中的UID不能重复。

单个CSR打包

操作步骤
  1. 模型配置完成后,单击页面右侧“CSR出包”。
  2. 参考以下内容,填写出包信息。
    • FormatVersion:填写Format的版本。
    • DataVersion:填写Data的版本。
    • EEPROM大小限制:选择16k或32k。
    • OEM定制信息:选填项,请根据情况选择是否上传OEM定制信息。上传要求格式为.bin,大小不超过4KB。
    • 下载选项:勾选下载生成的格式,可同时勾选多个。支持hpm、二进制bin、json文件。
  3. 单击“CSR出包”。生成的CSR将自动下载到本地。

批量CSR打包

批量生成时仅支持下载为HPM包格式。

操作步骤
  1. 在CSR列表右上方单击“批量CSR出包”。
  2. 勾选需要出包的文件,单击CSR出包。
  3. 参考以下内容,填写出包信息。
    • OEM共享文件:上传的OEM文件可用于全部CSR出包使用。
    • EEPROM大小限制:选择16k或32k。
    • OEM文件:为对应的CSR上传OEM文件,上传要求格式为.bin,大小不超过4KB。
    • 使用共享文件:如果勾选,表示携带“OEM共享文”件中上传的文件。如果不勾选,表示不携带“OEM共享文”件中上传的文件直接携带本文件选择的对应“OMEM文件”。
    • 删除:删除对应的CSR文件。
  4. 单击“批量CSR出包”。

配置资源协作接口

资源协作接口即为从系统视角对BMC软件管理功能的抽象定义。资源协作接口包含对象和接口的定义,接口以bmc.kepler开头。

说明
支持查看文件代码和比对代码修改前后数据,具体操方法请参考代码预览查看修改章节。

修改资源协作接口/路径信息

说明
配置资源协作接口的基本信息时,属性、方法和信号要求至少配置一个。

  1. 选择需要操作的资源协作接口/路径。
  2. 参考以下内容修改资源协作接口的配置。
    • 基本信息
      • 接口名称:填写接口名称。
      • 属性
        • 新增:接口新增属性配置,单击“属性”旁边的图标,可切换“属性”展示的视图,分为列表视图和页签视图。
        • 名称:要求名称不能重复。建议使用大驼峰写法(例如:AaaBbb)且名称的长度不大于64个字符。
        • 类型:选择对应的接口类型。如果选择自定义类型,可在“自定义类型”的页签配置相应参数。
        • 校验规则
          • 范围:输入校验的取值范围。
          • 长度:属于长度的取值范围。
          • 枚举:输入枚举值,以回车确认。
          • 正则:输入标准正则表达式。
      • 设置只读:设置接口文件是否只读。
        • 变更通知:选择变更通知的模式。
          • true: 属性值发生变化时发送包含属性值的信号。
          • false: 属性值发生变化时不发送信号。
          • const: 属性永不变化, 不需要发信号。
          • invalidates: 属性值发生变化时发送不包含属性值的信号。
        • 属性值易变:选择接口属性值是否易变。默认为关闭状态。
        • 描述信息:建议描述信息长度不大于1024字符。
      • 方法
        • 方法名称:要求名称不能重复。建议使用大驼峰写法(例如:AaaBbb)且名称的长度不大于64个字符。
        • 描述信息:建议描述信息长度不大于1024字符。
        • 请求体:如果配置,参数需要和“属性”中的字段保持一致。
        • 响应体:如果配置,参数需要和“属性”中的字段保持一致。
      • 信号
        • 名称:要求名称不能重复。建议使用大驼峰写法(例如:AaaBbb)且名称的长度不大于64个字符。
        • 字段:如果配置,参数需要和“属性”中的字段保持一致。
    • 自定义类型
      • 新增:新增接口。
      • 名称:要求名称不能重复。建议使用大驼峰写法(例如:AaaBbb)且名称的长度不大于64个字符。
      • 类型:选择结构类型,结构体/枚举类型/字典,并更加选择的类型,填写对应的参数。
  3. 参考以下内容修改资源协作接口路径的配置。
    • 名称:与资源协作接口文件名一致。建议使用大驼峰写法(例如:AaaBbb)且名称的长度不大于64个字符。
    • 路径:要求路径不能重复。建议路径的长度不大于128个字符。动态路径配置格式举例:
      • :id
      • ${id}
    • 接口:要求至少包含一个有效资源协作接口定义的接口元素。
  4. 修改完毕后,单击“保存”,完成修改。

新增文件夹

  1. 选择需要新增文件夹类型,路径或接口。
  2. 在资源协作接口列表中,选择需要新增文件夹的目标文件。
  3. 单击目标文件夹后的“操作”。以新增路径文件举例,例如:需要在Accessor文件夹下新增文件夹,请单击Accessor后的“操作”按钮。
  4. 选择“新增文件夹”。
  5. 输入文件夹名称,完成新建操作。

说明
名称仅支持数字、字母和下划线,且要求不能以数字开头。

新增资源协作接口/路径

  1. 在资源协作接口列表中选择新增的类型:接口/路径。
  2. 在资源协作接口的列表中,选择需要新增接口或路径的目标文件。
  3. 单击目标文件夹后的“操作”。例如:需要在kepler文件夹下新增资源协作接口,请单击kepler后的“操作”按钮。
  4. 选择“新增资源协作接口”。
  5. 参考“修改资源协作接口/路径信息”中的参数列表。配置资源协作接口/路径。
  6. 配置完成后,单击“保存”。

检查

  1. 在资源协作接口/路径列表中,选择需要检查的文件,单击“操作”。
  2. 选择“检查”,工具开始检查所选文件的模型一致性。
  3. 检查完成后,单击“检查结果”可查看详情。界面展示“错误提示”、“错误影响”和“修复建议”。

删除资源协作接口/路径

支持撤销删除操作,具体操方法请参考撤销删除文件和撤销修改

  1. 在资源协作接口/路径列表中,选择需要删除的文件,单击“操作”。
  2. 选择“删除”。
  3. 工具弹出确认删除的提示框,请根据情况选择。
    • 确认删除,请单击“确认”。
    • 取消删除,请单击“取消”。

配置MDS

MDS是APP的模型描述文件,定义了该APP管理的资源协作接口和私有属性。

说明
支持查看文件代码和比对代码修改前后数据,具体操方法请参考代码预览查看修改章节。

修改MDS信息

操作步骤

说明
信息填写完毕后,未保存当前页面信息,切换页面时会清空当前页面编辑的全部内容,请谨慎操作。

  1. 选择需要操作的文件。
  2. 参考以下说明修改配置信息。
    • 基本信息
      • 名称:要求名称不能重复。建议名称的长度不大于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/自定义类型。仅类型选择“结构体”,添加结构体成员时,需要填写。
        • 添加枚举变量:根据枚举变量的名称,填写对应的枚举值。类型选择“枚举类型”,添加枚举变量时,需要填写。- 值类型:选择字典类型的值类型。仅类型选择“字典”,需要填写。
  3. 修改完毕后,单击“保存”,完成修改。

检查

  1. 在MDS列表中,选择需要检查的文件,单击“操作”。
  2. 选择“检查”,工具开始检查所选文件的模型一致性。
  3. 检查完成后,单击“检查结果”可查看详情,界面展示“错误提示”、“错误影响”和“修复建议”。

同步代码

通过Git命令,将MDS配置提交到代码仓。

  1. 选择要同步代码的主文件夹,单击“操作”。
  2. 选择“同步代码”。
  3. 如果提示“代码同步成功”,表示同步代码操作成功。

说明
如果弹出“代码同步失败”,提示“检测到待同步数据与工具本地数据存在冲突,请通过其它工具解决冲突。
您也可以执行强制覆盖操作,此操作不可逆,存在数据丢失的风险”。建议先通过其他工具解决冲突,再执行代码同步。

删除MDS文件

  1. 在MDS列表中,选择需要删除的文件,单击“操作”。
  2. 选择“删除”。
  3. 工具弹出确认删除的提示框,请根据情况选择。

配置接口映射

使用redfish/web-backend/snmp/cli的设计,引入数据映射器机制,框架解析数据映射配置,将接口请求转发到资源协作接口,拼装返回对应格式的数据。

映射配置定义了如下内容:

  • 接口请求与资源协作接口的对应关系。
  • 接口及属性的校验信息。
  • 属性执行映射的前置与后置处理等。

新增文件夹

操作步骤

  1. 选择需要新增的接口类型,Redfish、Webrest、CLi或Snmp。
  2. 在文件列表中,选择需要新增文件的目标文件夹。
  3. 单击目标文件后的“操作”。例如:需要在Accounts文件夹下新增文件夹,请单击Accounts后的“操作”按钮。
  4. 输入文件夹名称,完成新建操作。名称仅支持数字、字母、下划线和中划线,且要求不能以数字开头。

新增接口映射

操作步骤

  1. 选择需要新增的接口类型,Redfish、Webrest、CLi或Snmp。
  2. 在文件列表中,选择需要新增接口映射的目标文件夹。
  3. 单击目标文件后的“操作”。例如:需要在Accounts文件夹下新增接口映射,请单击Accounts后的“操作”按钮。
  4. 选择“新增接口映射”。
  5. 输入接口名称。名称仅支持数字、字母、下划线和中划线,且要求不能以数字开头。
  6. 单击“新增资源”,输入URI资源。
  7. 单击“确认”接口新增成功。
  8. 参考以下说明配置接口信息,以下以新增Redfish接口举例。其他接口根据界面提示设置各项参数即可。Redfish参数操作说明如下:
    • GET(返回所请求的资源描述)
      • 判断资源是否存在:选择“添加匹配条件”,输入需要匹配的资源条件。可同时添加多个匹配条件,添加完成后如需删除某一个条件,请单击该条件后的删除按钮进行操作。
      • 默认分页:分页查询参数的默认值配置,示例写法:Query.Skip、Query.Top。
      • 资源协作接口列表:资源协作接口列表中的文件,可手动拖入 响应体内的配置值中。
      • 响应体:由Statements或列表生成。从Statements生成,请单击“从Statamengts”生成,从列表生成请单击“新增属性”。
    • PATH(修改指定资源)
      • 判断资源是否存在:选择“添加匹配条件。
      • 锁定可写:开启“锁定可写”表示该资源只能被写入,不能被其他进程、用户读取或修改。关闭“锁定可写”表示解除对资源的锁定状态,该资源可以被其他进程、用户进行读取或其他类型的访问操作。
      • 资源协作接口列表:在资源协作接口列表中,选择需要配置的资源协作接口。
      • 请求体:-
    • POST(创建新资源或执行指定资源)
      • 判断资源是否存在:选择“添加匹配条件”,输入需要匹配的资源条件。可同时添加多个匹配条件,添加完成后,如须删除某一个条件,请单击该条件后的删除按钮进行操作。
      • 锁定可写:开启“锁定可写”表示该资源只能被写入,不能被其他进程、用户读取或修改。关闭“锁定可写”表示解除对资源的锁定状态,该资源可以被其他进程、用户进行读取或其他类型的访问操作。
      • 请求体:-
      • 响应体:-
    • DELETE(删除指定资源)
      • 判断资源是否存在:选择“添加匹配条件”,输入需要匹配的资源条件。可同时添加多个匹配条件,添加完成后,如须删除某一个条件,请单击该条件后的删除按钮进行操作。
      • 锁定可写:开启“锁定可写”表示该资源只能被写入,不能被其他进程、用户读取或修改。关闭“锁定可写”表示解除对资源的锁定状态,该资源可以被其他进程、用户进行读取或其他类型的访问操作。
      • 资源协作接口列表:资源协作接口列表中的文件,可手动拖入 响应体内的配置值中。
      • 新建映射:可新建属性、方法、List以及Tast映射。
        1. 单击新建映射,选择新建的映射类型。
        2. 输入相关参数。
        3. 资源协作接口列表中的文件,可手动拖入 响应体内的配置值中。

检查

操作步骤

  1. 在接口文件或文件夹中,选择需要检查的文件,单击“操作”。
  2. 选择“检查”,工具开始检查所选文件的模型一致性。
  3. 检查完成后,单击“检查结果”可查看详情。界面展示“错误提示”、“错误影响”和“修复建议”。

删除接口文件

支持撤销删除操作,具体操方法请参考“常用操作”章节中的“撤销删除文件和撤销修改”。

操作步骤

  1. 在接口文件列表中,选择需要删除的文件,单击“操作”。
  2. 选择“删除”。
  3. 工具弹出确认删除的提示框,请根据情况选择。

开发任务

板卡定制

板卡定制,分为以下两种情况。

  • 板卡新增:定制新的板卡时,对新的器件进行定义,对新增板卡定制前,请先执行以下操作。
    1. 在原生开发定义资源协作接口和路径,操作方法请参考:操作模块 >资源协作接口配置。
    2. MDS里进行管理定义的资源协作接口。
    3. 打开对应的CSR开关。
  • 板卡适配:基于已有器件库,对硬件组件进行定制,包含对组件上器件类型、数量的编排等操作。

定义新器件操作流程(板卡新增)

操作步骤

  1. 在BMC Studio首页,单击“板卡定制”,进入定制板卡操作界面。
  2. 请按照如下流程新增器件,操作方法参见配置CSR模型章节。
    1. (可选)新增CSR模型文件夹。
    2. 新增CSR组件。
    3. 配置模型数据。
    4. 保存配置。
  3. 单击“保存”完成配置。

定制硬件组件(板卡适配)

操作步骤

  1. 在BMC Studio首页,单击“板卡定制”,进入定制板卡操作界面。
  2. 请参考配置CSR模型中的修改模型,适配硬件组件。
  3. 单击“保存”完成配置。

原生开发

使用原生开发功能开发新的APP。

操作步骤

  1. 在BMC Studio首页,单击“原生开发”,进入原生开发操作界面。
  2. 为板卡定义资源协作接口信息。请按照如下流程配置,具体操作方法参见配置资源协作接口章节。
    1. (可选)新增资源协作接口文件夹。
    2. 新增资源协作接口。
    3. 新增资源协作接口路径。
    4. 保存配置。
  3. 在原生开发的导航条上,单击“MDS”。
  4. 为板卡配置MDS信息。具体操作方法参见“操作模块 > 配置MDS”章节。
  5. 配置完成后,单击“保存”。

接口定制

可使用BMC Studio定制北向接口,包含对Redfish、Web-backend、Cli、Snmp接口映射配置的新增、修改和删除,具体操作方法,请参考配置接口映射

编译构建

BMC Studio的工作空间包含多个代码仓,这些代码仓可能被本地管理或被设置为Git工作空间。用户可通过页面配置Git仓地址,将代码同步到工作空间。工具也会自动扫描工作空间,识别出Git仓,并在仓库管理页面展示。

说明
选择Manifest产品后,才可进行仓库初始化操作。仓库完成初始化操作后,才可获取代码。

操作步骤

  1. 参考以下内容选择出包信息。
    • 一键出包:基于该产品空间的本地代码一键出包。

      注意
      仅root用户支持一键出包。

    • Git仓库地址:工作空间中的Git代码仓。
    • 本地分支名称:默认取值为导入Manifest时选择的远端分支,可手动切换分支。
    • 同步远端最新配置:本地分支选择后,单击此按钮进行切换。说明:切换本地分支时将同步最新的远端代码。切换分支时,要求本地代码和Manifest的库上最新代码不能存在冲突,如果存在冲突,请手动解决冲突后再切换分支。
    • 产品名称:选择分支对应的产品名称,切换产品后需重新进行仓库部署。如果该产品已执行过一间仓库部署,则无须再重新进行仓库部署。
    • 一键仓库部署:根据Manifest中产品的配置信息,动态获取仓库配置并完成全量仓库代码的获取。
      • 如果有代码变动,会弹框提示是否覆盖代码,
      • 如果代码未变动,不会提示覆盖代码,但会做代码检查。
    • 获取全量代码:一键拉取全量仓库代码到对应的分支。

      说明
      支持编辑个人远端地址和个人远端分支。

    注意
    一键仓库部署和获取全量代码只能拉取有权限的仓库,只要有一个组件仓库拉取成功,则表示操作成功,未能成功拉取的仓库可查看“仓库日志”确认原因。

  2. 单击“一键出包”,选择对应产品。
  3. 在组件列表勾选需要出包的组件。
  4. 单击“下一步:出包”,出包会显示进度条,出包成功之前请勿执行其他操作。

说明
如果出包失败,仓库管理右侧的“构建日志”列会展示出包失败的日志,可下载全量日志到本地进行分析。
如果出包成功,仓库管理右侧的“固件信息”列会展示出包信息,单击“下载”将固件包下载到本地。

注意
固件包仅保留三天,失效后将无法下载。
“一键仓库部署”和“获取全量代码”的日志将展示在仓库日志中。

代码预览

使用代码预览功能,可在工具界面预览各文件的代码,同时支持在预览界面直接修改并保存代码。

操作步骤

  1. 选择需要查看代码的文件。
  2. 单击页面右侧的“代码预览”按钮。
  3. 界面右侧展示对应文件的代码。

说明
如需搜索代码内的关键字,请将鼠标选中代码框内的任意位置,使用Ctrl+F,输入关键字搜索。代码内存在多个相同的关键字时,可使用Ctrl+G跳转。

模型检查

BMC Studio支持模型的可视化配置,模型与模型之间存在配套关系,通过此功能可以检查出模型之间不一致的错误,并给出告警提示。

说明
工具根据默认的检查规则,检查指定的模型。
如果错误级别未定义或取值不符合规范要求,无法勾选“CSR扩展规则检查样例”。

操作步骤

  1. 在工具首页单击右上角问号旁边的按钮。
  2. 进入“模型检查界面”。
  3. 单击右上角“开始检查”按钮。
  4. 工具将根据已有的检查规则,检查各模型一致性。
  5. 检查结束后,可在“检查结果”页签查看检查详情。参数说明请参考如下:
    • 规则ID:检查规则的ID。
    • 所属模型:可筛需要展示的报错模块。
    • 错误提示:具体错误原因。
    • 错误影响:错误的影响。
    • 修复建议:具体的修复建议。
    • 告警等级:可筛选展示的高级等级。“高”,“中”,“低”。
    • 产生时间:最后一次检查结果的时间。
  6. 单击右上角“导出”可将检查结果导出至本地。

常用操作

查看修改

使用“查看修改”功能,可将修改前和修改后的数据进行比对,同时支持在预览界面直接修改并保存代码。

说明
仅支持比对最近一次保存前后的数据。

操作步骤

  1. 选择操作模块。
  2. 单击左上角“查看修改”的按钮。
  3. 选择目标文件,比对修改前后的数据。
    • 如需搜索代码内的关键字,请将鼠标选中需要搜索的代码框内任意位置,使用Ctrl+F,输入关键字搜索。代码内存在多个相同的关键字时,可使用Ctrl+G跳转。
    • 勾选“统一缩进查看”,可统一缩进格式,便于查看。
    • 如需编辑数据,请单击右上角“编辑”按钮,编辑完成后,单击“保存”。

撤销删除文件和撤销修改

CSR配置、资源协作接口、接口映射均支持撤销删除文件和撤销修改,MDS仅支持撤销修改。

注意
撤销不会有弹框再次确认,单击”撤销“后,工具将直接执行撤销操作。
撤销修改后,代码将变为初始拉取的状态。

撤销修改和撤销删除的方法一致,以下以CSR中的文件已被删除,需要撤销删除的操作。

操作步骤:

  1. 进入CSR操作模块。
  2. 在CSR列表上方单击蓝色字体“查看修改"。
  3. 选择需要撤销删除的文件,单击后方的“撤销”按钮。如果需要批量撤销,可勾选需要操作的文件,单击最上方的“撤销”按钮进行操作。