Documentation ¶
Index ¶
- Constants
- func IsChanClosed(ch <-chan struct{}) bool
- func SocketPath(deviceName string) string
- type Device
- type DeviceController
- type DeviceControllerInterface
- type DeviceHandler
- type DevicePluginBase
- func (dpi *DevicePluginBase) Allocate(ctx context.Context, r *pluginapi.AllocateRequest) (*pluginapi.AllocateResponse, error)
- func (dpi *DevicePluginBase) GetDeviceName() string
- func (dpi *DevicePluginBase) GetDevicePluginOptions(_ context.Context, _ *pluginapi.Empty) (*pluginapi.DevicePluginOptions, error)
- func (dpi *DevicePluginBase) GetInitialized() bool
- func (dpi *DevicePluginBase) ListAndWatch(_ *pluginapi.Empty, s pluginapi.DevicePlugin_ListAndWatchServer) error
- func (dpi *DevicePluginBase) PreStartContainer(_ context.Context, _ *pluginapi.PreStartContainerRequest) (*pluginapi.PreStartContainerResponse, error)
- type DeviceUtilsHandler
- func (h *DeviceUtilsHandler) CreateMDEVType(mdevType string, parentID string) error
- func (h *DeviceUtilsHandler) GetDeviceDriver(basepath string, pciAddress string) (string, error)
- func (h *DeviceUtilsHandler) GetDeviceIOMMUGroup(basepath string, pciAddress string) (string, error)
- func (h *DeviceUtilsHandler) GetDeviceNumaNode(basepath string, pciAddress string) (numaNode int)
- func (h *DeviceUtilsHandler) GetDevicePCIID(basepath string, pciAddress string) (string, error)
- func (h *DeviceUtilsHandler) GetMdevParentPCIAddr(mdevUUID string) (string, error)
- func (h *DeviceUtilsHandler) ReadMDEVAvailableInstances(mdevType string, parentID string) (int, error)
- func (h *DeviceUtilsHandler) RemoveMDEVType(mdevUUID string) error
- type GenericDevicePlugin
- func (dpi *GenericDevicePlugin) Allocate(ctx context.Context, r *pluginapi.AllocateRequest) (*pluginapi.AllocateResponse, error)
- func (dpi *GenericDevicePlugin) GetDeviceName() string
- func (dpi *GenericDevicePlugin) GetDevicePluginOptions(_ context.Context, _ *pluginapi.Empty) (*pluginapi.DevicePluginOptions, error)
- func (dpi *GenericDevicePlugin) GetInitialized() bool
- func (dpi *GenericDevicePlugin) ListAndWatch(e *pluginapi.Empty, s pluginapi.DevicePlugin_ListAndWatchServer) error
- func (dpi *GenericDevicePlugin) PreStartContainer(_ context.Context, _ *pluginapi.PreStartContainerRequest) (*pluginapi.PreStartContainerResponse, error)
- func (dpi *GenericDevicePlugin) Start(stop <-chan struct{}) (err error)
- type LocalDevices
- type MDEV
- type MDEVTypesManager
- type MediatedDevicePlugin
- type MockDeviceHandler
- func (_m *MockDeviceHandler) CreateMDEVType(mdevType string, parentID string) error
- func (_m *MockDeviceHandler) EXPECT() *_MockDeviceHandlerRecorder
- func (_m *MockDeviceHandler) GetDeviceDriver(basepath string, pciAddress string) (string, error)
- func (_m *MockDeviceHandler) GetDeviceIOMMUGroup(basepath string, pciAddress string) (string, error)
- func (_m *MockDeviceHandler) GetDeviceNumaNode(basepath string, pciAddress string) int
- func (_m *MockDeviceHandler) GetDevicePCIID(basepath string, pciAddress string) (string, error)
- func (_m *MockDeviceHandler) GetMdevParentPCIAddr(mdevUUID string) (string, error)
- func (_m *MockDeviceHandler) ReadMDEVAvailableInstances(mdevType string, parentID string) (int, error)
- func (_m *MockDeviceHandler) RemoveMDEVType(mdevUUID string) error
- type PCIDevice
- type PCIDevicePlugin
- type PluginDevices
- type SocketDevicePlugin
- type USBDevice
- type USBDevicePlugin
- func (plugin *USBDevicePlugin) Allocate(_ context.Context, allocRequest *pluginapi.AllocateRequest) (*pluginapi.AllocateResponse, error)
- func (plugin *USBDevicePlugin) FindDevice(pluginDeviceID string) *PluginDevices
- func (plugin *USBDevicePlugin) FindDeviceByUSBID(usbID string) *PluginDevices
- func (plugin *USBDevicePlugin) GetDeviceName() string
- func (plugin *USBDevicePlugin) GetInitialized() bool
- func (plugin *USBDevicePlugin) ListAndWatch(_ *pluginapi.Empty, lws pluginapi.DevicePlugin_ListAndWatchServer) error
- func (plugin *USBDevicePlugin) Start(stop <-chan struct{}) error
Constants ¶
View Source
const (
DeviceNamespace = "devices.kubevirt.io"
)
Variables ¶
This section is empty.
Functions ¶
func IsChanClosed ¶ added in v0.36.0
func IsChanClosed(ch <-chan struct{}) bool
func SocketPath ¶ added in v0.16.0
Types ¶
type Device ¶ added in v0.51.0
type Device interface { Start(stop <-chan struct{}) error ListAndWatch(*pluginapi.Empty, pluginapi.DevicePlugin_ListAndWatchServer) error PreStartContainer(context.Context, *pluginapi.PreStartContainerRequest) (*pluginapi.PreStartContainerResponse, error) Allocate(context.Context, *pluginapi.AllocateRequest) (*pluginapi.AllocateResponse, error) GetDeviceName() string GetInitialized() bool }
func PermanentHostDevicePlugins ¶ added in v0.51.0
type DeviceController ¶
type DeviceController struct {
// contains filtered or unexported fields
}
func NewDeviceController ¶
func NewDeviceController( host string, maxDevices int, permissions string, permanentPlugins []Device, clusterConfig *virtconfig.ClusterConfig, clientset k8scli.CoreV1Interface, ) *DeviceController
func (*DeviceController) Initialized ¶ added in v0.33.0
func (c *DeviceController) Initialized() bool
func (*DeviceController) NodeHasDevice ¶ added in v0.29.0
func (c *DeviceController) NodeHasDevice(devicePath string) bool
func (*DeviceController) RefreshMediatedDeviceTypes ¶ added in v0.58.2
func (c *DeviceController) RefreshMediatedDeviceTypes()
func (*DeviceController) Run ¶
func (c *DeviceController) Run(stop chan struct{}) error
type DeviceControllerInterface ¶ added in v0.40.0
type DeviceControllerInterface interface { Initialized() bool RefreshMediatedDeviceTypes() }
type DeviceHandler ¶ added in v0.36.0
type DeviceHandler interface { GetDeviceIOMMUGroup(basepath string, pciAddress string) (string, error) GetDeviceDriver(basepath string, pciAddress string) (string, error) GetDeviceNumaNode(basepath string, pciAddress string) (numaNode int) GetDevicePCIID(basepath string, pciAddress string) (string, error) GetMdevParentPCIAddr(mdevUUID string) (string, error) CreateMDEVType(mdevType string, parentID string) error RemoveMDEVType(mdevUUID string) error ReadMDEVAvailableInstances(mdevType string, parentID string) (int, error) }
var Handler DeviceHandler
type DevicePluginBase ¶ added in v1.3.0
type DevicePluginBase struct {
// contains filtered or unexported fields
}
func (*DevicePluginBase) Allocate ¶ added in v1.3.0
func (dpi *DevicePluginBase) Allocate(ctx context.Context, r *pluginapi.AllocateRequest) (*pluginapi.AllocateResponse, error)
func (*DevicePluginBase) GetDeviceName ¶ added in v1.3.0
func (dpi *DevicePluginBase) GetDeviceName() string
func (*DevicePluginBase) GetDevicePluginOptions ¶ added in v1.3.0
func (dpi *DevicePluginBase) GetDevicePluginOptions(_ context.Context, _ *pluginapi.Empty) (*pluginapi.DevicePluginOptions, error)
func (*DevicePluginBase) GetInitialized ¶ added in v1.3.0
func (dpi *DevicePluginBase) GetInitialized() bool
func (*DevicePluginBase) ListAndWatch ¶ added in v1.3.0
func (dpi *DevicePluginBase) ListAndWatch(_ *pluginapi.Empty, s pluginapi.DevicePlugin_ListAndWatchServer) error
func (*DevicePluginBase) PreStartContainer ¶ added in v1.3.0
func (dpi *DevicePluginBase) PreStartContainer(_ context.Context, _ *pluginapi.PreStartContainerRequest) (*pluginapi.PreStartContainerResponse, error)
type DeviceUtilsHandler ¶ added in v0.36.0
type DeviceUtilsHandler struct{}
func (*DeviceUtilsHandler) CreateMDEVType ¶ added in v0.45.0
func (h *DeviceUtilsHandler) CreateMDEVType(mdevType string, parentID string) error
func (*DeviceUtilsHandler) GetDeviceDriver ¶ added in v0.36.0
func (h *DeviceUtilsHandler) GetDeviceDriver(basepath string, pciAddress string) (string, error)
gets device driver
func (*DeviceUtilsHandler) GetDeviceIOMMUGroup ¶ added in v0.36.0
func (h *DeviceUtilsHandler) GetDeviceIOMMUGroup(basepath string, pciAddress string) (string, error)
getDeviceIOMMUGroup gets devices iommu_group e.g. /sys/bus/pci/devices/0000\:65\:00.0/iommu_group -> ../../../../../kernel/iommu_groups/45
func (*DeviceUtilsHandler) GetDeviceNumaNode ¶ added in v0.36.0
func (h *DeviceUtilsHandler) GetDeviceNumaNode(basepath string, pciAddress string) (numaNode int)
func (*DeviceUtilsHandler) GetDevicePCIID ¶ added in v0.36.0
func (h *DeviceUtilsHandler) GetDevicePCIID(basepath string, pciAddress string) (string, error)
func (*DeviceUtilsHandler) GetMdevParentPCIAddr ¶ added in v0.36.0
func (h *DeviceUtilsHandler) GetMdevParentPCIAddr(mdevUUID string) (string, error)
/sys/class/mdev_bus/0000:00:03.0/53764d0e-85a0-42b4-af5c-2046b460b1dc
func (*DeviceUtilsHandler) ReadMDEVAvailableInstances ¶ added in v0.45.0
func (h *DeviceUtilsHandler) ReadMDEVAvailableInstances(mdevType string, parentID string) (int, error)
func (*DeviceUtilsHandler) RemoveMDEVType ¶ added in v0.45.0
func (h *DeviceUtilsHandler) RemoveMDEVType(mdevUUID string) error
type GenericDevicePlugin ¶
type GenericDevicePlugin struct {
// contains filtered or unexported fields
}
func NewGenericDevicePlugin ¶
func (*GenericDevicePlugin) Allocate ¶
func (dpi *GenericDevicePlugin) Allocate(ctx context.Context, r *pluginapi.AllocateRequest) (*pluginapi.AllocateResponse, error)
func (*GenericDevicePlugin) GetDeviceName ¶ added in v0.8.0
func (dpi *GenericDevicePlugin) GetDeviceName() string
func (*GenericDevicePlugin) GetDevicePluginOptions ¶
func (dpi *GenericDevicePlugin) GetDevicePluginOptions(_ context.Context, _ *pluginapi.Empty) (*pluginapi.DevicePluginOptions, error)
func (*GenericDevicePlugin) GetInitialized ¶ added in v0.33.0
func (dpi *GenericDevicePlugin) GetInitialized() bool
func (*GenericDevicePlugin) ListAndWatch ¶
func (dpi *GenericDevicePlugin) ListAndWatch(e *pluginapi.Empty, s pluginapi.DevicePlugin_ListAndWatchServer) error
func (*GenericDevicePlugin) PreStartContainer ¶
func (dpi *GenericDevicePlugin) PreStartContainer(_ context.Context, _ *pluginapi.PreStartContainerRequest) (*pluginapi.PreStartContainerResponse, error)
func (*GenericDevicePlugin) Start ¶
func (dpi *GenericDevicePlugin) Start(stop <-chan struct{}) (err error)
Start starts the device plugin
type LocalDevices ¶ added in v1.1.0
type LocalDevices struct {
// contains filtered or unexported fields
}
type MDEV ¶ added in v0.36.0
type MDEV struct { UUID string // contains filtered or unexported fields }
type MDEVTypesManager ¶ added in v0.45.0
type MDEVTypesManager struct {
// contains filtered or unexported fields
}
func NewMDEVTypesManager ¶ added in v0.45.0
func NewMDEVTypesManager() *MDEVTypesManager
type MediatedDevicePlugin ¶ added in v0.36.0
type MediatedDevicePlugin struct { *DevicePluginBase // contains filtered or unexported fields }
func NewMediatedDevicePlugin ¶ added in v0.36.0
func NewMediatedDevicePlugin(mdevs []*MDEV, resourceName string) *MediatedDevicePlugin
func (*MediatedDevicePlugin) Allocate ¶ added in v0.36.0
func (dpi *MediatedDevicePlugin) Allocate(_ context.Context, r *pluginapi.AllocateRequest) (*pluginapi.AllocateResponse, error)
func (*MediatedDevicePlugin) HealthCheck ¶ added in v1.3.0
func (dpi *MediatedDevicePlugin) HealthCheck() error
func (*MediatedDevicePlugin) Start ¶ added in v0.36.0
func (dpi *MediatedDevicePlugin) Start(stop <-chan struct{}) (err error)
type MockDeviceHandler ¶ added in v0.36.0
type MockDeviceHandler struct {
// contains filtered or unexported fields
}
Mock of DeviceHandler interface
func NewMockDeviceHandler ¶ added in v0.36.0
func NewMockDeviceHandler(ctrl *gomock.Controller) *MockDeviceHandler
func (*MockDeviceHandler) CreateMDEVType ¶ added in v0.45.0
func (_m *MockDeviceHandler) CreateMDEVType(mdevType string, parentID string) error
func (*MockDeviceHandler) EXPECT ¶ added in v0.36.0
func (_m *MockDeviceHandler) EXPECT() *_MockDeviceHandlerRecorder
func (*MockDeviceHandler) GetDeviceDriver ¶ added in v0.36.0
func (_m *MockDeviceHandler) GetDeviceDriver(basepath string, pciAddress string) (string, error)
func (*MockDeviceHandler) GetDeviceIOMMUGroup ¶ added in v0.36.0
func (_m *MockDeviceHandler) GetDeviceIOMMUGroup(basepath string, pciAddress string) (string, error)
func (*MockDeviceHandler) GetDeviceNumaNode ¶ added in v0.36.0
func (_m *MockDeviceHandler) GetDeviceNumaNode(basepath string, pciAddress string) int
func (*MockDeviceHandler) GetDevicePCIID ¶ added in v0.36.0
func (_m *MockDeviceHandler) GetDevicePCIID(basepath string, pciAddress string) (string, error)
func (*MockDeviceHandler) GetMdevParentPCIAddr ¶ added in v0.36.0
func (_m *MockDeviceHandler) GetMdevParentPCIAddr(mdevUUID string) (string, error)
func (*MockDeviceHandler) ReadMDEVAvailableInstances ¶ added in v0.45.0
func (_m *MockDeviceHandler) ReadMDEVAvailableInstances(mdevType string, parentID string) (int, error)
func (*MockDeviceHandler) RemoveMDEVType ¶ added in v0.45.0
func (_m *MockDeviceHandler) RemoveMDEVType(mdevUUID string) error
type PCIDevice ¶ added in v0.36.0
type PCIDevice struct {
// contains filtered or unexported fields
}
type PCIDevicePlugin ¶ added in v0.36.0
type PCIDevicePlugin struct { *DevicePluginBase // contains filtered or unexported fields }
func NewPCIDevicePlugin ¶ added in v0.36.0
func NewPCIDevicePlugin(pciDevices []*PCIDevice, resourceName string) *PCIDevicePlugin
func (*PCIDevicePlugin) Allocate ¶ added in v0.36.0
func (dpi *PCIDevicePlugin) Allocate(_ context.Context, r *pluginapi.AllocateRequest) (*pluginapi.AllocateResponse, error)
func (*PCIDevicePlugin) Start ¶ added in v0.36.0
func (dpi *PCIDevicePlugin) Start(stop <-chan struct{}) (err error)
type PluginDevices ¶ added in v1.1.0
type SocketDevicePlugin ¶ added in v1.0.0
type SocketDevicePlugin struct { *DevicePluginBase // contains filtered or unexported fields }
func NewSocketDevicePlugin ¶ added in v1.0.0
func NewSocketDevicePlugin(socketName, socketDir, socket string, maxDevices int) *SocketDevicePlugin
func (*SocketDevicePlugin) Allocate ¶ added in v1.0.0
func (dpi *SocketDevicePlugin) Allocate(ctx context.Context, r *pluginapi.AllocateRequest) (*pluginapi.AllocateResponse, error)
func (*SocketDevicePlugin) Start ¶ added in v1.0.0
func (dpi *SocketDevicePlugin) Start(stop <-chan struct{}) (err error)
type USBDevice ¶ added in v1.1.0
type USBDevice struct { Name string Manufacturer string Vendor int Product int BCD int Bus int DeviceNumber int Serial string DevicePath string }
The sysfs metadata wrapper for the USB devices
type USBDevicePlugin ¶ added in v1.1.0
type USBDevicePlugin struct { *DevicePluginBase // contains filtered or unexported fields }
The actual plugin
func NewUSBDevicePlugin ¶ added in v1.1.0
func NewUSBDevicePlugin(resourceName string, pluginDevices []*PluginDevices) *USBDevicePlugin
func (*USBDevicePlugin) Allocate ¶ added in v1.1.0
func (plugin *USBDevicePlugin) Allocate(_ context.Context, allocRequest *pluginapi.AllocateRequest) (*pluginapi.AllocateResponse, error)
Interface to allocate requested Device, exported by ListAndWatch
func (*USBDevicePlugin) FindDevice ¶ added in v1.1.0
func (plugin *USBDevicePlugin) FindDevice(pluginDeviceID string) *PluginDevices
func (*USBDevicePlugin) FindDeviceByUSBID ¶ added in v1.1.0
func (plugin *USBDevicePlugin) FindDeviceByUSBID(usbID string) *PluginDevices
func (*USBDevicePlugin) GetDeviceName ¶ added in v1.1.0
func (plugin *USBDevicePlugin) GetDeviceName() string
func (*USBDevicePlugin) GetInitialized ¶ added in v1.1.0
func (plugin *USBDevicePlugin) GetInitialized() bool
func (*USBDevicePlugin) ListAndWatch ¶ added in v1.1.0
func (plugin *USBDevicePlugin) ListAndWatch(_ *pluginapi.Empty, lws pluginapi.DevicePlugin_ListAndWatchServer) error
Interface to expose Devices: IDs, health and Topology
func (*USBDevicePlugin) Start ¶ added in v1.1.0
func (plugin *USBDevicePlugin) Start(stop <-chan struct{}) error
Source Files ¶
Click to show internal directories.
Click to hide internal directories.