device_manager

package
v0.49.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 4, 2022 License: Apache-2.0 Imports: 27 Imported by: 4

Documentation

Index

Constants

View Source
const (
	DeviceNamespace = "devices.kubevirt.io"
)
View Source
const (
	MDEV_RESOURCE_PREFIX = "MDEV_PCI_RESOURCE"
)
View Source
const (
	PCI_RESOURCE_PREFIX = "PCI_RESOURCE"
)

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

func SocketPath(deviceName string) string

Types

type ControlledDevice added in v0.36.0

type ControlledDevice struct {
	// contains filtered or unexported fields
}

type DeviceController

type DeviceController struct {
	// contains filtered or unexported fields
}

func NewDeviceController

func NewDeviceController(host string, maxDevices int, permissions string, 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) RefreshMediatedDevicesTypes added in v0.49.0

func (c *DeviceController) RefreshMediatedDevicesTypes()

func (*DeviceController) Run

func (c *DeviceController) Run(stop chan struct{}) error

type DeviceControllerInterface added in v0.40.0

type DeviceControllerInterface interface {
	Initialized() bool
	RefreshMediatedDevicesTypes()
}

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 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 GenericDevice added in v0.8.0

type GenericDevice interface {
	Start(chan struct{}) (err error)
	GetDevicePath() string
	GetDeviceName() string
	GetInitialized() bool
}

type GenericDevicePlugin

type GenericDevicePlugin struct {
	// contains filtered or unexported fields
}

func NewGenericDevicePlugin

func NewGenericDevicePlugin(deviceName string, devicePath string, maxDevices int, permissions string, preOpen bool) *GenericDevicePlugin

func (*GenericDevicePlugin) Allocate

func (*GenericDevicePlugin) GetDeviceName added in v0.8.0

func (dpi *GenericDevicePlugin) GetDeviceName() string

func (*GenericDevicePlugin) GetDevicePath added in v0.8.0

func (dpi *GenericDevicePlugin) GetDevicePath() 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 (*GenericDevicePlugin) Register

func (dpi *GenericDevicePlugin) Register() error

Register registers the device plugin for the given resourceName with Kubelet.

func (*GenericDevicePlugin) Start

func (dpi *GenericDevicePlugin) Start(stop chan struct{}) (err error)

Start starts the device plugin

func (*GenericDevicePlugin) Stop

func (dpi *GenericDevicePlugin) Stop() error

Stop stops the gRPC server

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 {
	// 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 (*MediatedDevicePlugin) GetDeviceName added in v0.36.0

func (dpi *MediatedDevicePlugin) GetDeviceName() string

func (*MediatedDevicePlugin) GetDevicePath added in v0.36.0

func (dpi *MediatedDevicePlugin) GetDevicePath() string

func (*MediatedDevicePlugin) GetDevicePluginOptions added in v0.36.0

func (dpi *MediatedDevicePlugin) GetDevicePluginOptions(_ context.Context, _ *pluginapi.Empty) (*pluginapi.DevicePluginOptions, error)

func (*MediatedDevicePlugin) GetInitialized added in v0.36.0

func (dpi *MediatedDevicePlugin) GetInitialized() bool

func (*MediatedDevicePlugin) ListAndWatch added in v0.36.0

func (*MediatedDevicePlugin) PreStartContainer added in v0.36.0

func (*MediatedDevicePlugin) Register added in v0.36.0

func (dpi *MediatedDevicePlugin) Register() error

Register registers the device plugin for the given resourceName with Kubelet.

func (*MediatedDevicePlugin) Start added in v0.36.0

func (dpi *MediatedDevicePlugin) Start(stop chan struct{}) (err error)

Start starts the device plugin

func (*MediatedDevicePlugin) Stop added in v0.36.0

func (dpi *MediatedDevicePlugin) Stop() error

Stop stops the gRPC server

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 {
	// 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 (*PCIDevicePlugin) GetDeviceName added in v0.36.0

func (dpi *PCIDevicePlugin) GetDeviceName() string

func (*PCIDevicePlugin) GetDevicePath added in v0.36.0

func (dpi *PCIDevicePlugin) GetDevicePath() string

func (*PCIDevicePlugin) GetDevicePluginOptions added in v0.36.0

func (dpi *PCIDevicePlugin) GetDevicePluginOptions(_ context.Context, _ *pluginapi.Empty) (*pluginapi.DevicePluginOptions, error)

func (*PCIDevicePlugin) GetInitialized added in v0.36.0

func (dpi *PCIDevicePlugin) GetInitialized() bool

func (*PCIDevicePlugin) ListAndWatch added in v0.36.0

func (*PCIDevicePlugin) PreStartContainer added in v0.36.0

func (*PCIDevicePlugin) Register added in v0.36.0

func (dpi *PCIDevicePlugin) Register() error

Register registers the device plugin for the given resourceName with Kubelet.

func (*PCIDevicePlugin) Start added in v0.36.0

func (dpi *PCIDevicePlugin) Start(stop chan struct{}) (err error)

Start starts the device plugin

func (*PCIDevicePlugin) Stop added in v0.36.0

func (dpi *PCIDevicePlugin) Stop() error

Stop stops the gRPC server

Directories

Path Synopsis
deviceplugin

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL