Merge branch 'set-default-to-index' into 'main'

Use device index as CDI device names by default

See merge request nvidia/container-toolkit/container-toolkit!273
This commit is contained in:
Evan Lezar 2023-01-30 13:22:36 +00:00
commit 6d1639a513
3 changed files with 11 additions and 6 deletions

View File

@ -2,6 +2,9 @@
## v1.12.0-rc.4
* Generate a minimum CDI spec version for improved compatibility.
* Add `--device-name-strategy` options to the `nvidia-ctk cdi generate` command that can be used to control how device names are constructed.
* Set default for CDI device name generation to `index` to generate device names such as `nvidia.com/gpu=0` or `nvidia.com/gpu=1:0` by default.
## v1.12.0-rc.3
* Don't fail if by-path symlinks for DRM devices do not exist

View File

@ -89,8 +89,8 @@ func (m command) build() *cli.Command {
},
&cli.StringFlag{
Name: "device-name-strategy",
Usage: "Specify the strategy for generating device names. One of [type-index | index | uuid]",
Value: deviceNameStrategyTypeIndex,
Usage: "Specify the strategy for generating device names. One of [index | uuid | type-index]",
Value: deviceNameStrategyIndex,
Destination: &cfg.deviceNameStrategy,
},
&cli.StringFlag{
@ -117,7 +117,7 @@ func (m command) validateFlags(r *cli.Context, cfg *config) error {
return fmt.Errorf("invalid output format: %v", cfg.format)
}
_, err := NewDeviceNamer(cfg.deviceNameStrategy)
_, err := newDeviceNamer(cfg.deviceNameStrategy)
if err != nil {
return err
}
@ -126,7 +126,7 @@ func (m command) validateFlags(r *cli.Context, cfg *config) error {
}
func (m command) run(c *cli.Context, cfg *config) error {
deviceNamer, err := NewDeviceNamer(cfg.deviceNameStrategy)
deviceNamer, err := newDeviceNamer(cfg.deviceNameStrategy)
if err != nil {
return fmt.Errorf("failed to create device namer: %v", err)
}
@ -279,6 +279,8 @@ func (m command) generateSpec(root string, nvidiaCTKPath string, namer deviceNam
if err != nil {
return nil, fmt.Errorf("failed to get minumum required CDI spec version: %v", err)
}
m.logger.Infof("Using minimum required CDI spec version: %s", minVersion)
spec.Version = minVersion
return &spec, nil

View File

@ -40,9 +40,9 @@ type deviceNameIndex struct {
}
type deviceNameUUID struct{}
// NewDeviceNamer creates a Device Namer based on the supplied strategy.
// newDeviceNamer creates a Device Namer based on the supplied strategy.
// This namer can be used to construct the names for MIG and GPU devices when generating the CDI spec.
func NewDeviceNamer(strategy string) (deviceNamer, error) {
func newDeviceNamer(strategy string) (deviceNamer, error) {
switch strategy {
case deviceNameStrategyIndex:
return deviceNameIndex{}, nil