Commit 2c8deae
committed
fix: DTK shared directory path mismatch due to NFD label sanitization
The DTK flow was failing with path mismatches because the volume mount
path is created by network-operator using NFD labels, which sanitize
kernel version strings by replacing non-alphanumeric characters (except
-._) with underscores.
Example kernel: 5.14.0-570.60.1.el9_6.aarch64+64k
NFD label: feature.node.kubernetes.io/kernel-version.full=5.14.0-570.60.1.el9_6.aarch64_64k
This caused:
- Volume mount path: /mnt/shared-doca-driver-toolkit/5.14.0-570.60.1.el9_6.aarch64_64k/
- Container using: /mnt/shared-doca-driver-toolkit/5.14.0-570.60.1.el9_6.aarch64+64k/
The mismatch led to timeout errors where one container waited for
dtk_start_compile flag in the sanitized path while the other container
created flags in the unsanitized path.
Fix: Apply NFD-compatible sanitization to kernel version when constructing
DTK_OCP_NIC_SHARED_DIR path in both entrypoint.sh and dtk_nic_driver_build.sh.
The FULL_KVER variable remains unchanged for package operations that require
the actual kernel version format.
This matches the sanitization logic in node-feature-discovery:
https://github.com/kubernetes-sigs/node-feature-discovery/blob/master/source/kernel/version.go#L38-L42
Applies to RT kernels (+rt) and 64k hugepage kernels (+64k) on RHEL/RHCOS.
Signed-off-by: Fred Rolland <[email protected]>1 parent 16538d3 commit 2c8deae
2 files changed
+8
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
8 | 11 | | |
9 | 12 | | |
10 | 13 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1360 | 1360 | | |
1361 | 1361 | | |
1362 | 1362 | | |
1363 | | - | |
| 1363 | + | |
| 1364 | + | |
| 1365 | + | |
| 1366 | + | |
1364 | 1367 | | |
1365 | 1368 | | |
1366 | 1369 | | |
| |||
0 commit comments