Use require-nvidia-kernel-modules feature for toolkit installation

Signed-off-by: Evan Lezar <elezar@nvidia.com>
This commit is contained in:
Evan Lezar 2024-10-30 15:13:34 +01:00
parent 7263d26817
commit ac61306900
No known key found for this signature in database
5 changed files with 5 additions and 44 deletions

View File

@ -36,7 +36,6 @@ type executable struct {
source string
target executableTarget
env map[string]string
preLines []string
argLines []string
}
@ -96,11 +95,6 @@ func (e executable) writeWrapperTo(wrapper io.Writer, destFolder string, dotfile
// Add the shebang
fmt.Fprintln(wrapper, "#! /bin/sh")
// Add the preceding lines if any
for _, line := range e.preLines {
fmt.Fprintf(wrapper, "%s\n", r.apply(line))
}
// Update the path to include the destination folder
var env map[string]string
if e.env == nil {

View File

@ -59,23 +59,6 @@ func TestWrapper(t *testing.T) {
"",
},
},
{
e: executable{
preLines: []string{
"preline1",
"preline2",
},
},
expectedLines: []string{
shebang,
"preline1",
"preline2",
"PATH=/dest/folder:$PATH \\",
"source.real \\",
"\t\"$@\"",
"",
},
},
{
e: executable{
argLines: []string{

View File

@ -57,16 +57,6 @@ func newNvidiaContainerRuntimeInstaller(source string) *executable {
}
func newRuntimeInstaller(source string, target executableTarget, env map[string]string) *executable {
preLines := []string{
"",
"cat /proc/modules | grep -e \"^nvidia \" >/dev/null 2>&1",
"if [ \"${?}\" != \"0\" ]; then",
" echo \"nvidia driver modules are not yet loaded, invoking runc directly\"",
" exec runc \"$@\"",
"fi",
"",
}
runtimeEnv := make(map[string]string)
runtimeEnv["XDG_CONFIG_HOME"] = filepath.Join(destDirPattern, ".config")
for k, v := range env {
@ -77,7 +67,6 @@ func newRuntimeInstaller(source string, target executableTarget, env map[string]
source: source,
target: target,
env: runtimeEnv,
preLines: preLines,
}
return &r

View File

@ -38,13 +38,6 @@ func TestNvidiaContainerRuntimeInstallerWrapper(t *testing.T) {
expectedLines := []string{
shebang,
"",
"cat /proc/modules | grep -e \"^nvidia \" >/dev/null 2>&1",
"if [ \"${?}\" != \"0\" ]; then",
" echo \"nvidia driver modules are not yet loaded, invoking runc directly\"",
" exec runc \"$@\"",
"fi",
"",
"PATH=/dest/folder:$PATH \\",
"XDG_CONFIG_HOME=/dest/folder/.config \\",
"source.real \\",

View File

@ -465,6 +465,8 @@ func installToolkitConfig(c *cli.Context, toolkitConfigPath string, nvidiaContai
configValues["nvidia-container-runtime.runtimes"] = toolkitRuntimeList
}
// We require the NVIDIA kernel modules to be loaded.
configValues["features.require-nvidia-kernel-modules"] = true
for _, optInFeature := range opts.optInFeatures.Value() {
configValues["features."+optInFeature] = true
}