Skip to content

Commit

Permalink
Expose opt-in features in toolkit-container
Browse files Browse the repository at this point in the history
This change enables opt-in (off-by-default) features to be opted into.
These features can be toggled by name by specifying the (repeated)
--opt-in-features command line argument or as a comma-separated list
in the NVIDIA_CONTAINER_TOOLKIT_OPT_IN_FEATURES environment variable.

Signed-off-by: Evan Lezar <[email protected]>
  • Loading branch information
elezar committed Oct 17, 2024
1 parent ec8dfaf commit bc9180b
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions tools/container/toolkit/toolkit.go
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ type Options struct {
acceptNVIDIAVisibleDevicesAsVolumeMounts bool

ignoreErrors bool

optInFeatures cli.StringSlice
}

func Flags(opts *Options) []cli.Flag {
Expand Down Expand Up @@ -202,6 +204,12 @@ func Flags(opts *Options) []cli.Flag {
Destination: &opts.createDeviceNodes,
EnvVars: []string{"CREATE_DEVICE_NODES"},
},
&cli.StringSliceFlag{
Name: "opt-in-features",
Hidden: true,
Destination: &opts.optInFeatures,
EnvVars: []string{"NVIDIA_CONTAINER_TOOLKIT_OPT_IN_FEATURES"},
},
}

return flags
Expand Down Expand Up @@ -457,6 +465,10 @@ func installToolkitConfig(c *cli.Context, toolkitConfigPath string, nvidiaContai
configValues["nvidia-container-runtime.runtimes"] = toolkitRuntimeList
}

for _, optInFeature := range opts.optInFeatures.Value() {
configValues["features."+optInFeature] = true
}

for key, value := range configValues {
cfg.Set(key, value)
}
Expand All @@ -471,6 +483,7 @@ func installToolkitConfig(c *cli.Context, toolkitConfigPath string, nvidiaContai
"nvidia-container-runtime.runtimes": opts.ContainerRuntimeRuntimes,
"nvidia-container-cli.debug": opts.ContainerCLIDebug,
}

for key, value := range optionalConfigValues {
if !c.IsSet(key) {
log.Infof("Skipping unset option: %v", key)
Expand Down

0 comments on commit bc9180b

Please sign in to comment.