Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrDriverNotFound = fmt.Errorf("driver not found")
ErrDriverNotFound is returned during Dispense when the requested driver plugin is not found in the plugin catalog
Functions ¶
Types ¶
type Config ¶
type Config struct { // Logger is the logger used by the device manager Logger log.Logger // Loader is the plugin loader Loader loader.PluginCatalog // PluginConfig is the config passed to the launched plugins PluginConfig *base.AgentConfig // Updater is used to update the node when driver information changes Updater UpdateNodeDriverInfoFn // EventHandlerFactory is used to retrieve a task event handler EventHandlerFactory TaskEventHandlerFactory // State is used to manage the device managers state State StateStorage // AllowedDrivers if set will only start driver plugins for the given // drivers AllowedDrivers map[string]struct{} // BlockedDrivers if set will not allow the given driver plugins to start BlockedDrivers map[string]struct{} }
Config is used to configure a driver manager
type EventHandler ¶
EventHandler is a callback to be called for a task. The handler should not block execution.
type FetchPluginReattachFn ¶
type FetchPluginReattachFn func() (*plugin.ReattachConfig, bool)
FetchPluginReattachFn is used to retrieve the stored plugin reattachment configuration.
type Manager ¶
type Manager interface { pluginmanager.PluginManager // Dispense returns a drivers.DriverPlugin for the given driver plugin name // handling reattaching to an existing driver if available Dispense(driver string) (drivers.DriverPlugin, error) }
Manager is the interface used to manage driver plugins
func TestDriverManager ¶
type StateStorage ¶
type StateStorage interface { // GetDevicePluginState is used to retrieve the device manager's plugin // state. GetDriverPluginState() (*state.PluginState, error) // PutDevicePluginState is used to store the device manager's plugin // state. PutDriverPluginState(state *state.PluginState) error }
StateStorage is used to persist the driver managers state across agent restarts.
type StorePluginReattachFn ¶
type StorePluginReattachFn func(*plugin.ReattachConfig) error
StorePluginReattachFn is used to store plugin reattachment configurations.
type TaskEventHandlerFactory ¶
type TaskEventHandlerFactory func(allocID, taskName string) EventHandler
TaskEventHandlerFactory returns an event handler for a given allocID/task name
type UpdateNodeDriverInfoFn ¶
type UpdateNodeDriverInfoFn func(string, *structs.DriverInfo)
UpdateNodeDriverInfoFn is the callback used to update the node from fingerprinting