rackmount:基于管理模型的机架形态配置数据项目

Redfish/CLI/SNMP/Webrest interface mapping configurations for rackmount server

分支5Tags849
当前项目代码仓暂无内容

rackmount

验证说明:本文档为 rackmount 组件构建与测试的参考指导。推荐使用 Ubuntu 24.04 LTS 环境,其他操作系统(如 openEuler、CentOS、Debian)暂未验证。

为满足产品化机型的差异处理和伙伴开放场景的使用,将系统配置按管理模型进行划分,每种形态单独仓库管理。本仓库描述的是机架形态配置数据(rackmount)的基础配置。支持redfish/web_backend/cli/snmp的北向接口映射配置,支持正向采集映射器配置


目录


仓库地址

https://gitcode.com/openUBMC/rackmount


系统要求

项目 要求
操作系统 Ubuntu 24.04 LTS(仅支持此版本)
芯片架构 x86-64(amd64)
Python >= 3.10(init.py 运行依赖)

bingo、Conan 等构建工具由 init.py 自动安装,无需手动准备。推荐使用 Docker 容器进行构建,可使用以下镜像快速启动开发环境:

docker pull swr.cn-north-4.myhuaweicloud.com/openubmc/ubuntu:24.04.2

环境依赖

构建 rackmount 前需完成 openUBMC 开发环境初始化(安装 bingo、Conan、Node.js、配置 Conan 远程仓库等)。完整初始化步骤和常见问题排查请参阅 openUBMC 构建指导书,该文档包含容器环境搭建、init.py 执行、Conan 登录验证等全部操作说明。

构建工具安装说明:bingo 和 Conan 需通过 manifest 仓库的 init.py 流程统一安装。单独执行 pip install conan 等手动安装方式会导致 Conan 远程仓库认证失败,bingo build 无法拉取依赖包。


构建

获取组件代码

前提:已完成 环境依赖 中的 init.py 初始化流程,bingoconan 命令可用。

cd /home/workspace
git clone https://gitcode.com/openUBMC/rackmount.git

组件级构建

进入 rackmount 组件目录后,使用 bingo 执行构建:

cd /home/workspace/rackmount

# dev 阶段构建(默认)
bingo build --stage=dev

# stable 阶段构建
bingo build --stage=stable

# dev 阶段 + release 类型构建
bingo build --stage=dev -bt release

构建参数说明

bingo build [-h] [-bt BUILD_TYPE] [--stage STAGE] [-u] [-r REMOTE] [--conan2] [-nc] [-o OPTIONS] [--user USER] [-wb] [--ccache]
参数 说明 默认值
-bt / --build_type 构建类型,可选 debugrelease debug
--stage 包发布阶段,可选 devprercstable dev
-u / --upload 上传组件包到 Conan 仓库
-r / --remote Conan 仓库别名
--conan2 强制使用 Conan2 构建组件
-nc / --no_cache 强制更新 Conan 缓存依赖
-o / --options 定义组件选项值
--user 指定 Conan 包的 user 字段 openubmc
-wb / --without_build 不强制源码构建组件自身
--ccache 使用 ccache 加速 C/C++ 编译

测试

使用 bingo test 运行单元测试,需加 -jit 参数,否则测试会失败:

# 运行单元测试
bingo test -ut -jit

# 运行单元测试并指定过滤
bingo test -ut -jit -f <filter>

# 运行单元测试并启用 ASAN
bingo test -ut -jit -as

常用测试参数:

参数 说明
-ut 启用单元测试
-f 测试过滤
-jit 需加此参数,否则测试会失败
-as 启用 AddressSanitizer

项目结构

rackmount/
├ .pre-commit-config.yaml              # Git 预提交钩子配置
├ CHANGELOG.md                         # 变更日志
├ CMakeLists.txt                       # CMake 构建配置
├ CONTRIBUTING.md                      # 贡献指南
├ LICENSE                              # 许可证
├ README.md                            # 项目说明
├ conanfile.py                         # Conan 包配置
├ custom/                              # 产品级定制配置
├ doc/                                 # 设计文档
├ interface_config/                    # 北向接口映射配置
├ mds/                                 # MDS 数据模型定义
├ oem/                                 # OEM 扩展实现
├ permissions.ini                      # 权限配置
├ test/                                # 测试用例
└ tools/                               # 辅助工具

许可证

本项目基于 Mulan PSL v2 许可证开源。详情请参阅项目根目录下的 LICENSE 文件

项目介绍

Redfish/CLI/SNMP/Webrest interface mapping configurations for rackmount server

定制我的领域