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.