From de5f61175dc6479566b78b43c16fe774dba90d03 Mon Sep 17 00:00:00 2001 From: gitlawr Date: Thu, 17 Sep 2026 18:00:07 +0800 Subject: [PATCH] fix(ascend): mount the device NIC addresses so RoCE endpoints can be built A transport building Device RoCE endpoints reads each NPU's NIC address from /etc/hccn.conf, or from hccn_tool, which lives in a driver directory none of the injected mounts covers. Neither reaches the container, so the engine fails to initialize with "Failed to get device ip from hccn.conf and hccn_tool" and every process that opens the transport dies at startup: a shared KV cache store on an Ascend node never comes up, and an engine attaching to one fails the same way. Inject the file beside the ranktable it already sits next to. A host that configured no device NICs has no such file and path_to_cdi_mount skips what is absent, so a container that never opens the transport sees no change. --- gpustack_runtime/deployer/cdi/ascend.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gpustack_runtime/deployer/cdi/ascend.py b/gpustack_runtime/deployer/cdi/ascend.py index b00c634..da33483 100644 --- a/gpustack_runtime/deployer/cdi/ascend.py +++ b/gpustack_runtime/deployer/cdi/ascend.py @@ -43,6 +43,16 @@ https://gitcode.com/Ascend/mind-cluster/blob/master/docs/en/scheduling/references/appendix.md. """ +_HCCN_CONF_PATH = "/etc/hccn.conf" +""" +The device NIC addresses, as configured on the host. A transport that builds +RoCE endpoints reads them from this file or from hccn_tool, which lives in a +driver directory none of the mounts below covers; without either, the engine +fails to initialize with "Failed to get device ip from hccn.conf and +hccn_tool". A container that talks to another node over Device RoCE therefore +needs this file, and one that does not is unaffected by its presence. +""" + _A5_RANKTABLE_VERSION = "2.0" """ The ranktable version the A5 generation requires. @@ -160,6 +170,7 @@ def generate( mount_paths = [ _HCCL_RANKTABLE_PATH, + _HCCN_CONF_PATH, "/usr/local/Ascend/driver/topo", "/usr/local/Ascend/driver/lib64", "/usr/local/Ascend/driver/include",