Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DeviceInfo ¶
type DeviceInfo struct { State string Nodes []pluginapi.DeviceSpec Mounts []pluginapi.Mount Envs map[string]string }
DeviceInfo contains information about device maintained by Device Plugin
type DeviceTree ¶
type DeviceTree map[string]map[string]DeviceInfo
DeviceTree contains a tree-like structure of device type -> device ID -> device info.
func NewDeviceTree ¶
func NewDeviceTree() DeviceTree
NewDeviceTree creates an instance of DeviceTree
func (DeviceTree) AddDevice ¶
func (tree DeviceTree) AddDevice(devType, id string, info DeviceInfo)
AddDevice adds device info to DeviceTree.
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager manages life cycle of device plugins and handles the scan results received from them.
func NewManager ¶
NewManager creates a new instance of Manager
type Notifier ¶
type Notifier interface { // Notify notifies manager with a device tree constructed by device // plugin during scanning process. Notify(DeviceTree) }
Notifier receives updates from Scanner, detects changes and sends the detected changes to a channel given by the creator of a Notifier object.
type PostAllocator ¶
type PostAllocator interface { // PostAllocate modifies responses returned by Allocate() by e.g. // adding annotations consumed by CRI hooks to the responses. PostAllocate(*pluginapi.AllocateResponse) error }
PostAllocator is an optional interface implemented by device plugins.
type Scanner ¶
type Scanner interface { // Scan scans the host for devices and sends all found devices to // a Notifier instance. It's called only once for every device plugin by // Manager in a goroutine and operates in an infinite loop. Scan(Notifier) error }
Scanner serves as an interface between Manager and a device plugin.