| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[bugfix] NodeManager判断register成功逻辑有误 Co-authored-by: lbr711<liuboru1@huawei.com> # message auto-generated for no-merge-commit merge: !543 merge fix_register into master [bugfix] NodeManager判断register成功逻辑有误 Created-by: lbr711 Commit-by: lbr711 Merged-by: towncharlie Description: ## **1. 合入背景** 实例重调度后,在实例启动时触发controller备升主。实例日志中打印注册成功,但controller日志显示中实例注册被拒绝并被标记为inactive Fixes#333 ## **2. 修改内容** > 请<ins>**描述修改内容的具体实现**</ins>,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。 > 如果是需求或者重构类的PR,需要<ins>**补充详细设计文档**</ins>(说明上下游组件关系、时序图、类图、DFX能力等内容)。 ## **3. 资料变更** > 请确认<ins>**是否涉及资料变更**</ins>。\ > 如涉及,需要在PR中体现,并简要说明修改内容。\ > 如不涉及,需填写“不涉及”。 ## **4. 接口变更** > 请确认<ins>**是否涉及跨代码仓或者客户面可见的接口变更**</ins>。\ > 如涉及,需详细说明接口以及对应的变更内容,同时需要在资料中体现。\ > 如不涉及,需填写“不涉及”。 ## **5. 测试结果** > 需体现<ins>**测试场景,测试方法以及测试结果**</ins>。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [ ] 代码注释完备 [ ] 正确记录维测日志 [ ] 是否有UT用例 [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 See merge request: Ascend/MindIE-PyMotor!543 | 2 个月前 | |
[feature][kv_store]支持准确扫描可用内存 && 支持Coordinator对接memcache池化metrics &&重构daemon Co-authored-by: 吕有辉<lvyouhui@huawei.com> # message auto-generated for no-merge-commit merge: !498 merge feat/kv_store_backends into master [feature][kv_store]支持准确扫描可用内存 && 支持Coordinator对接memcache池化metrics &&重构daemon Created-by: codeDogPro Commit-by: 吕有辉 Merged-by: towncharlie Description: ## **1. 合入背景** https://gitcode.com/Ascend/MindIE-PyMotor/issues/298 https://gitcode.com/Ascend/MindIE-PyMotor/issues/297 https://gitcode.com/Ascend/MindIE-PyMotor/issues/299 ## **2. 修改内容** 1、集成memfabric_hybrid的mem_scan工具,准确扫描内存可用值,精准部署 2、修正文档错误 3、修复Coordinator不支持memcache metrics获取问题 4、重构daemon管理逻辑,提升可维护性 5、删除atb set_env.sh调用,该调用完全无用,删除后不影响推理,可以正常压测 ## **3. 资料变更** 涉及,修复文档错误 ## **4. 接口变更** 不涉及 ## **5. 测试结果** 1、扫描内存结果成功: (NodeManager pid=295) INFO 07-15 14:18:10 [node_manager][local_service.py:260] mem_scan.stat(node=None, min_mb=2) returned 245 GB total, reserved=196 GB 2、压测无问题 3、Coordinator获取metrics成功: motor:memcache_unmount_successes_total 0 # HELP motor:memcache_unmount_failures_total Total number of Unmount failures # TYPE motor:memcache_unmount_failures_total counter motor:memcache_unmount_failures_total 0 # HELP motor:memcache_evict_operations_total Total number of evict operations # TYPE motor:memcache_evict_operations_total counter motor:memcache_evict_operations_total 0 # HELP motor:memcache_stored_keys Total number of stored keys # TYPE motor:memcache_stored_keys gauge motor:memcache_stored_keys 45 # HELP motor:memcache_segment_capacity_bytes Segment total capacity in bytes # TYPE motor:memcache_segment_capacity_bytes gauge motor:memcache_segment_capacity_bytes{segment="rank-0-dram"} 10737418240 motor:memcache_segment_capacity_bytes{segment="rank-1-dram"} 10737418240 # HELP motor:memcache_segment_allocated_bytes Segment allocated bytes # TYPE motor:memcache_segment_allocated_bytes gauge motor:memcache_segment_allocated_bytes{segment="rank-0-dram"} 352321536 motor:memcache_segment_allocated_bytes{segment="rank-1-dram"} 213909504 # HELP motor:memcache_total_capacity_bytes Total capacity by medium in bytes # TYPE motor:memcache_total_capacity_bytes gauge motor:memcache_total_capacity_bytes{medium="hbm"} 0 motor:memcache_total_capacity_bytes{medium="dram"} 21474836480 # HELP motor:memcache_allocated_bytes Allocated bytes by medium # TYPE motor:memcache_allocated_bytes gauge motor:memcache_allocated_bytes{medium="hbm"} 0 motor:memcache_allocated_bytes{medium="dram"} 566231040 # HELP kv_store_size KV store size in GB (layer=cpu|ssd|all, stat=usage|total) # TYPE kv_store_size gauge kv_store_size{layer="cpu",stat="usage"} 0.0 kv_store_size{layer="cpu",stat="total"} 20.0 kv_store_size{layer="ssd",stat="usage"} 0.0 kv_store_size{layer="ssd",stat="total"} 0.0 kv_store_size{layer="all",stat="usage"} 0.0 kv_store_size{layer="all",stat="total"} 20.0 # HELP kv_store_ratio KV store used ratio 0-1 (layer=cpu|ssd|all, stat=usage_rate) # TYPE kv_store_ratio gauge kv_store_ratio{layer="cpu",stat="usage_rate"} 0.0 kv_store_ratio{layer="ssd",stat="usage_rate"} 0.0 kv_store_ratio{layer="all",stat="usage_rate"} 0.0 # HELP kv_store_keys KV store number of stored keys # TYPE kv_store_keys gauge kv_store_keys 0.0 # HELP kv_store_eviction KV store eviction counters (stat=success|attempts) # TYPE kv_store_eviction gauge kv_store_eviction{stat="success"} 0.0 kv_store_eviction{stat="attempts"} 0.0 4、删除atb set env后启动时间缩短20秒 删除前: [2026-07-15 09:36:21] set_cann_env start [2026-07-15 09:36:44] set_cann_env done, elapsed=23s 删除后: [2026-07-15 09:29:53] set_cann_env start [2026-07-15 09:29:53] set_cann_env done, elapsed=0s ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [ ] 代码注释完备 [ ] 正确记录维测日志 [ ] 是否有UT用例 [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 See merge request: Ascend/MindIE-PyMotor!498 | 2 个月前 | |
fix: support IPv6 MemCache endpoints Co-authored-by: LinWei100<linwei100@huawei.com> # message auto-generated for no-merge-commit merge: !567 merge codex/memcache-ipv6-v2 into master fix: support IPv6 MemCache endpoints Created-by: LinWei100 Commit-by: LinWei100 Merged-by: towncharlie Description: ## 1. 合入背景 Fixes [#339](https://gitcode.com/Ascend/MindIE-PyMotor/issues/339) 基于最新 upstream/master 重建 MemCache IPv6 适配 PR。当前 PyMotor 在 MemCache IPv6 单栈场景中,部分 endpoint 直接拼接 host:port,未按 IPv6 URL 规范添加方括号,导致 MetaService、ConfigStore、Metrics 及 LocalService 链路地址解析失败。 ## 2. 修改内容 1. MemCache MetaService 地址格式化 - 对 IPv6 POD_IP 生成 RFC 2732 格式的 tcp/http URL,例如 tcp://[2001:db8::8]:50088。 - 保持 IPv4 和 DNS 地址行为不变。 - 保留 MMC_CONFIG_STORE_URL、MMC_METRICS_URL 中配置的端口。 2. mmc-local.conf 同步 - 替换 MemCache master 地址时识别 IPv6 host。 - 生成带方括号的 IPv6 tcp URL,同时保留模板端口。 3. Coordinator metrics - 自动构造 MemCache metrics endpoint 时统一使用 IPv6-safe 地址格式化。 4. NodeManager LocalService - standalone 模式生成 MetaService、ConfigStore URL 时统一使用 IPv6-safe 地址格式化。 5. 回归测试 - 新增 MetaService IPv6 URL 测试。 - 新增 mmc-local.conf IPv6 地址同步测试。 - 新增 LocalService standalone IPv6 URL 测试。 - 新增 Coordinator MemCache metrics IPv6 endpoint 测试。 - 测试文件统一使用 tests/node_manager/test_local_service.py,并补齐标准 license。 ## 3. 影响范围 仅涉及 PyMotor 侧 MemCache 地址生成和配置同步;不修改 MemCache 二进制或协议。IPv4、DNS 地址及既有端口配置保持兼容。 ## 4. 验证 - GitCode pre-receive Hook:通过。 - Python 语法检查:通过。 - git diff --check:通过。 基线:最新 upstream/master(重建时为 40c44e3db8a18c268fd7f47015d10b959b1312eb)。 ## 5. CheckList - [x] IPv6 host:port 地址按规范添加方括号 - [x] IPv4/DNS 地址兼容 - [x] MemCache MetaService、Metrics、LocalService 链路覆盖 - [x] 已补充回归测试 See merge request: Ascend/MindIE-PyMotor!567 | 2 个月前 | |
update license Co-authored-by: y1lou<louyi6@huawei.com> # message auto-generated for no-merge-commit merge: !185 merge update_license into master update license Created-by: y1lou Commit-by: y1lou Merged-by: ascend-robot Description: ## **1. 合入背景** > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 请通过#ISSUE ID关联issue。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. ## **2. 修改内容** > 请<ins>**描述修改内容的具体实现**</ins>,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。 > 如果是需求或者重构类的PR,需要<ins>**补充详细设计文档**</ins>(说明上下游组件关系、时序图、类图、DFX能力等内容)。 ## **3. 资料变更** > 请确认<ins>**是否涉及资料变更**</ins>。\ > 如涉及,需要在PR中体现,并简要说明修改内容。\ > 如不涉及,需填写“不涉及”。 ## **4. 接口变更** > 请确认<ins>**是否涉及跨代码仓或者客户面可见的接口变更**</ins>。\ > 如涉及,需详细说明接口以及对应的变更内容,同时需要在资料中体现。\ > 如不涉及,需填写“不涉及”。 ## **5. 测试结果** > 需体现<ins>**测试场景,测试方法以及测试结果**</ins>。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [ ] 代码注释完备 [ ] 正确记录维测日志 [ ] 是否有UT用例 [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 See merge request: Ascend/MindIE-pyMotor!185 | 7 个月前 | |
[feature] Print MindIE-Motor ASCII logo on component startup Co-authored-by: Jechin<yuzechen1@huawei.com> # message auto-generated for no-merge-commit merge: !588 merge feat/startup-logo into master [feature] Print MindIE-Motor ASCII logo on component startup Created-by: Jechin Commit-by: Jechin Merged-by: towncharlie Description: ## **1. 合入背景** 组件启动缺少统一品牌识别,且 setup.py / motor.__version__ / version.info 三处版本硬编码不一致。 Fixes #347 双合 PR:[#589](https://gitcode.com/Ascend/MindIE-PyMotor/merge_requests/589)(合入 v3.1.0)。 ## **2. 修改内容** 1. 新增 motor/common/utils/startup_banner.py,以 Unicode Block MOTOR 字样打印启动 Banner;副标题为 MindIE-Motor · v{version} · {role},与字画左对齐,上方留空行。 2. 在 coordinator / controller / node_manager 的 main 入口调用 log_startup_banner(不接入 EngineServer)。 3. 支持环境变量 MOTOR_DISABLE_LOG_LOGO(与 vLLM 对齐):置 1 时不打印 ASCII 字画,改为单行 MindIE-Motor version …, role …;单容器启动脚本 all_combine_in_single_container.sh 中默认开启,避免多进程刷屏。 4. 以 motor/__init__.py 的 __version__(现为 3.1.0)为唯一版本源;setup.py 解析该字段作为 wheel 版本;build.sh 读取后写入 version.info 的 motor_version(兼容单/双引号),并删除未使用的 vllm_version / vllm_ascend_version 字段。 5. 安装文档/脚本中的 wheel 路径改为 motor-*.whl 通配,避免写死版本号。 6. 补充 tests/common/utils/test_startup_banner.py 单测(含 disable 环境变量路径)。 ## **3. 资料变更** 涉及:构建/部署文档与 ModelArts 安装示例中的 wheel 安装路径改为通配(motor-*.whl)。 ## **4. 接口变更** 不涉及跨仓或客户面接口变更。新增可选环境变量 MOTOR_DISABLE_LOG_LOGO(默认 0,关闭 logo 时设为 1)。 ## **5. 测试结果**   - 场景:本地渲染 Banner / UT;单容器脚本关闭 logo - 方法:pytest tests/common/utils/test_startup_banner.py;验证 setup.py/build.sh 读取版本与 __version__ 一致;MOTOR_DISABLE_LOG_LOGO=1 时输出单行文案 - 结果:单测通过;版本读取一致为 3.1.0 ## **6. CheckList** [x] 代码注释完备 [x] 正确记录维测日志 [x] 是否有UT用例 [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 See merge request: Ascend/MindIE-PyMotor!588 | 2 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 7 个月前 | ||
| 2 个月前 |