mirror of
https://github.com/NVIDIA/nvidia-container-toolkit
synced 2025-02-16 17:42:20 +00:00
Move IPC discoverer into DriverDiscoverer
This simplifies the construction of the required common edits when constructing a CDI specification. Signed-off-by: Evan Lezar <elezar@nvidia.com>
This commit is contained in:
parent
076eed7eb4
commit
97008f2db6
@ -41,12 +41,18 @@ func NewDriverDiscoverer(logger *logrus.Logger, driverRoot string, nvidiaCTKPath
|
|||||||
return nil, fmt.Errorf("failed to create discoverer for driver libraries: %v", err)
|
return nil, fmt.Errorf("failed to create discoverer for driver libraries: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ipcs, err := discover.NewIPCDiscoverer(logger, driverRoot)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to create discoverer for IPC sockets: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
firmwares := NewDriverFirmwareDiscoverer(logger, driverRoot, version)
|
firmwares := NewDriverFirmwareDiscoverer(logger, driverRoot, version)
|
||||||
|
|
||||||
binaries := NewDriverBinariesDiscoverer(logger, driverRoot)
|
binaries := NewDriverBinariesDiscoverer(logger, driverRoot)
|
||||||
|
|
||||||
d := discover.Merge(
|
d := discover.Merge(
|
||||||
libraries,
|
libraries,
|
||||||
|
ipcs,
|
||||||
firmwares,
|
firmwares,
|
||||||
binaries,
|
binaries,
|
||||||
)
|
)
|
||||||
|
@ -232,19 +232,6 @@ func (m command) generateSpec(driverRoot string, nvidiaCTKPath string, namer dev
|
|||||||
|
|
||||||
deviceSpecs = append(deviceSpecs, allDevice)
|
deviceSpecs = append(deviceSpecs, allDevice)
|
||||||
|
|
||||||
allEdits := edits.NewContainerEdits()
|
|
||||||
|
|
||||||
ipcs, err := discover.NewIPCDiscoverer(m.logger, driverRoot)
|
|
||||||
if err != nil {
|
|
||||||
return nil, fmt.Errorf("failed to create discoverer for IPC sockets: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
ipcEdits, err := edits.FromDiscoverer(ipcs)
|
|
||||||
if err != nil {
|
|
||||||
return nil, fmt.Errorf("failed to create container edits for IPC sockets: %v", err)
|
|
||||||
}
|
|
||||||
allEdits.Append(ipcEdits)
|
|
||||||
|
|
||||||
common, err := NewCommonDiscoverer(m.logger, driverRoot, nvidiaCTKPath, nvmllib)
|
common, err := NewCommonDiscoverer(m.logger, driverRoot, nvidiaCTKPath, nvmllib)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("failed to create discoverer for common entities: %v", err)
|
return nil, fmt.Errorf("failed to create discoverer for common entities: %v", err)
|
||||||
@ -260,14 +247,12 @@ func (m command) generateSpec(driverRoot string, nvidiaCTKPath string, namer dev
|
|||||||
return nil, fmt.Errorf("failed to create container edits for common entities: %v", err)
|
return nil, fmt.Errorf("failed to create container edits for common entities: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
allEdits.Append(commonEdits)
|
|
||||||
|
|
||||||
// We construct the spec and determine the minimum required version based on the specification.
|
// We construct the spec and determine the minimum required version based on the specification.
|
||||||
spec := specs.Spec{
|
spec := specs.Spec{
|
||||||
Version: "NOT_SET",
|
Version: "NOT_SET",
|
||||||
Kind: "nvidia.com/gpu",
|
Kind: "nvidia.com/gpu",
|
||||||
Devices: deviceSpecs,
|
Devices: deviceSpecs,
|
||||||
ContainerEdits: *allEdits.ContainerEdits,
|
ContainerEdits: *commonEdits.ContainerEdits,
|
||||||
}
|
}
|
||||||
|
|
||||||
minVersion, err := cdi.MinimumRequiredVersion(&spec)
|
minVersion, err := cdi.MinimumRequiredVersion(&spec)
|
||||||
|
Loading…
Reference in New Issue
Block a user