Documentation ¶
Index ¶
- func FindNvidiaCTK(logger *logrus.Logger, nvidiaCTKPath string) string
- type Config
- type Device
- type Discover
- func CreateCreateSymlinkHook(nvidiaCTKPath string, links []string) Discover
- func Merge(d ...Discover) Discover
- func NewCharDeviceDiscoverer(logger *logrus.Logger, devices []string, root string) Discover
- func NewCreateSymlinksHook(logger *logrus.Logger, csvFiles []string, mounts Discover, cfg *Config) (Discover, error)
- func NewDeviceDiscoverer(logger *logrus.Logger, locator lookup.Locator, root string, devices []string) Discover
- func NewFromCSVFiles(logger *logrus.Logger, files []string, driverRoot string) (Discover, error)
- func NewGDSDiscoverer(logger *logrus.Logger, root string) (Discover, error)
- func NewGraphicsDiscoverer(logger *logrus.Logger, devices image.VisibleDevices, cfg *Config) (Discover, error)
- func NewGraphicsMountsDiscoverer(logger *logrus.Logger, driverRoot string) (Discover, error)
- func NewIPCDiscoverer(logger *logrus.Logger, driverRoot string) (Discover, error)
- func NewLDCacheUpdateHook(logger *logrus.Logger, mounts Discover, cfg *Config) (Discover, error)
- func NewMOFEDDiscoverer(logger *logrus.Logger, root string) (Discover, error)
- func NewMounts(logger *logrus.Logger, lookup lookup.Locator, root string, required []string) Discover
- type DiscoverMock
- func (mock *DiscoverMock) Devices() ([]Device, error)
- func (mock *DiscoverMock) DevicesCalls() []struct{}
- func (mock *DiscoverMock) Hooks() ([]Hook, error)
- func (mock *DiscoverMock) HooksCalls() []struct{}
- func (mock *DiscoverMock) Mounts() ([]Mount, error)
- func (mock *DiscoverMock) MountsCalls() []struct{}
- type Filter
- type Hook
- type Mount
- type None
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FindNvidiaCTK ¶ added in v1.12.0
FindNvidiaCTK locates the nvidia-ctk executable to be used in hooks. If an nvidia-ctk path is specified as an absolute path, it is used directly without checking for existence of an executable at that path.
Types ¶
type Discover ¶
type Discover interface { Devices() ([]Device, error) Mounts() ([]Mount, error) Hooks() ([]Hook, error) }
Discover defines an interface for discovering the devices, mounts, and hooks available on a system
func CreateCreateSymlinkHook ¶ added in v1.13.0
CreateCreateSymlinkHook creates a hook which creates a symlink from link -> target.
func Merge ¶ added in v1.11.0
Merge creates a discoverer that is the composite of a list of discoveres.
func NewCharDeviceDiscoverer ¶ added in v1.11.0
NewCharDeviceDiscoverer creates a discoverer which locates the specified set of device nodes.
func NewCreateSymlinksHook ¶
func NewCreateSymlinksHook(logger *logrus.Logger, csvFiles []string, mounts Discover, cfg *Config) (Discover, error)
NewCreateSymlinksHook creates a discoverer for a hook that creates required symlinks in the container
func NewDeviceDiscoverer ¶ added in v1.11.0
func NewDeviceDiscoverer(logger *logrus.Logger, locator lookup.Locator, root string, devices []string) Discover
NewDeviceDiscoverer creates a discoverer which locates the specified set of device nodes using the specified locator.
func NewFromCSVFiles ¶
NewFromCSVFiles creates a discoverer for the specified CSV files. A logger is also supplied. The constructed discoverer is comprised of a list, with each element in the list being associated with a single CSV files.
func NewGDSDiscoverer ¶ added in v1.11.0
NewGDSDiscoverer creates a discoverer for GPUDirect Storage devices and mounts.
func NewGraphicsDiscoverer ¶ added in v1.12.0
func NewGraphicsDiscoverer(logger *logrus.Logger, devices image.VisibleDevices, cfg *Config) (Discover, error)
NewGraphicsDiscoverer returns the discoverer for graphics tools such as Vulkan.
func NewGraphicsMountsDiscoverer ¶ added in v1.12.0
NewGraphicsMountsDiscoverer creates a discoverer for the mounts required by graphics tools such as vulkan.
func NewIPCDiscoverer ¶ added in v1.13.0
NewIPCDiscoverer creats a discoverer for NVIDIA IPC sockets.
func NewLDCacheUpdateHook ¶
NewLDCacheUpdateHook creates a discoverer that updates the ldcache for the specified mounts. A logger can also be specified
func NewMOFEDDiscoverer ¶ added in v1.11.0
NewMOFEDDiscoverer creates a discoverer for MOFED devices.
type DiscoverMock ¶
type DiscoverMock struct { // DevicesFunc mocks the Devices method. DevicesFunc func() ([]Device, error) // HooksFunc mocks the Hooks method. HooksFunc func() ([]Hook, error) // MountsFunc mocks the Mounts method. MountsFunc func() ([]Mount, error) // contains filtered or unexported fields }
DiscoverMock is a mock implementation of Discover.
func TestSomethingThatUsesDiscover(t *testing.T) { // make and configure a mocked Discover mockedDiscover := &DiscoverMock{ DevicesFunc: func() ([]Device, error) { panic("mock out the Devices method") }, HooksFunc: func() ([]Hook, error) { panic("mock out the Hooks method") }, MountsFunc: func() ([]Mount, error) { panic("mock out the Mounts method") }, } // use mockedDiscover in code that requires Discover // and then make assertions. }
func (*DiscoverMock) Devices ¶
func (mock *DiscoverMock) Devices() ([]Device, error)
Devices calls DevicesFunc.
func (*DiscoverMock) DevicesCalls ¶
func (mock *DiscoverMock) DevicesCalls() []struct { }
DevicesCalls gets all the calls that were made to Devices. Check the length with:
len(mockedDiscover.DevicesCalls())
func (*DiscoverMock) Hooks ¶
func (mock *DiscoverMock) Hooks() ([]Hook, error)
Hooks calls HooksFunc.
func (*DiscoverMock) HooksCalls ¶
func (mock *DiscoverMock) HooksCalls() []struct { }
HooksCalls gets all the calls that were made to Hooks. Check the length with:
len(mockedDiscover.HooksCalls())
func (*DiscoverMock) Mounts ¶
func (mock *DiscoverMock) Mounts() ([]Mount, error)
Mounts calls MountsFunc.
func (*DiscoverMock) MountsCalls ¶
func (mock *DiscoverMock) MountsCalls() []struct { }
MountsCalls gets all the calls that were made to Mounts. Check the length with:
len(mockedDiscover.MountsCalls())
type Hook ¶
Hook represents a discovered hook.
func CreateLDCacheUpdateHook ¶ added in v1.12.0
CreateLDCacheUpdateHook locates the NVIDIA Container Toolkit CLI and creates a hook for updating the LD Cache
func CreateNvidiaCTKHook ¶ added in v1.12.0
CreateNvidiaCTKHook creates a hook which invokes the NVIDIA Container CLI hook subcommand.
func (Hook) Devices ¶ added in v1.13.0
Devices returns an empty list of devices for a Hook discoverer.