types

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Oct 3, 2023 License: Apache-2.0 Imports: 6 Imported by: 0

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

type SignalNotifier interface {
	Notify() chan os.Signal
}

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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