Documentation ¶
Overview ¶
Package v1beta1 is a generated protocol buffer package.
It is generated from these files:
api.proto
It has these top-level messages:
DevicePluginOptions RegisterRequest Empty ListAndWatchResponse Device PreStartContainerRequest PreStartContainerResponse AllocateRequest ContainerAllocateRequest AllocateResponse ContainerAllocateResponse Mount DeviceSpec
Index ¶
- Constants
- Variables
- func RegisterDevicePluginServer(s *grpc.Server, srv DevicePluginServer)
- func RegisterRegistrationServer(s *grpc.Server, srv RegistrationServer)
- type AllocateRequest
- func (*AllocateRequest) Descriptor() ([]byte, []int)
- func (m *AllocateRequest) GetContainerRequests() []*ContainerAllocateRequest
- func (m *AllocateRequest) Marshal() (dAtA []byte, err error)
- func (m *AllocateRequest) MarshalTo(dAtA []byte) (int, error)
- func (*AllocateRequest) ProtoMessage()
- func (m *AllocateRequest) Reset()
- func (m *AllocateRequest) Size() (n int)
- func (this *AllocateRequest) String() string
- func (m *AllocateRequest) Unmarshal(dAtA []byte) error
- type AllocateResponse
- func (*AllocateResponse) Descriptor() ([]byte, []int)
- func (m *AllocateResponse) GetContainerResponses() []*ContainerAllocateResponse
- func (m *AllocateResponse) Marshal() (dAtA []byte, err error)
- func (m *AllocateResponse) MarshalTo(dAtA []byte) (int, error)
- func (*AllocateResponse) ProtoMessage()
- func (m *AllocateResponse) Reset()
- func (m *AllocateResponse) Size() (n int)
- func (this *AllocateResponse) String() string
- func (m *AllocateResponse) Unmarshal(dAtA []byte) error
- type ContainerAllocateRequest
- func (*ContainerAllocateRequest) Descriptor() ([]byte, []int)
- func (m *ContainerAllocateRequest) GetDevicesIDs() []string
- func (m *ContainerAllocateRequest) Marshal() (dAtA []byte, err error)
- func (m *ContainerAllocateRequest) MarshalTo(dAtA []byte) (int, error)
- func (*ContainerAllocateRequest) ProtoMessage()
- func (m *ContainerAllocateRequest) Reset()
- func (m *ContainerAllocateRequest) Size() (n int)
- func (this *ContainerAllocateRequest) String() string
- func (m *ContainerAllocateRequest) Unmarshal(dAtA []byte) error
- type ContainerAllocateResponse
- func (*ContainerAllocateResponse) Descriptor() ([]byte, []int)
- func (m *ContainerAllocateResponse) GetAnnotations() map[string]string
- func (m *ContainerAllocateResponse) GetDevices() []*DeviceSpec
- func (m *ContainerAllocateResponse) GetEnvs() map[string]string
- func (m *ContainerAllocateResponse) GetMounts() []*Mount
- func (m *ContainerAllocateResponse) Marshal() (dAtA []byte, err error)
- func (m *ContainerAllocateResponse) MarshalTo(dAtA []byte) (int, error)
- func (*ContainerAllocateResponse) ProtoMessage()
- func (m *ContainerAllocateResponse) Reset()
- func (m *ContainerAllocateResponse) Size() (n int)
- func (this *ContainerAllocateResponse) String() string
- func (m *ContainerAllocateResponse) Unmarshal(dAtA []byte) error
- type Device
- func (*Device) Descriptor() ([]byte, []int)
- func (m *Device) GetHealth() string
- func (m *Device) GetID() string
- func (m *Device) Marshal() (dAtA []byte, err error)
- func (m *Device) MarshalTo(dAtA []byte) (int, error)
- func (*Device) ProtoMessage()
- func (m *Device) Reset()
- func (m *Device) Size() (n int)
- func (this *Device) String() string
- func (m *Device) Unmarshal(dAtA []byte) error
- type DevicePluginClient
- type DevicePluginOptions
- func (*DevicePluginOptions) Descriptor() ([]byte, []int)
- func (m *DevicePluginOptions) GetPreStartRequired() bool
- func (m *DevicePluginOptions) Marshal() (dAtA []byte, err error)
- func (m *DevicePluginOptions) MarshalTo(dAtA []byte) (int, error)
- func (*DevicePluginOptions) ProtoMessage()
- func (m *DevicePluginOptions) Reset()
- func (m *DevicePluginOptions) Size() (n int)
- func (this *DevicePluginOptions) String() string
- func (m *DevicePluginOptions) Unmarshal(dAtA []byte) error
- type DevicePluginServer
- type DevicePlugin_ListAndWatchClient
- type DevicePlugin_ListAndWatchServer
- type DeviceSpec
- func (*DeviceSpec) Descriptor() ([]byte, []int)
- func (m *DeviceSpec) GetContainerPath() string
- func (m *DeviceSpec) GetHostPath() string
- func (m *DeviceSpec) GetPermissions() string
- func (m *DeviceSpec) Marshal() (dAtA []byte, err error)
- func (m *DeviceSpec) MarshalTo(dAtA []byte) (int, error)
- func (*DeviceSpec) ProtoMessage()
- func (m *DeviceSpec) Reset()
- func (m *DeviceSpec) Size() (n int)
- func (this *DeviceSpec) String() string
- func (m *DeviceSpec) Unmarshal(dAtA []byte) error
- type Empty
- func (*Empty) Descriptor() ([]byte, []int)
- func (m *Empty) Marshal() (dAtA []byte, err error)
- func (m *Empty) MarshalTo(dAtA []byte) (int, error)
- func (*Empty) ProtoMessage()
- func (m *Empty) Reset()
- func (m *Empty) Size() (n int)
- func (this *Empty) String() string
- func (m *Empty) Unmarshal(dAtA []byte) error
- type ListAndWatchResponse
- func (*ListAndWatchResponse) Descriptor() ([]byte, []int)
- func (m *ListAndWatchResponse) GetDevices() []*Device
- func (m *ListAndWatchResponse) Marshal() (dAtA []byte, err error)
- func (m *ListAndWatchResponse) MarshalTo(dAtA []byte) (int, error)
- func (*ListAndWatchResponse) ProtoMessage()
- func (m *ListAndWatchResponse) Reset()
- func (m *ListAndWatchResponse) Size() (n int)
- func (this *ListAndWatchResponse) String() string
- func (m *ListAndWatchResponse) Unmarshal(dAtA []byte) error
- type Mount
- func (*Mount) Descriptor() ([]byte, []int)
- func (m *Mount) GetContainerPath() string
- func (m *Mount) GetHostPath() string
- func (m *Mount) GetReadOnly() bool
- func (m *Mount) Marshal() (dAtA []byte, err error)
- func (m *Mount) MarshalTo(dAtA []byte) (int, error)
- func (*Mount) ProtoMessage()
- func (m *Mount) Reset()
- func (m *Mount) Size() (n int)
- func (this *Mount) String() string
- func (m *Mount) Unmarshal(dAtA []byte) error
- type PreStartContainerRequest
- func (*PreStartContainerRequest) Descriptor() ([]byte, []int)
- func (m *PreStartContainerRequest) GetDevicesIDs() []string
- func (m *PreStartContainerRequest) Marshal() (dAtA []byte, err error)
- func (m *PreStartContainerRequest) MarshalTo(dAtA []byte) (int, error)
- func (*PreStartContainerRequest) ProtoMessage()
- func (m *PreStartContainerRequest) Reset()
- func (m *PreStartContainerRequest) Size() (n int)
- func (this *PreStartContainerRequest) String() string
- func (m *PreStartContainerRequest) Unmarshal(dAtA []byte) error
- type PreStartContainerResponse
- func (*PreStartContainerResponse) Descriptor() ([]byte, []int)
- func (m *PreStartContainerResponse) Marshal() (dAtA []byte, err error)
- func (m *PreStartContainerResponse) MarshalTo(dAtA []byte) (int, error)
- func (*PreStartContainerResponse) ProtoMessage()
- func (m *PreStartContainerResponse) Reset()
- func (m *PreStartContainerResponse) Size() (n int)
- func (this *PreStartContainerResponse) String() string
- func (m *PreStartContainerResponse) Unmarshal(dAtA []byte) error
- type RegisterRequest
- func (*RegisterRequest) Descriptor() ([]byte, []int)
- func (m *RegisterRequest) GetEndpoint() string
- func (m *RegisterRequest) GetOptions() *DevicePluginOptions
- func (m *RegisterRequest) GetResourceName() string
- func (m *RegisterRequest) GetVersion() string
- func (m *RegisterRequest) Marshal() (dAtA []byte, err error)
- func (m *RegisterRequest) MarshalTo(dAtA []byte) (int, error)
- func (*RegisterRequest) ProtoMessage()
- func (m *RegisterRequest) Reset()
- func (m *RegisterRequest) Size() (n int)
- func (this *RegisterRequest) String() string
- func (m *RegisterRequest) Unmarshal(dAtA []byte) error
- type RegistrationClient
- type RegistrationServer
Constants ¶
const ( // Healthy means that the device is healthy Healthy = "Healthy" // UnHealthy means that the device is unhealthy Unhealthy = "Unhealthy" // Current version of the API supported by kubelet Version = "v1beta1" // DevicePluginPath is the folder the Device Plugin is expecting sockets to be on // Only privileged pods have access to this path // Note: Placeholder until we find a "standard path" DevicePluginPath = "/var/lib/kubelet/device-plugins/" // KubeletSocket is the path of the Kubelet registry socket KubeletSocket = DevicePluginPath + "kubelet.sock" // Timeout duration in secs for PreStartContainer RPC KubeletPreStartContainerRPCTimeoutInSecs = 30 )
Variables ¶
var ( ErrInvalidLengthApi = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowApi = fmt.Errorf("proto: integer overflow") )
var SupportedVersions = [...]string{"v1beta1"}
Functions ¶
func RegisterDevicePluginServer ¶
func RegisterDevicePluginServer(s *grpc.Server, srv DevicePluginServer)
func RegisterRegistrationServer ¶
func RegisterRegistrationServer(s *grpc.Server, srv RegistrationServer)
Types ¶
type AllocateRequest ¶
type AllocateRequest struct {
ContainerRequests []*ContainerAllocateRequest `protobuf:"bytes,1,rep,name=container_requests,json=containerRequests" json:"container_requests,omitempty"`
}
- Allocate is expected to be called during pod creation since allocation failures for any container would result in pod startup failure.
- Allocate allows kubelet to exposes additional artifacts in a pod's environment as directed by the plugin.
- Allocate allows Device Plugin to run device specific operations on the Devices requested
func (*AllocateRequest) Descriptor ¶
func (*AllocateRequest) Descriptor() ([]byte, []int)
func (*AllocateRequest) GetContainerRequests ¶
func (m *AllocateRequest) GetContainerRequests() []*ContainerAllocateRequest
func (*AllocateRequest) Marshal ¶
func (m *AllocateRequest) Marshal() (dAtA []byte, err error)
func (*AllocateRequest) ProtoMessage ¶
func (*AllocateRequest) ProtoMessage()
func (*AllocateRequest) Reset ¶
func (m *AllocateRequest) Reset()
func (*AllocateRequest) Size ¶
func (m *AllocateRequest) Size() (n int)
func (*AllocateRequest) String ¶
func (this *AllocateRequest) String() string
func (*AllocateRequest) Unmarshal ¶
func (m *AllocateRequest) Unmarshal(dAtA []byte) error
type AllocateResponse ¶
type AllocateResponse struct {
ContainerResponses []*ContainerAllocateResponse `protobuf:"bytes,1,rep,name=container_responses,json=containerResponses" json:"container_responses,omitempty"`
}
AllocateResponse includes the artifacts that needs to be injected into a container for accessing 'deviceIDs' that were mentioned as part of 'AllocateRequest'. Failure Handling: if Kubelet sends an allocation request for dev1 and dev2. Allocation on dev1 succeeds but allocation on dev2 fails. The Device plugin should send a ListAndWatch update and fail the Allocation request
func (*AllocateResponse) Descriptor ¶
func (*AllocateResponse) Descriptor() ([]byte, []int)
func (*AllocateResponse) GetContainerResponses ¶
func (m *AllocateResponse) GetContainerResponses() []*ContainerAllocateResponse
func (*AllocateResponse) Marshal ¶
func (m *AllocateResponse) Marshal() (dAtA []byte, err error)
func (*AllocateResponse) ProtoMessage ¶
func (*AllocateResponse) ProtoMessage()
func (*AllocateResponse) Reset ¶
func (m *AllocateResponse) Reset()
func (*AllocateResponse) Size ¶
func (m *AllocateResponse) Size() (n int)
func (*AllocateResponse) String ¶
func (this *AllocateResponse) String() string
func (*AllocateResponse) Unmarshal ¶
func (m *AllocateResponse) Unmarshal(dAtA []byte) error
type ContainerAllocateRequest ¶
type ContainerAllocateRequest struct {
DevicesIDs []string `protobuf:"bytes,1,rep,name=devicesIDs" json:"devicesIDs,omitempty"`
}
func (*ContainerAllocateRequest) Descriptor ¶
func (*ContainerAllocateRequest) Descriptor() ([]byte, []int)
func (*ContainerAllocateRequest) GetDevicesIDs ¶
func (m *ContainerAllocateRequest) GetDevicesIDs() []string
func (*ContainerAllocateRequest) Marshal ¶
func (m *ContainerAllocateRequest) Marshal() (dAtA []byte, err error)
func (*ContainerAllocateRequest) MarshalTo ¶
func (m *ContainerAllocateRequest) MarshalTo(dAtA []byte) (int, error)
func (*ContainerAllocateRequest) ProtoMessage ¶
func (*ContainerAllocateRequest) ProtoMessage()
func (*ContainerAllocateRequest) Reset ¶
func (m *ContainerAllocateRequest) Reset()
func (*ContainerAllocateRequest) Size ¶
func (m *ContainerAllocateRequest) Size() (n int)
func (*ContainerAllocateRequest) String ¶
func (this *ContainerAllocateRequest) String() string
func (*ContainerAllocateRequest) Unmarshal ¶
func (m *ContainerAllocateRequest) Unmarshal(dAtA []byte) error
type ContainerAllocateResponse ¶
type ContainerAllocateResponse struct { // List of environment variable to be set in the container to access one of more devices. Envs map[string]string `` /* 142-byte string literal not displayed */ // Mounts for the container. Mounts []*Mount `protobuf:"bytes,2,rep,name=mounts" json:"mounts,omitempty"` // Devices for the container. Devices []*DeviceSpec `protobuf:"bytes,3,rep,name=devices" json:"devices,omitempty"` // Container annotations to pass to the container runtime Annotations map[string]string `` /* 156-byte string literal not displayed */ }
func (*ContainerAllocateResponse) Descriptor ¶
func (*ContainerAllocateResponse) Descriptor() ([]byte, []int)
func (*ContainerAllocateResponse) GetAnnotations ¶
func (m *ContainerAllocateResponse) GetAnnotations() map[string]string
func (*ContainerAllocateResponse) GetDevices ¶
func (m *ContainerAllocateResponse) GetDevices() []*DeviceSpec
func (*ContainerAllocateResponse) GetEnvs ¶
func (m *ContainerAllocateResponse) GetEnvs() map[string]string
func (*ContainerAllocateResponse) GetMounts ¶
func (m *ContainerAllocateResponse) GetMounts() []*Mount
func (*ContainerAllocateResponse) Marshal ¶
func (m *ContainerAllocateResponse) Marshal() (dAtA []byte, err error)
func (*ContainerAllocateResponse) MarshalTo ¶
func (m *ContainerAllocateResponse) MarshalTo(dAtA []byte) (int, error)
func (*ContainerAllocateResponse) ProtoMessage ¶
func (*ContainerAllocateResponse) ProtoMessage()
func (*ContainerAllocateResponse) Reset ¶
func (m *ContainerAllocateResponse) Reset()
func (*ContainerAllocateResponse) Size ¶
func (m *ContainerAllocateResponse) Size() (n int)
func (*ContainerAllocateResponse) String ¶
func (this *ContainerAllocateResponse) String() string
func (*ContainerAllocateResponse) Unmarshal ¶
func (m *ContainerAllocateResponse) Unmarshal(dAtA []byte) error
type Device ¶
type Device struct { // A unique ID assigned by the device plugin used // to identify devices during the communication // Max length of this field is 63 characters ID string `protobuf:"bytes,1,opt,name=ID,json=iD,proto3" json:"ID,omitempty"` // Health of the device, can be healthy or unhealthy, see constants.go Health string `protobuf:"bytes,2,opt,name=health,proto3" json:"health,omitempty"` }
E.g:
struct Device { ID: "GPU-fef8089b-4820-abfc-e83e-94318197576e", State: "Healthy", }
func (*Device) Descriptor ¶
func (*Device) ProtoMessage ¶
func (*Device) ProtoMessage()
type DevicePluginClient ¶
type DevicePluginClient interface { // GetDevicePluginOptions returns options to be communicated with Device // Manager GetDevicePluginOptions(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*DevicePluginOptions, error) // ListAndWatch returns a stream of List of Devices // Whenever a Device state change or a Device disappears, ListAndWatch // returns the new list ListAndWatch(ctx context.Context, in *Empty, opts ...grpc.CallOption) (DevicePlugin_ListAndWatchClient, error) // Allocate is called during container creation so that the Device // Plugin can run device specific operations and instruct Kubelet // of the steps to make the Device available in the container Allocate(ctx context.Context, in *AllocateRequest, opts ...grpc.CallOption) (*AllocateResponse, error) // PreStartContainer is called, if indicated by Device Plugin during registeration phase, // before each container start. Device plugin can run device specific operations // such as reseting the device before making devices available to the container PreStartContainer(ctx context.Context, in *PreStartContainerRequest, opts ...grpc.CallOption) (*PreStartContainerResponse, error) }
func NewDevicePluginClient ¶
func NewDevicePluginClient(cc *grpc.ClientConn) DevicePluginClient
type DevicePluginOptions ¶
type DevicePluginOptions struct { // Indicates if PreStartContainer call is required before each container start PreStartRequired bool `protobuf:"varint,1,opt,name=pre_start_required,json=preStartRequired,proto3" json:"pre_start_required,omitempty"` }
func (*DevicePluginOptions) Descriptor ¶
func (*DevicePluginOptions) Descriptor() ([]byte, []int)
func (*DevicePluginOptions) GetPreStartRequired ¶
func (m *DevicePluginOptions) GetPreStartRequired() bool
func (*DevicePluginOptions) Marshal ¶
func (m *DevicePluginOptions) Marshal() (dAtA []byte, err error)
func (*DevicePluginOptions) MarshalTo ¶
func (m *DevicePluginOptions) MarshalTo(dAtA []byte) (int, error)
func (*DevicePluginOptions) ProtoMessage ¶
func (*DevicePluginOptions) ProtoMessage()
func (*DevicePluginOptions) Reset ¶
func (m *DevicePluginOptions) Reset()
func (*DevicePluginOptions) Size ¶
func (m *DevicePluginOptions) Size() (n int)
func (*DevicePluginOptions) String ¶
func (this *DevicePluginOptions) String() string
func (*DevicePluginOptions) Unmarshal ¶
func (m *DevicePluginOptions) Unmarshal(dAtA []byte) error
type DevicePluginServer ¶
type DevicePluginServer interface { // GetDevicePluginOptions returns options to be communicated with Device // Manager GetDevicePluginOptions(context.Context, *Empty) (*DevicePluginOptions, error) // ListAndWatch returns a stream of List of Devices // Whenever a Device state change or a Device disappears, ListAndWatch // returns the new list ListAndWatch(*Empty, DevicePlugin_ListAndWatchServer) error // Allocate is called during container creation so that the Device // Plugin can run device specific operations and instruct Kubelet // of the steps to make the Device available in the container Allocate(context.Context, *AllocateRequest) (*AllocateResponse, error) // PreStartContainer is called, if indicated by Device Plugin during registeration phase, // before each container start. Device plugin can run device specific operations // such as reseting the device before making devices available to the container PreStartContainer(context.Context, *PreStartContainerRequest) (*PreStartContainerResponse, error) }
type DevicePlugin_ListAndWatchClient ¶
type DevicePlugin_ListAndWatchClient interface { Recv() (*ListAndWatchResponse, error) grpc.ClientStream }
type DevicePlugin_ListAndWatchServer ¶
type DevicePlugin_ListAndWatchServer interface { Send(*ListAndWatchResponse) error grpc.ServerStream }
type DeviceSpec ¶
type DeviceSpec struct { // Path of the device within the container. ContainerPath string `protobuf:"bytes,1,opt,name=container_path,json=containerPath,proto3" json:"container_path,omitempty"` // Path of the device on the host. HostPath string `protobuf:"bytes,2,opt,name=host_path,json=hostPath,proto3" json:"host_path,omitempty"` // Cgroups permissions of the device, candidates are one or more of // * r - allows container to read from the specified device. // * w - allows container to write to the specified device. // * m - allows container to create device files that do not yet exist. Permissions string `protobuf:"bytes,3,opt,name=permissions,proto3" json:"permissions,omitempty"` }
DeviceSpec specifies a host device to mount into a container.
func (*DeviceSpec) Descriptor ¶
func (*DeviceSpec) Descriptor() ([]byte, []int)
func (*DeviceSpec) GetContainerPath ¶
func (m *DeviceSpec) GetContainerPath() string
func (*DeviceSpec) GetHostPath ¶
func (m *DeviceSpec) GetHostPath() string
func (*DeviceSpec) GetPermissions ¶
func (m *DeviceSpec) GetPermissions() string
func (*DeviceSpec) Marshal ¶
func (m *DeviceSpec) Marshal() (dAtA []byte, err error)
func (*DeviceSpec) ProtoMessage ¶
func (*DeviceSpec) ProtoMessage()
func (*DeviceSpec) Reset ¶
func (m *DeviceSpec) Reset()
func (*DeviceSpec) Size ¶
func (m *DeviceSpec) Size() (n int)
func (*DeviceSpec) String ¶
func (this *DeviceSpec) String() string
func (*DeviceSpec) Unmarshal ¶
func (m *DeviceSpec) Unmarshal(dAtA []byte) error
type Empty ¶
type Empty struct { }
func (*Empty) Descriptor ¶
func (*Empty) ProtoMessage ¶
func (*Empty) ProtoMessage()
type ListAndWatchResponse ¶
type ListAndWatchResponse struct {
Devices []*Device `protobuf:"bytes,1,rep,name=devices" json:"devices,omitempty"`
}
ListAndWatch returns a stream of List of Devices Whenever a Device state change or a Device disappears, ListAndWatch returns the new list
func (*ListAndWatchResponse) Descriptor ¶
func (*ListAndWatchResponse) Descriptor() ([]byte, []int)
func (*ListAndWatchResponse) GetDevices ¶
func (m *ListAndWatchResponse) GetDevices() []*Device
func (*ListAndWatchResponse) Marshal ¶
func (m *ListAndWatchResponse) Marshal() (dAtA []byte, err error)
func (*ListAndWatchResponse) MarshalTo ¶
func (m *ListAndWatchResponse) MarshalTo(dAtA []byte) (int, error)
func (*ListAndWatchResponse) ProtoMessage ¶
func (*ListAndWatchResponse) ProtoMessage()
func (*ListAndWatchResponse) Reset ¶
func (m *ListAndWatchResponse) Reset()
func (*ListAndWatchResponse) Size ¶
func (m *ListAndWatchResponse) Size() (n int)
func (*ListAndWatchResponse) String ¶
func (this *ListAndWatchResponse) String() string
func (*ListAndWatchResponse) Unmarshal ¶
func (m *ListAndWatchResponse) Unmarshal(dAtA []byte) error
type Mount ¶
type Mount struct { // Path of the mount within the container. ContainerPath string `protobuf:"bytes,1,opt,name=container_path,json=containerPath,proto3" json:"container_path,omitempty"` // Path of the mount on the host. HostPath string `protobuf:"bytes,2,opt,name=host_path,json=hostPath,proto3" json:"host_path,omitempty"` // If set, the mount is read-only. ReadOnly bool `protobuf:"varint,3,opt,name=read_only,json=readOnly,proto3" json:"read_only,omitempty"` }
Mount specifies a host volume to mount into a container. where device library or tools are installed on host and container
func (*Mount) Descriptor ¶
func (*Mount) GetContainerPath ¶
func (*Mount) GetHostPath ¶
func (*Mount) GetReadOnly ¶
func (*Mount) ProtoMessage ¶
func (*Mount) ProtoMessage()
type PreStartContainerRequest ¶
type PreStartContainerRequest struct {
DevicesIDs []string `protobuf:"bytes,1,rep,name=devicesIDs" json:"devicesIDs,omitempty"`
}
- PreStartContainer is expected to be called before each container start if indicated by plugin during registration phase.
- PreStartContainer allows kubelet to pass reinitialized devices to containers.
- PreStartContainer allows Device Plugin to run device specific operations on the Devices requested
func (*PreStartContainerRequest) Descriptor ¶
func (*PreStartContainerRequest) Descriptor() ([]byte, []int)
func (*PreStartContainerRequest) GetDevicesIDs ¶
func (m *PreStartContainerRequest) GetDevicesIDs() []string
func (*PreStartContainerRequest) Marshal ¶
func (m *PreStartContainerRequest) Marshal() (dAtA []byte, err error)
func (*PreStartContainerRequest) MarshalTo ¶
func (m *PreStartContainerRequest) MarshalTo(dAtA []byte) (int, error)
func (*PreStartContainerRequest) ProtoMessage ¶
func (*PreStartContainerRequest) ProtoMessage()
func (*PreStartContainerRequest) Reset ¶
func (m *PreStartContainerRequest) Reset()
func (*PreStartContainerRequest) Size ¶
func (m *PreStartContainerRequest) Size() (n int)
func (*PreStartContainerRequest) String ¶
func (this *PreStartContainerRequest) String() string
func (*PreStartContainerRequest) Unmarshal ¶
func (m *PreStartContainerRequest) Unmarshal(dAtA []byte) error
type PreStartContainerResponse ¶
type PreStartContainerResponse struct { }
PreStartContainerResponse will be send by plugin in response to PreStartContainerRequest
func (*PreStartContainerResponse) Descriptor ¶
func (*PreStartContainerResponse) Descriptor() ([]byte, []int)
func (*PreStartContainerResponse) Marshal ¶
func (m *PreStartContainerResponse) Marshal() (dAtA []byte, err error)
func (*PreStartContainerResponse) MarshalTo ¶
func (m *PreStartContainerResponse) MarshalTo(dAtA []byte) (int, error)
func (*PreStartContainerResponse) ProtoMessage ¶
func (*PreStartContainerResponse) ProtoMessage()
func (*PreStartContainerResponse) Reset ¶
func (m *PreStartContainerResponse) Reset()
func (*PreStartContainerResponse) Size ¶
func (m *PreStartContainerResponse) Size() (n int)
func (*PreStartContainerResponse) String ¶
func (this *PreStartContainerResponse) String() string
func (*PreStartContainerResponse) Unmarshal ¶
func (m *PreStartContainerResponse) Unmarshal(dAtA []byte) error
type RegisterRequest ¶
type RegisterRequest struct { // Version of the API the Device Plugin was built against Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // Name of the unix socket the device plugin is listening on // PATH = path.Join(DevicePluginPath, endpoint) Endpoint string `protobuf:"bytes,2,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // Schedulable resource name. As of now it's expected to be a DNS Label ResourceName string `protobuf:"bytes,3,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"` // Options to be communicated with Device Manager Options *DevicePluginOptions `protobuf:"bytes,4,opt,name=options" json:"options,omitempty"` }
func (*RegisterRequest) Descriptor ¶
func (*RegisterRequest) Descriptor() ([]byte, []int)
func (*RegisterRequest) GetEndpoint ¶
func (m *RegisterRequest) GetEndpoint() string
func (*RegisterRequest) GetOptions ¶
func (m *RegisterRequest) GetOptions() *DevicePluginOptions
func (*RegisterRequest) GetResourceName ¶
func (m *RegisterRequest) GetResourceName() string
func (*RegisterRequest) GetVersion ¶
func (m *RegisterRequest) GetVersion() string
func (*RegisterRequest) Marshal ¶
func (m *RegisterRequest) Marshal() (dAtA []byte, err error)
func (*RegisterRequest) ProtoMessage ¶
func (*RegisterRequest) ProtoMessage()
func (*RegisterRequest) Reset ¶
func (m *RegisterRequest) Reset()
func (*RegisterRequest) Size ¶
func (m *RegisterRequest) Size() (n int)
func (*RegisterRequest) String ¶
func (this *RegisterRequest) String() string
func (*RegisterRequest) Unmarshal ¶
func (m *RegisterRequest) Unmarshal(dAtA []byte) error
type RegistrationClient ¶
type RegistrationClient interface {
Register(ctx context.Context, in *RegisterRequest, opts ...grpc.CallOption) (*Empty, error)
}
func NewRegistrationClient ¶
func NewRegistrationClient(cc *grpc.ClientConn) RegistrationClient
type RegistrationServer ¶
type RegistrationServer interface {
Register(context.Context, *RegisterRequest) (*Empty, error)
}