Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DeviceSelector ¶ added in v1.1.0
type DeviceSelector interface {
Filter([]PciNetDevice) []PciNetDevice
}
DeviceSelector provides an interface for filtering a list of devices
type NetlinkManager ¶ added in v1.1.0
type NetlinkManager interface { LinkByName(string) (netlink.Link, error) LinkSetUp(netlink.Link) error }
NetlinkManager is an interface to mock nelink library
type PciNetDevice ¶ added in v1.1.0
type PciNetDevice interface { GetPciAddr() string GetIfName() string GetVendor() string GetDeviceID() string GetDriver() string GetLinkType() string GetRdmaSpec() []*pluginapi.DeviceSpec }
PciNetDevice provides an interface to get generic device specific information
type RdmaDeviceSpec ¶
type RdmaDeviceSpec interface { Get(string) []*pluginapi.DeviceSpec VerifyRdmaSpec([]*pluginapi.DeviceSpec) error }
RdmaDeviceSpec used to find the rdma devices
type ResourceManager ¶
type ResourceManager interface { ReadConfig() error ValidateConfigs() error ValidateRdmaSystemMode() error DiscoverHostDevices() error GetDevices() []PciNetDevice InitServers() error StartAllServers() error StopAllServers() error RestartAllServers() error GetFilteredDevices(devices []PciNetDevice, selector *Selectors) []PciNetDevice PeriodicUpdate() func() }
ResourceManager manger multi plugins
type ResourceServer ¶
type ResourceServer interface { pluginapi.DevicePluginServer Start() error Stop() error Restart() error Watch() UpdateDevices([]PciNetDevice) }
ResourceServer is gRPC server implements K8s device plugin api
type ResourceServerPort ¶
type ResourceServerPort interface { GetServer() *grpc.Server CreateServer() DeleteServer() Listen(string, string) (net.Listener, error) Serve(net.Listener) Stop() Close(*grpc.ClientConn) Register(pluginapi.RegistrationClient, *pluginapi.RegisterRequest) error Dial(string, time.Duration) (*grpc.ClientConn, error) }
ResourceServerPort to connect the resources server to k8s
type Selectors ¶ added in v1.1.0
type Selectors struct { Vendors []string `json:"vendors,omitempty"` DeviceIDs []string `json:"deviceIDs,omitempty"` Drivers []string `json:"drivers,omitempty"` IfNames []string `json:"ifNames,omitempty"` LinkTypes []string `json:"linkTypes,omitempty"` }
Selectors contains common device selectors fields
type SignalNotifier ¶
NotifierFactory register signals to listen for
type UserConfig ¶
type UserConfig struct { ResourceName string `json:"resourceName"` ResourcePrefix string `json:"resourcePrefix"` RdmaHcaMax int `json:"rdmaHcaMax"` Devices []string `json:"devices"` Selectors Selectors `json:"selectors"` }
UserConfig configuration for device plugin
type UserConfigList ¶
type UserConfigList struct { PeriodicUpdateInterval *int `json:"periodicUpdateInterval"` ConfigList []UserConfig `json:"configList"` }
UserConfigList config list for servers
Click to show internal directories.
Click to hide internal directories.