From 83b6c78350f3991e8fda8c0b6b0d9fa89cefdcae Mon Sep 17 00:00:00 2001 From: Arjun Date: Tue, 23 Jun 2026 16:06:15 +0000 Subject: [PATCH] Swiched hostvolume to /sys/devices/system Signed-off-by: Arjun --- assets/state-driver/0500_daemonset.yaml | 5 +- internal/state/driver_test.go | 50 +++++++++++++++++++ .../golden/driver-additional-configs.yaml | 5 +- .../testdata/golden/driver-full-spec.yaml | 5 +- .../golden/driver-gdrcopy-openshift.yaml | 5 +- .../state/testdata/golden/driver-gdrcopy.yaml | 5 +- .../state/testdata/golden/driver-gds.yaml | 5 +- .../testdata/golden/driver-hostnetwork.yaml | 5 +- .../state/testdata/golden/driver-minimal.yaml | 5 +- .../driver-openshift-drivertoolkit.yaml | 5 +- .../testdata/golden/driver-precompiled.yaml | 5 +- .../golden/driver-rdma-hostmofed.yaml | 5 +- .../state/testdata/golden/driver-rdma.yaml | 5 +- .../testdata/golden/driver-secret-env.yaml | 5 +- .../driver-vgpu-host-manager-openshift.yaml | 5 +- .../golden/driver-vgpu-host-manager.yaml | 5 +- .../golden/driver-vgpu-licensing-secret.yaml | 5 +- .../golden/driver-vgpu-licensing.yaml | 5 +- manifests/state-driver/0500_daemonset.yaml | 5 +- 19 files changed, 104 insertions(+), 36 deletions(-) diff --git a/assets/state-driver/0500_daemonset.yaml b/assets/state-driver/0500_daemonset.yaml index 853cf6fc91..6404af8c51 100644 --- a/assets/state-driver/0500_daemonset.yaml +++ b/assets/state-driver/0500_daemonset.yaml @@ -129,7 +129,7 @@ spec: mountPath: /run/mellanox/drivers mountPropagation: HostToContainer - name: sysfs-memory-online - mountPath: /sys/devices/system/memory/auto_online_blocks + mountPath: /sys/devices/system - name: firmware-search-path mountPath: /sys/module/firmware_class/parameters/path - name: nv-firmware @@ -322,7 +322,8 @@ spec: path: /sys/module/firmware_class/parameters/path - name: sysfs-memory-online hostPath: - path: /sys/devices/system/memory/auto_online_blocks + path: /sys/devices/system + type: Directory - name: nv-firmware hostPath: path: /run/nvidia/driver/lib/firmware diff --git a/internal/state/driver_test.go b/internal/state/driver_test.go index 02b2736f2b..13d094663e 100644 --- a/internal/state/driver_test.go +++ b/internal/state/driver_test.go @@ -142,6 +142,56 @@ func TestDriverRenderMinimal(t *testing.T) { require.Equal(t, string(o), actual) } +func TestDriverSysfsMemoryOnlineVolumeUsesStableParentDirectory(t *testing.T) { + state, err := NewStateDriver(nil, "", nil, manifestDir) + require.Nil(t, err) + stateDriver, ok := state.(*stateDriver) + require.True(t, ok) + + objs, err := stateDriver.renderer.RenderObjects( + &render.TemplatingData{ + Data: getMinimalDriverRenderData(), + }) + require.Nil(t, err) + require.NotEmpty(t, objs) + + ds, err := getDaemonsetFromObjects(objs) + require.Nil(t, err) + + var sysfsMemoryOnlineVolume *corev1.Volume + for i := range ds.Spec.Template.Spec.Volumes { + if ds.Spec.Template.Spec.Volumes[i].Name == "sysfs-memory-online" { + sysfsMemoryOnlineVolume = &ds.Spec.Template.Spec.Volumes[i] + break + } + } + require.NotNil(t, sysfsMemoryOnlineVolume) + require.NotNil(t, sysfsMemoryOnlineVolume.HostPath) + require.NotNil(t, sysfsMemoryOnlineVolume.HostPath.Type) + assert.Equal(t, "/sys/devices/system", sysfsMemoryOnlineVolume.HostPath.Path) + assert.Equal(t, corev1.HostPathDirectory, *sysfsMemoryOnlineVolume.HostPath.Type) + + var driverContainer *corev1.Container + for i := range ds.Spec.Template.Spec.Containers { + if ds.Spec.Template.Spec.Containers[i].Name == "nvidia-driver-ctr" { + driverContainer = &ds.Spec.Template.Spec.Containers[i] + break + } + } + require.NotNil(t, driverContainer) + + var sysfsMemoryOnlineMount *corev1.VolumeMount + for i := range driverContainer.VolumeMounts { + if driverContainer.VolumeMounts[i].Name == "sysfs-memory-online" { + sysfsMemoryOnlineMount = &driverContainer.VolumeMounts[i] + break + } + } + require.NotNil(t, sysfsMemoryOnlineMount) + assert.Equal(t, "/sys/devices/system", sysfsMemoryOnlineMount.MountPath) + assert.Empty(t, sysfsMemoryOnlineMount.SubPath) +} + func TestDriverHostNetwork(t *testing.T) { const ( testName = "driver-hostnetwork" diff --git a/internal/state/testdata/golden/driver-additional-configs.yaml b/internal/state/testdata/golden/driver-additional-configs.yaml index 774daf5991..40e7be7516 100644 --- a/internal/state/testdata/golden/driver-additional-configs.yaml +++ b/internal/state/testdata/golden/driver-additional-configs.yaml @@ -240,7 +240,7 @@ spec: name: run-mellanox-drivers - mountPath: /sys/module/firmware_class/parameters/path name: firmware-search-path - - mountPath: /sys/devices/system/memory/auto_online_blocks + - mountPath: /sys/devices/system name: sysfs-memory-online - mountPath: /lib/firmware name: nv-firmware @@ -358,7 +358,8 @@ spec: path: /sys/module/firmware_class/parameters/path name: firmware-search-path - hostPath: - path: /sys/devices/system/memory/auto_online_blocks + path: /sys/devices/system + type: Directory name: sysfs-memory-online - hostPath: path: /run/nvidia/driver/lib/firmware diff --git a/internal/state/testdata/golden/driver-full-spec.yaml b/internal/state/testdata/golden/driver-full-spec.yaml index 24f859bb6e..a2f53be16f 100644 --- a/internal/state/testdata/golden/driver-full-spec.yaml +++ b/internal/state/testdata/golden/driver-full-spec.yaml @@ -258,7 +258,7 @@ spec: name: run-mellanox-drivers - mountPath: /sys/module/firmware_class/parameters/path name: firmware-search-path - - mountPath: /sys/devices/system/memory/auto_online_blocks + - mountPath: /sys/devices/system name: sysfs-memory-online - mountPath: /lib/firmware name: nv-firmware @@ -381,7 +381,8 @@ spec: path: /sys/module/firmware_class/parameters/path name: firmware-search-path - hostPath: - path: /sys/devices/system/memory/auto_online_blocks + path: /sys/devices/system + type: Directory name: sysfs-memory-online - hostPath: path: /run/nvidia/driver/lib/firmware diff --git a/internal/state/testdata/golden/driver-gdrcopy-openshift.yaml b/internal/state/testdata/golden/driver-gdrcopy-openshift.yaml index 391e228414..4ee0c29c49 100644 --- a/internal/state/testdata/golden/driver-gdrcopy-openshift.yaml +++ b/internal/state/testdata/golden/driver-gdrcopy-openshift.yaml @@ -312,7 +312,7 @@ spec: name: run-mellanox-drivers - mountPath: /sys/module/firmware_class/parameters/path name: firmware-search-path - - mountPath: /sys/devices/system/memory/auto_online_blocks + - mountPath: /sys/devices/system name: sysfs-memory-online - mountPath: /lib/firmware name: nv-firmware @@ -532,7 +532,8 @@ spec: path: /sys/module/firmware_class/parameters/path name: firmware-search-path - hostPath: - path: /sys/devices/system/memory/auto_online_blocks + path: /sys/devices/system + type: Directory name: sysfs-memory-online - hostPath: path: /run/nvidia/driver/lib/firmware diff --git a/internal/state/testdata/golden/driver-gdrcopy.yaml b/internal/state/testdata/golden/driver-gdrcopy.yaml index 77f21927aa..d30bb71bcf 100644 --- a/internal/state/testdata/golden/driver-gdrcopy.yaml +++ b/internal/state/testdata/golden/driver-gdrcopy.yaml @@ -242,7 +242,7 @@ spec: name: run-mellanox-drivers - mountPath: /sys/module/firmware_class/parameters/path name: firmware-search-path - - mountPath: /sys/devices/system/memory/auto_online_blocks + - mountPath: /sys/devices/system name: sysfs-memory-online - mountPath: /lib/firmware name: nv-firmware @@ -412,7 +412,8 @@ spec: path: /sys/module/firmware_class/parameters/path name: firmware-search-path - hostPath: - path: /sys/devices/system/memory/auto_online_blocks + path: /sys/devices/system + type: Directory name: sysfs-memory-online - hostPath: path: /run/nvidia/driver/lib/firmware diff --git a/internal/state/testdata/golden/driver-gds.yaml b/internal/state/testdata/golden/driver-gds.yaml index 109c497091..dba3d7db94 100644 --- a/internal/state/testdata/golden/driver-gds.yaml +++ b/internal/state/testdata/golden/driver-gds.yaml @@ -242,7 +242,7 @@ spec: name: run-mellanox-drivers - mountPath: /sys/module/firmware_class/parameters/path name: firmware-search-path - - mountPath: /sys/devices/system/memory/auto_online_blocks + - mountPath: /sys/devices/system name: sysfs-memory-online - mountPath: /lib/firmware name: nv-firmware @@ -412,7 +412,8 @@ spec: path: /sys/module/firmware_class/parameters/path name: firmware-search-path - hostPath: - path: /sys/devices/system/memory/auto_online_blocks + path: /sys/devices/system + type: Directory name: sysfs-memory-online - hostPath: path: /run/nvidia/driver/lib/firmware diff --git a/internal/state/testdata/golden/driver-hostnetwork.yaml b/internal/state/testdata/golden/driver-hostnetwork.yaml index e08f74186f..2a65f79086 100644 --- a/internal/state/testdata/golden/driver-hostnetwork.yaml +++ b/internal/state/testdata/golden/driver-hostnetwork.yaml @@ -240,7 +240,7 @@ spec: name: run-mellanox-drivers - mountPath: /sys/module/firmware_class/parameters/path name: firmware-search-path - - mountPath: /sys/devices/system/memory/auto_online_blocks + - mountPath: /sys/devices/system name: sysfs-memory-online - mountPath: /lib/firmware name: nv-firmware @@ -351,7 +351,8 @@ spec: path: /sys/module/firmware_class/parameters/path name: firmware-search-path - hostPath: - path: /sys/devices/system/memory/auto_online_blocks + path: /sys/devices/system + type: Directory name: sysfs-memory-online - hostPath: path: /run/nvidia/driver/lib/firmware diff --git a/internal/state/testdata/golden/driver-minimal.yaml b/internal/state/testdata/golden/driver-minimal.yaml index d08ba1c2b4..3075dc5fa1 100644 --- a/internal/state/testdata/golden/driver-minimal.yaml +++ b/internal/state/testdata/golden/driver-minimal.yaml @@ -240,7 +240,7 @@ spec: name: run-mellanox-drivers - mountPath: /sys/module/firmware_class/parameters/path name: firmware-search-path - - mountPath: /sys/devices/system/memory/auto_online_blocks + - mountPath: /sys/devices/system name: sysfs-memory-online - mountPath: /lib/firmware name: nv-firmware @@ -349,7 +349,8 @@ spec: path: /sys/module/firmware_class/parameters/path name: firmware-search-path - hostPath: - path: /sys/devices/system/memory/auto_online_blocks + path: /sys/devices/system + type: Directory name: sysfs-memory-online - hostPath: path: /run/nvidia/driver/lib/firmware diff --git a/internal/state/testdata/golden/driver-openshift-drivertoolkit.yaml b/internal/state/testdata/golden/driver-openshift-drivertoolkit.yaml index ad978ad565..217d0fb763 100644 --- a/internal/state/testdata/golden/driver-openshift-drivertoolkit.yaml +++ b/internal/state/testdata/golden/driver-openshift-drivertoolkit.yaml @@ -310,7 +310,7 @@ spec: name: run-mellanox-drivers - mountPath: /sys/module/firmware_class/parameters/path name: firmware-search-path - - mountPath: /sys/devices/system/memory/auto_online_blocks + - mountPath: /sys/devices/system name: sysfs-memory-online - mountPath: /lib/firmware name: nv-firmware @@ -468,7 +468,8 @@ spec: path: /sys/module/firmware_class/parameters/path name: firmware-search-path - hostPath: - path: /sys/devices/system/memory/auto_online_blocks + path: /sys/devices/system + type: Directory name: sysfs-memory-online - hostPath: path: /run/nvidia/driver/lib/firmware diff --git a/internal/state/testdata/golden/driver-precompiled.yaml b/internal/state/testdata/golden/driver-precompiled.yaml index 8441a3438d..e9a8a147f3 100644 --- a/internal/state/testdata/golden/driver-precompiled.yaml +++ b/internal/state/testdata/golden/driver-precompiled.yaml @@ -242,7 +242,7 @@ spec: name: run-mellanox-drivers - mountPath: /sys/module/firmware_class/parameters/path name: firmware-search-path - - mountPath: /sys/devices/system/memory/auto_online_blocks + - mountPath: /sys/devices/system name: sysfs-memory-online - mountPath: /lib/firmware name: nv-firmware @@ -352,7 +352,8 @@ spec: path: /sys/module/firmware_class/parameters/path name: firmware-search-path - hostPath: - path: /sys/devices/system/memory/auto_online_blocks + path: /sys/devices/system + type: Directory name: sysfs-memory-online - hostPath: path: /run/nvidia/driver/lib/firmware diff --git a/internal/state/testdata/golden/driver-rdma-hostmofed.yaml b/internal/state/testdata/golden/driver-rdma-hostmofed.yaml index c2f055b4ab..d210ef4324 100644 --- a/internal/state/testdata/golden/driver-rdma-hostmofed.yaml +++ b/internal/state/testdata/golden/driver-rdma-hostmofed.yaml @@ -244,7 +244,7 @@ spec: name: run-mellanox-drivers - mountPath: /sys/module/firmware_class/parameters/path name: firmware-search-path - - mountPath: /sys/devices/system/memory/auto_online_blocks + - mountPath: /sys/devices/system name: sysfs-memory-online - mountPath: /lib/firmware name: nv-firmware @@ -432,7 +432,8 @@ spec: path: /sys/module/firmware_class/parameters/path name: firmware-search-path - hostPath: - path: /sys/devices/system/memory/auto_online_blocks + path: /sys/devices/system + type: Directory name: sysfs-memory-online - hostPath: path: /run/nvidia/driver/lib/firmware diff --git a/internal/state/testdata/golden/driver-rdma.yaml b/internal/state/testdata/golden/driver-rdma.yaml index 7f6f1127a3..89d014380b 100644 --- a/internal/state/testdata/golden/driver-rdma.yaml +++ b/internal/state/testdata/golden/driver-rdma.yaml @@ -242,7 +242,7 @@ spec: name: run-mellanox-drivers - mountPath: /sys/module/firmware_class/parameters/path name: firmware-search-path - - mountPath: /sys/devices/system/memory/auto_online_blocks + - mountPath: /sys/devices/system name: sysfs-memory-online - mountPath: /lib/firmware name: nv-firmware @@ -426,7 +426,8 @@ spec: path: /sys/module/firmware_class/parameters/path name: firmware-search-path - hostPath: - path: /sys/devices/system/memory/auto_online_blocks + path: /sys/devices/system + type: Directory name: sysfs-memory-online - hostPath: path: /run/nvidia/driver/lib/firmware diff --git a/internal/state/testdata/golden/driver-secret-env.yaml b/internal/state/testdata/golden/driver-secret-env.yaml index 6db2ceb596..b3da58665c 100644 --- a/internal/state/testdata/golden/driver-secret-env.yaml +++ b/internal/state/testdata/golden/driver-secret-env.yaml @@ -247,7 +247,7 @@ spec: name: run-mellanox-drivers - mountPath: /sys/module/firmware_class/parameters/path name: firmware-search-path - - mountPath: /sys/devices/system/memory/auto_online_blocks + - mountPath: /sys/devices/system name: sysfs-memory-online - mountPath: /lib/firmware name: nv-firmware @@ -444,7 +444,8 @@ spec: path: /sys/module/firmware_class/parameters/path name: firmware-search-path - hostPath: - path: /sys/devices/system/memory/auto_online_blocks + path: /sys/devices/system + type: Directory name: sysfs-memory-online - hostPath: path: /run/nvidia/driver/lib/firmware diff --git a/internal/state/testdata/golden/driver-vgpu-host-manager-openshift.yaml b/internal/state/testdata/golden/driver-vgpu-host-manager-openshift.yaml index 376d0910e1..cf7f123524 100644 --- a/internal/state/testdata/golden/driver-vgpu-host-manager-openshift.yaml +++ b/internal/state/testdata/golden/driver-vgpu-host-manager-openshift.yaml @@ -275,7 +275,7 @@ spec: name: run-mellanox-drivers - mountPath: /sys/module/firmware_class/parameters/path name: firmware-search-path - - mountPath: /sys/devices/system/memory/auto_online_blocks + - mountPath: /sys/devices/system name: sysfs-memory-online - mountPath: /lib/firmware name: nv-firmware @@ -437,7 +437,8 @@ spec: path: /sys/module/firmware_class/parameters/path name: firmware-search-path - hostPath: - path: /sys/devices/system/memory/auto_online_blocks + path: /sys/devices/system + type: Directory name: sysfs-memory-online - hostPath: path: /run/nvidia/driver/lib/firmware diff --git a/internal/state/testdata/golden/driver-vgpu-host-manager.yaml b/internal/state/testdata/golden/driver-vgpu-host-manager.yaml index 110a71c56d..373976aaaf 100644 --- a/internal/state/testdata/golden/driver-vgpu-host-manager.yaml +++ b/internal/state/testdata/golden/driver-vgpu-host-manager.yaml @@ -227,7 +227,7 @@ spec: name: run-mellanox-drivers - mountPath: /sys/module/firmware_class/parameters/path name: firmware-search-path - - mountPath: /sys/devices/system/memory/auto_online_blocks + - mountPath: /sys/devices/system name: sysfs-memory-online - mountPath: /lib/firmware name: nv-firmware @@ -343,7 +343,8 @@ spec: path: /sys/module/firmware_class/parameters/path name: firmware-search-path - hostPath: - path: /sys/devices/system/memory/auto_online_blocks + path: /sys/devices/system + type: Directory name: sysfs-memory-online - hostPath: path: /run/nvidia/driver/lib/firmware diff --git a/internal/state/testdata/golden/driver-vgpu-licensing-secret.yaml b/internal/state/testdata/golden/driver-vgpu-licensing-secret.yaml index 9c63fa61c0..cfb4f7f0c3 100644 --- a/internal/state/testdata/golden/driver-vgpu-licensing-secret.yaml +++ b/internal/state/testdata/golden/driver-vgpu-licensing-secret.yaml @@ -240,7 +240,7 @@ spec: name: run-mellanox-drivers - mountPath: /sys/module/firmware_class/parameters/path name: firmware-search-path - - mountPath: /sys/devices/system/memory/auto_online_blocks + - mountPath: /sys/devices/system name: sysfs-memory-online - mountPath: /lib/firmware name: nv-firmware @@ -355,7 +355,8 @@ spec: path: /sys/module/firmware_class/parameters/path name: firmware-search-path - hostPath: - path: /sys/devices/system/memory/auto_online_blocks + path: /sys/devices/system + type: Directory name: sysfs-memory-online - hostPath: path: /run/nvidia/driver/lib/firmware diff --git a/internal/state/testdata/golden/driver-vgpu-licensing.yaml b/internal/state/testdata/golden/driver-vgpu-licensing.yaml index b04ed567f8..6216c5146c 100644 --- a/internal/state/testdata/golden/driver-vgpu-licensing.yaml +++ b/internal/state/testdata/golden/driver-vgpu-licensing.yaml @@ -240,7 +240,7 @@ spec: name: run-mellanox-drivers - mountPath: /sys/module/firmware_class/parameters/path name: firmware-search-path - - mountPath: /sys/devices/system/memory/auto_online_blocks + - mountPath: /sys/devices/system name: sysfs-memory-online - mountPath: /lib/firmware name: nv-firmware @@ -355,7 +355,8 @@ spec: path: /sys/module/firmware_class/parameters/path name: firmware-search-path - hostPath: - path: /sys/devices/system/memory/auto_online_blocks + path: /sys/devices/system + type: Directory name: sysfs-memory-online - hostPath: path: /run/nvidia/driver/lib/firmware diff --git a/manifests/state-driver/0500_daemonset.yaml b/manifests/state-driver/0500_daemonset.yaml index 5b9c6c62fb..c82ff6a041 100644 --- a/manifests/state-driver/0500_daemonset.yaml +++ b/manifests/state-driver/0500_daemonset.yaml @@ -326,7 +326,7 @@ spec: - name: firmware-search-path mountPath: /sys/module/firmware_class/parameters/path - name: sysfs-memory-online - mountPath: /sys/devices/system/memory/auto_online_blocks + mountPath: /sys/devices/system - name: nv-firmware mountPath: /lib/firmware - name: driver-startup-probe-script @@ -689,7 +689,8 @@ spec: path: /sys/module/firmware_class/parameters/path - name: sysfs-memory-online hostPath: - path: /sys/devices/system/memory/auto_online_blocks + path: /sys/devices/system + type: Directory - name: nv-firmware hostPath: path: /run/nvidia/driver/lib/firmware