From d657e0a16a606e027867f8c6f4be464ca80d99c9 Mon Sep 17 00:00:00 2001 From: Carlos Eduardo Arango Gutierrez Date: Wed, 14 May 2025 12:09:05 +0200 Subject: [PATCH] rename flag to disable-hooks Signed-off-by: Carlos Eduardo Arango Gutierrez --- cmd/nvidia-ctk/cdi/generate/generate_test.go | 27 ++--------------- pkg/nvcdi/driver-nvml.go | 31 ++++++++++++++------ 2 files changed, 24 insertions(+), 34 deletions(-) diff --git a/cmd/nvidia-ctk/cdi/generate/generate_test.go b/cmd/nvidia-ctk/cdi/generate/generate_test.go index ed011c13..1f06d8d0 100644 --- a/cmd/nvidia-ctk/cdi/generate/generate_test.go +++ b/cmd/nvidia-ctk/cdi/generate/generate_test.go @@ -37,7 +37,7 @@ func TestGenerateSpec(t *testing.T) { require.NoError(t, err) driverRoot := filepath.Join(moduleRoot, "testdata", "lookup", "rootfs-1") - disableHook := cli.NewStringSlice("enable-cuda-compat") + disableHook := cli.NewStringSlice("enable-cuda-compat", "create-symlinks", "update-ldcache") logger, _ := testlog.NewNullLogger() testCases := []struct { @@ -117,7 +117,7 @@ containerEdits: `, }, { - description: "skipHook", + description: "disableHooks", options: options{ format: "yaml", mode: "nvml", @@ -155,29 +155,6 @@ containerEdits: deviceNodes: - path: /dev/nvidiactl hostPath: {{ .driverRoot }}/dev/nvidiactl - hooks: - - hookName: createContainer - path: /usr/bin/nvidia-cdi-hook - args: - - nvidia-cdi-hook - - create-symlinks - - --link - - libcuda.so.1::/lib/x86_64-linux-gnu/libcuda.so - - hookName: createContainer - path: /usr/bin/nvidia-cdi-hook - args: - - nvidia-cdi-hook - - update-ldcache - - --folder - - /lib/x86_64-linux-gnu - mounts: - - hostPath: {{ .driverRoot }}/lib/x86_64-linux-gnu/libcuda.so.999.88.77 - containerPath: /lib/x86_64-linux-gnu/libcuda.so.999.88.77 - options: - - ro - - nosuid - - nodev - - bind `, }, } diff --git a/pkg/nvcdi/driver-nvml.go b/pkg/nvcdi/driver-nvml.go index f49f1129..d3706e5c 100644 --- a/pkg/nvcdi/driver-nvml.go +++ b/pkg/nvcdi/driver-nvml.go @@ -99,21 +99,34 @@ func (l *nvcdilib) NewDriverLibraryDiscoverer(version string) (discover.Discover var discoverers []discover.Discover - driverDotSoSymlinksDiscoverer := discover.WithDriverDotSoSymlinks( - libraries, - version, - l.nvidiaCDIHookPath, - ) - discoverers = append(discoverers, driverDotSoSymlinksDiscoverer) + if l.HookIsSupported("create-symlinks") { + driverDotSoSymlinksDiscoverer := discover.WithDriverDotSoSymlinks( + libraries, + version, + l.nvidiaCDIHookPath, + ) + discoverers = append(discoverers, driverDotSoSymlinksDiscoverer) + } if l.HookIsSupported(HookEnableCudaCompat) { // TODO: The following should use the version directly. - cudaCompatLibHookDiscoverer := discover.NewCUDACompatHookDiscoverer(l.logger, l.nvidiaCDIHookPath, l.driver) + cudaCompatLibHookDiscoverer := discover.NewCUDACompatHookDiscoverer( + l.logger, + l.nvidiaCDIHookPath, + l.driver, + ) discoverers = append(discoverers, cudaCompatLibHookDiscoverer) } - updateLDCache, _ := discover.NewLDCacheUpdateHook(l.logger, libraries, l.nvidiaCDIHookPath, l.ldconfigPath) - discoverers = append(discoverers, updateLDCache) + if l.HookIsSupported("update-ldcache") { + updateLDCache, _ := discover.NewLDCacheUpdateHook( + l.logger, + libraries, + l.nvidiaCDIHookPath, + l.ldconfigPath, + ) + discoverers = append(discoverers, updateLDCache) + } d := discover.Merge(discoverers...)