Merge branch 'fix-by-path-missing' into 'main'

Skip missing by-path symlinks instead of failing

See merge request nvidia/container-toolkit/container-toolkit!249
This commit is contained in:
Evan Lezar 2022-11-25 12:11:56 +00:00
commit 153f2f6300
2 changed files with 10 additions and 6 deletions

View File

@ -241,7 +241,7 @@ func (m command) generateSpec() (*specs.Spec, error) {
graphicsEdits, err := m.editsForGraphicsDevice(nil)
if err != nil {
return nil, fmt.Errorf("failed to generated edits for graphics libraries")
return nil, fmt.Errorf("failed to generate edits for graphics libraries: %v", err)
}
libOptions := []string{

View File

@ -109,6 +109,13 @@ func (d drmDevicesByPath) Hooks() ([]Hook, error) {
if len(devices) == 0 {
return nil, nil
}
links, err := d.getSpecificLinkArgs(devices)
if err != nil {
return nil, fmt.Errorf("failed to determine specific links: %v", err)
}
if len(links) == 0 {
return nil, nil
}
hookPath := nvidiaCTKDefaultFilePath
targets, err := d.lookup.Locate(d.nvidiaCTKExecutablePath)
@ -123,10 +130,6 @@ func (d drmDevicesByPath) Hooks() ([]Hook, error) {
d.logger.Debugf("Using NVIDIA Container Toolkit CLI path %v", hookPath)
args := []string{hookPath, "hook", "create-symlinks"}
links, err := d.getSpecificLinkArgs(devices)
if err != nil {
return nil, fmt.Errorf("failed to determine specific links: %v", err)
}
for _, l := range links {
args = append(args, "--link", l)
}
@ -150,7 +153,8 @@ func (d drmDevicesByPath) getSpecificLinkArgs(devices []Device) ([]string, error
linkLocator := lookup.NewFileLocator(d.logger, d.root)
candidates, err := linkLocator.Locate("/dev/dri/by-path/pci-*-*")
if err != nil {
return nil, fmt.Errorf("failed to locate devices by path: %v", err)
d.logger.Warningf("Failed to locate by-path links: %v; ignoring", err)
return nil, nil
}
var links []string