-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
rm bmp-deploy.tar.gz |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
### VS Code ### | ||
.vscode/ | ||
|
||
### Mac OS ### | ||
.DS_Store | ||
|
||
[user] | ||
name = <ERP> | ||
email = <京东邮箱> |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# Baremetal Manage Platform (BMP) | ||
|
||
English | [简体中文](README.zh-CN.md) | ||
|
||
## Introduction | ||
|
||
`Baremetal Manage Platform` is a private bare metal management platform that integrates local infrastructure resource management, server instance lifecycle management, operating system installation and initialization, network configuration initialization, and project-oriented basic resource management. | ||
![bmp_en.png](docs/bmp-deploy/picture/bmp_en.png) | ||
## Core functions | ||
### Server full lifecycle management | ||
- **Multi-brand server unified management** | ||
Unified management of new and old models of domestic and foreign server brands, management of existing servers, regardless of server brand, no need to purchase new network equipment and install smart network cards/DPUs, and support adding custom models. | ||
- **Server batch automatic deployment** | ||
Supports batch large-scale import of equipment, realizes batch server installation and deployment in minutes, and provides server full lifecycle management after deployment. | ||
- **Customized image management service** | ||
Provides both general images and customized image services, pre-installed CentOS 7.9 and Ubuntu 18.04 images, which can be directly installed and used. It also supports importing multiple images, including CentOS, Ubuntu, Windows server, Debian, Open Euler, Kylin, Tongxin, etc. It provides image production guides and two-way linkage of image models. | ||
- **Intelligent operation and maintenance monitoring management** | ||
Supports in-band & out-of-band monitoring management, supports viewing the hardware device status of a single instance, viewing fault alarm log information and processing, and presetting multiple hardware alarm rules; it also supports in-band monitoring and alarm management of resources, displays the status of various monitoring indicators and sets alarm rules. | ||
|
||
### Asset management | ||
- **Comprehensive computer room resource management** | ||
The overall access security verification is adopted, and the global setting of out-of-band server out-of-band login account, password, switch login account, and password information is supported; batch export of full computer room information is provided. | ||
- **Project-dimensional resource management** | ||
Supports logical grouping of users' infrastructure resources, facilitates unified management of resources within the project, supports project sharing and transfer, and improves resource utilization efficiency; supports project addition, editing, and deletion, etc. | ||
|
||
### Permission management | ||
- **User management and security center settings** | ||
Preset three different roles with different permissions to meet the needs of different users, support setting basic user information, changing passwords, managing API keys, etc. | ||
- **Unified operation role management** | ||
Provide a self-service portal for platform administrators, operators, and ordinary users, support platform administrators to use the self-service portal to manage resources, operations, users and roles, and provide operators with unified management and operations of resources through the self-service portal. Ordinary users can apply for, use, operate and manage resources through the self-service portal, and change account names, passwords, etc. | ||
|
||
## Documentation | ||
|
||
- [Quick Experience](docs/setup.md) How to deploy the BMP system with one click. | ||
- [Source code deployment](docs/develop.md) How to deploy the BMP system locally in a containerized manner | ||
- [Local development](docs/local-develop.md) How to deploy and debug locally in a non-containerized manner |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# Baremetal Manage Platform (BMP) | ||
|
||
[English](README.md) | 简体中文 | ||
|
||
## 介绍 | ||
|
||
`Baremetal Manage Platform` 是一款集本地基础设施资源管理、服务器实例生命周期管理、操作系统安装与初始化、网络配置初始化、面向项目的基础资源管理等功能于一体的私有化裸金属管理平台。 | ||
![bmp.png](docs/zh/bmp-deploy/picture/bmp.png) | ||
## 核心功能 | ||
### 服务器全生命周期管理 | ||
- **多品牌服务器统一纳管** | ||
针对国内外服务器品牌的新旧机型进行统一管理,纳管存量服务器,不挑服务器品牌,无需购买新网络设备及加装智能网卡/DPU,支持添加自定义机型。 | ||
- **服务器批量自动化部署** | ||
支持批量大规模导入设备,实现批量服务器分钟级安装部署,部署后提供服务器全生命周期管理。 | ||
- **定制化镜像管理服务** | ||
既提供通用镜像,又提供了定制化镜像服务,预置CentOS 7.9、Ubuntu 18.04镜像,可直接进行装机使用。同时支持导入多种镜像,涵盖CentOS、Ubuntu、Windows server、Debian、Open Euler、麒麟、统信等,提供镜像制作指南,镜像机型双向联动。 | ||
- **智能运维监控管理** | ||
支持带内&带外监控管理,支持查看单个实例的硬件设备状态,查看故障报警日志信息及处理,预置多种硬件报警规则;同时支持资源带内监控和报警管理,展示各项监控指标情况并对设置报警规则。 | ||
|
||
### 资产管理 | ||
- **全面的机房资源管理** | ||
整体采用访问安全验证,支持全局设置带外服务器带外登录账号,密码,交换机登录账号,密码信息;提供批量导出机房全量信息。 | ||
- **项目维度的资源管理** | ||
支持对用户的基础设施资源进行逻辑分组,方便对项目内的资源进行统一管理,支持项目共享及转移,提升资源利用效率;支持项目添加、编辑、删除等。 | ||
|
||
### 权限管理 | ||
- **用户管理及安全中心设置** | ||
预置三种不同角色关联不同权限,满足不同用户使用需求,支持设置用户基本信息、修改密码、管理API密钥等。 | ||
- **统一的运营角色管理** | ||
为平台管理员、运营人员、普通用户提供自服务门户,支持平台管理员通过自服务门户进行资源的统一管理、运维、用户和角色的管理,提供运营人员通过自服务门户进行资源的统一管理、运维,普通用户可以通过自服务门户申请、使用、操作管理资源,修改账户名、密码等。 | ||
|
||
|
||
## 文档 | ||
|
||
- [快速体验](docs/zh/setup.md) 如何一键部署BMP系统。 | ||
- [源码部署](docs/zh/develop.md) 如何本地容器化部署BMP系统 | ||
- [本地开发](docs/zh/local-develop.md) 如何本地非容器化部署调试 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
rm -rf .gitignore |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# eclipse meta | ||
.classpath | ||
.project | ||
.settings/ | ||
.DS_Store | ||
bin/ | ||
|
||
# vscode | ||
.vscode/ | ||
|
||
# Log file | ||
*.log | ||
|
||
|
||
# python | ||
*.eggs/ | ||
*.egg-info/ | ||
dist/ | ||
build/ | ||
*.pyc | ||
.stestr | ||
pylintrc | ||
.tox | ||
|
||
# dev | ||
dev.sh |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
[DEFAULT] | ||
test_path=${OS_TEST_PATH:-./bmpa/tests/unit} | ||
top_dir=./ |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
# Changelog | ||
|
||
## [2.0.7] - 2024-08-09 | ||
### Added | ||
- 新增日志同步到rsyslog | ||
- 修复format分区顺序和partition不一致时导致分区显示乱序问题 | ||
- 新增Ubuntu22.04版本ramos | ||
- 新增Ubuntu20.04版本ramos | ||
- 修复cannot import name 'MutableMapping' from 'collections' | ||
|
||
## [2.0.6] - 2024-08-05 | ||
### Fixed | ||
- 修改刷新数据到硬盘的方式 | ||
|
||
## [2.0.5] - 2024-08-05 | ||
### Fixed | ||
- 修复写入文件的数据未刷到硬盘 | ||
|
||
## [2.0.4] - 2024-08-02 | ||
### Changed | ||
- 采集信息返回网卡bus_info | ||
|
||
## [2.0.3] - 2024-07-22 | ||
### Added | ||
- 修复硬盘发现较慢导致makeraid的sn值获取错误 | ||
|
||
## [2.0.2] - 2024-07-19 | ||
### Added | ||
- 采集信息指令新增返回系统架构字段 | ||
|
||
## [2.0.1] - 2024-05-28 | ||
### Added | ||
- RamOS构建新增版本号 | ||
- 新增Ubuntu22.04RamOS | ||
|
||
### Changed | ||
- 修改采集指令 | ||
- 优化raid指令 | ||
|
||
## [2.0.0] - 2023-03-03 | ||
### Added | ||
- 升级到Python3,接口有重大调整,不兼容老系统 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
include README.md | ||
include docs/*.md | ||
include bmpa/shell/*.sh | ||
include bmpa/template/fstab/*.tpl | ||
include bmpa/template/cloudinit/*.tpl |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
.PHONY: clean-pyc clean-build clean | ||
|
||
help: | ||
@echo "clean - remove all build, test, coverage and Python artifacts" | ||
@echo "clean-build - remove build artifacts" | ||
@echo "clean-pyc - remove Python file artifacts" | ||
@echo "clean-test - remove test and coverage artifacts" | ||
@echo "lint - check style with flake8" | ||
@echo "test - run tests quickly with the default Python" | ||
@echo "test-all - run tests on every Python version with tox" | ||
@echo "install - install the package to the active Python's site-packages" | ||
@echo "develop - build the package to the develop Python's site-packages" | ||
|
||
clean: clean-build clean-pyc clean-test | ||
|
||
clean-build: | ||
rm -fr build/ | ||
rm -fr dist/ | ||
rm -fr .eggs/ | ||
find . -name '*.egg-info' -exec rm -rf {} + | ||
find . -name '*.egg' -exec rm -rf {} + | ||
find . -name '*.log' -exec rm -rf {} + | ||
|
||
clean-pyc: | ||
find . -name '*.pyc' -exec rm -f {} + | ||
find . -name '*.pyo' -exec rm -f {} + | ||
find . -name '*~' -exec rm -f {} + | ||
find . -name '__pycache__' -exec rm -fr {} + | ||
|
||
clean-test: | ||
rm -fr .tox/ | ||
rm -f .coverage | ||
rm -fr htmlcov/ | ||
|
||
lint: | ||
flake8 leviathan_serving tests | ||
|
||
test: | ||
python3 setup.py test | ||
|
||
test-all: | ||
tox | ||
|
||
install: clean | ||
python3 setup.py install | ||
|
||
develop: clean | ||
python3 setup.py develop |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# BMP Agent | ||
English | [简体中文](README.zh-CN.md) | ||
|
||
The BMP Agent runs on RamOS, receiving commands from a scheduler via MQ (Message Queue) and executing corresponding instructions to install and configure the operating system. | ||
|
||
[Command Details](./doc/command.md) | ||
|
||
## Capabilities | ||
1. Collect Server Configuration Information: Gather details such as network interface information, disk information, switch information, etc. | ||
2. Install OS on Servers and Write Configuration Information | ||
|
||
## Deploy the Agent to the RamOS environment | ||
Refer to [imagebuild-docker](./imagebuild-docker/README.md) | ||
|
||
## Log Directory | ||
The Agent log file under RamOS is located at '/tmp/bmpa.log' | ||
|
||
|
||
## Service Control | ||
In RamOS, you can control the Agent service with the following commands: | ||
|
||
1. View service status | ||
```shell | ||
systemctl status bmpa | ||
``` | ||
2. Start the service | ||
```shell | ||
systemctl start bmpa | ||
``` | ||
3. Stop service | ||
```shell | ||
systemctl stop bmpa | ||
``` | ||
## Environment configuration information | ||
Environment configuration information is passed through kernel parameters | ||
|
||
```shell | ||
cat /proc/cmdline | ||
``` | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# BMP Agent | ||
[English](README.md) | 简体中文 | ||
|
||
运行于RamOS中,通过MQ接收调度器下发的指令,并执行相应命令, 进行操作系统的安装及配置。 | ||
|
||
[指令详情](./doc/command.md) | ||
|
||
## 能力 | ||
1. 采集服务器相关配置信息。如网卡信息、硬盘信息、交换机信息等 | ||
2. 为服务器安装OS系统,并写入相关配置信息 | ||
|
||
## 将Agent部署到RamOS中 | ||
详见[imagebuild-docker](./imagebuild-docker/README.md) | ||
|
||
## 日志目录 | ||
RamOS下Agent日志文件位于'/tmp/bmpa.log' | ||
|
||
## 服务控制 | ||
在RamOS中,可以通过以下命令控制Agent服务: | ||
1. 查看服务状态 | ||
```shell | ||
systemctl status bmpa | ||
``` | ||
2. 启动服务 | ||
```shell | ||
systemctl start bmpa | ||
``` | ||
3. 停止服务 | ||
```shell | ||
systemctl stop bmpa | ||
``` | ||
## 环境配置信息 | ||
环境配置信息通过内核参数传递,详见 | ||
```shell | ||
cat /proc/cmdline | ||
``` | ||
|