li-wen配置详解:excluded_workers.yaml与wsdm.ini的完整配置指南
【免费下载链接】li-wenTool for dynamic management of worker resources in OBS-Build system项目地址: https://gitcode.com/openeuler/li-wen
前往项目官网免费下载:https://ar.openeuler.org/ar/
li-wen是openEuler社区推出的OBS-Build系统worker资源动态管理工具,能够根据构建任务需求自动调整worker资源,提升构建效率。本文将详细介绍其核心配置文件excluded_workers.yaml与wsdm.ini的设置方法,帮助用户快速掌握配置技巧。
一、配置文件概述
li-wen的配置体系主要由两个核心文件构成:
- excluded_workers.yaml:定义需要排除的worker节点规则
- wsdm.ini:主配置文件,包含监控参数、资源等级和worker规格等核心设置
这两个文件位于项目的libs/conf/目录下,是实现worker资源动态管理的关键。
li-wen架构图
二、excluded_workers.yaml配置详解
2.1 文件结构
excluded_workers.yaml采用YAML格式,按架构类型组织需要排除的worker节点:
x86: xx.xx.xx.xx: name: ecs-obsworker-xxxx vcpus: 16/32/64 aarch64: xx.xx.xx.xx: name: obs-obsworker-xxxx vcpus: 16/32/642.2 配置项说明
| 配置项 | 说明 |
|---|---|
| 架构类型(x86/aarch64) | 顶层键,按CPU架构分类 |
| IP地址 | 要排除的worker节点IP |
| name | worker节点名称 |
| vcpus | 节点的CPU核心配置,支持多规格表示(如16/32/64) |
2.3 配置示例
排除特定x86架构worker:
x86: 192.168.1.100: name: ecs-obsworker-001 vcpus: 16 192.168.1.101: name: ecs-obsworker-002 vcpus: 32三、wsdm.ini配置详解
wsdm.ini是li-wen的主配置文件,包含多个功能模块的设置,采用INI格式组织。
3.1 [Monitor]模块
该模块配置监控相关参数:
[Monitor] # 检查schedule状态任务的时间间隔(s) interval_for_check_schedule = 300 # 检查新worker可用状态的时间间隔(s) interval_for_cycle_check_new_worker = 3 # 释放worker前校验预留worker的次数 num_for_check_reserved_worker = 3 # 校验预留worker的时间间隔(s) interval_for_check_reserved_worker = 300 # 监控的项目 projects = openEuler-Mainline-copy # repo服务器地址 repo_server = other-backend.openeuler.org:5252关键参数说明:
interval_for_check_schedule:建议设置为300-600秒,根据任务量调整interval_for_cycle_check_new_worker:建议设置为3-10秒,太短会增加系统负载
3.2 [Build_Time_Level]模块
定义构建时间等级划分,用于worker资源的动态分配:
[Build_Time_Level] # 基于软件包平均构建时长,分为三个等级 l1 = 0,5 # 0-5分钟 l2 = 5,15 # 5-15分钟 l3 = 15,MAX # 15分钟以上3.3 Worker规格配置
根据构建时间等级,配置不同规格的worker资源:
L1级Worker配置(短时间构建任务)
[L1_Worker_Conf] vcpus = 16 # CPU核心数 ram = 32 # 内存大小(G) jobs = 16 # 并行任务数 instances = 5 # 实例数量 max_limit = 45 # 最大限制数 per_limit = 2 # 每项目限制数L2级Worker配置(中等时间构建任务)
[L2_Worker_Conf] vcpus = 32 ram = 64 jobs = 32 instances = 10 max_limit = 30 per_limit = 2L3级Worker配置(长时间构建任务)
[L3_Worker_Conf] vcpus = 64 ram = 128 jobs = 64 instances = 6 max_limit = 20 per_limit = 2li-wen工作流程图
四、配置最佳实践
4.1 性能优化建议
根据实际负载调整监控间隔:
- 任务高峰期可缩短
interval_for_cycle_check_new_worker至3秒 - 低峰期可延长至10秒,减少系统资源消耗
- 任务高峰期可缩短
合理设置Worker规格:
- L1级Worker适合小型包构建,可配置较多实例
- L3级Worker资源消耗大,建议控制实例数量
4.2 常见问题解决
Worker资源分配不均:
- 检查
per_limit参数,确保各项目资源分配公平 - 调整
max_limit控制总资源使用
- 检查
构建任务超时:
- 检查
Build_Time_Level划分是否合理 - 考虑将长时间任务分配到L3级Worker
- 检查
五、配置文件位置与获取
配置文件位于项目的libs/conf/目录下:
- excluded_workers.yaml完整路径:
libs/conf/excluded_workers.yaml - wsdm.ini完整路径:
wsdm.ini
获取项目源码:
git clone https://gitcode.com/openeuler/li-wen通过合理配置excluded_workers.yaml和wsdm.ini,li-wen能够智能管理OBS-Build系统的worker资源,实现构建任务的高效处理。建议根据实际业务需求定期优化配置参数,以获得最佳性能。
【免费下载链接】li-wenTool for dynamic management of worker resources in OBS-Build system项目地址: https://gitcode.com/openeuler/li-wen
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考