Documentation
¶
Index ¶
- func NewStaticPolicy(agentCtx *agent.GenericContext, conf *config.Configuration, _ interface{}, ...) (bool, agent.Component, error)
- type StaticPolicy
- func (p *StaticPolicy) Allocate(ctx context.Context, req *pluginapi.ResourceRequest) (resp *pluginapi.ResourceAllocationResponse, err error)
- func (p *StaticPolicy) AllocateAssociatedDevice(ctx context.Context, req *pluginapi.AssociatedDeviceRequest) (resp *pluginapi.AssociatedDeviceAllocationResponse, respErr error)
- func (p *StaticPolicy) AllocateForPod(_ context.Context, req *pluginapi.PodResourceRequest) (resp *pluginapi.PodResourceAllocationResponse, err error)
- func (*StaticPolicy) GetAssociatedDeviceTopologyHints(_ context.Context, _ *pluginapi.AssociatedDeviceRequest) (*pluginapi.AssociatedDeviceHintsResponse, error)
- func (p *StaticPolicy) GetPodTopologyHints(_ context.Context, req *pluginapi.PodResourceRequest) (resp *pluginapi.PodResourceHintsResponse, err error)
- func (p *StaticPolicy) GetResourcePluginOptions(context.Context, *pluginapi.Empty) (*pluginapi.ResourcePluginOptions, error)
- func (p *StaticPolicy) GetResourcesAllocation(_ context.Context, _ *pluginapi.GetResourcesAllocationRequest) (*pluginapi.GetResourcesAllocationResponse, error)
- func (p *StaticPolicy) GetTopologyAwareAllocatableResources(ctx context.Context, ...) (*pluginapi.GetTopologyAwareAllocatableResourcesResponse, error)
- func (p *StaticPolicy) GetTopologyAwareResources(ctx context.Context, req *pluginapi.GetTopologyAwareResourcesRequest) (*pluginapi.GetTopologyAwareResourcesResponse, error)
- func (p *StaticPolicy) GetTopologyHints(ctx context.Context, req *pluginapi.ResourceRequest) (resp *pluginapi.ResourceHintsResponse, err error)
- func (p *StaticPolicy) Name() string
- func (p *StaticPolicy) PreStartContainer(context.Context, *pluginapi.PreStartContainerRequest) (*pluginapi.PreStartContainerResponse, error)
- func (p *StaticPolicy) RegisterCustomDevicePlugin(plugin customdeviceplugin.CustomDevicePlugin)
- func (p *StaticPolicy) RegisterResourcePlugin(resourcePlugin resourceplugin.ResourcePlugin)
- func (p *StaticPolicy) RemovePod(ctx context.Context, req *pluginapi.RemovePodRequest) (*pluginapi.RemovePodResponse, error)
- func (p *StaticPolicy) ResourceName() string
- func (p *StaticPolicy) Start() (err error)
- func (p *StaticPolicy) Stop() error
- func (p *StaticPolicy) UpdateAllocatableAssociatedDevices(ctx context.Context, ...) (*pluginapi.UpdateAllocatableAssociatedDevicesResponse, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewStaticPolicy ¶
func NewStaticPolicy( agentCtx *agent.GenericContext, conf *config.Configuration, _ interface{}, agentName string, ) (bool, agent.Component, error)
NewStaticPolicy returns a static gpu policy
Types ¶
type StaticPolicy ¶
type StaticPolicy struct {
sync.RWMutex
pluginapi.UnimplementedResourcePluginServer
*baseplugin.BasePlugin
// contains filtered or unexported fields
}
StaticPolicy is the static gpu policy
func (*StaticPolicy) Allocate ¶
func (p *StaticPolicy) Allocate( ctx context.Context, req *pluginapi.ResourceRequest, ) (resp *pluginapi.ResourceAllocationResponse, err error)
Allocate is called during pod admit so that the resource plugin can allocate corresponding resource for the container according to resource request
func (*StaticPolicy) AllocateAssociatedDevice ¶
func (p *StaticPolicy) AllocateAssociatedDevice( ctx context.Context, req *pluginapi.AssociatedDeviceRequest, ) (resp *pluginapi.AssociatedDeviceAllocationResponse, respErr error)
AllocateAssociatedDevice allocates a device in this sequence: 1. Find the resource plugin that corresponds to the accompanyResourceName and allocate 2. Find the custom device plugin that corresponds to the deviceName and allocate
func (*StaticPolicy) AllocateForPod ¶
func (p *StaticPolicy) AllocateForPod( _ context.Context, req *pluginapi.PodResourceRequest, ) (resp *pluginapi.PodResourceAllocationResponse, err error)
AllocateForPod is called during pod admit so that the resource plugin can allocate corresponding resource for the pod according to resource request
func (*StaticPolicy) GetAssociatedDeviceTopologyHints ¶
func (*StaticPolicy) GetAssociatedDeviceTopologyHints( _ context.Context, _ *pluginapi.AssociatedDeviceRequest, ) (*pluginapi.AssociatedDeviceHintsResponse, error)
func (*StaticPolicy) GetPodTopologyHints ¶
func (p *StaticPolicy) GetPodTopologyHints( _ context.Context, req *pluginapi.PodResourceRequest, ) (resp *pluginapi.PodResourceHintsResponse, err error)
GetPodTopologyHints returns hints of corresponding resources
func (*StaticPolicy) GetResourcePluginOptions ¶
func (p *StaticPolicy) GetResourcePluginOptions( context.Context, *pluginapi.Empty, ) (*pluginapi.ResourcePluginOptions, error)
GetResourcePluginOptions returns options to be communicated with Resource Manager
func (*StaticPolicy) GetResourcesAllocation ¶
func (p *StaticPolicy) GetResourcesAllocation( _ context.Context, _ *pluginapi.GetResourcesAllocationRequest, ) (*pluginapi.GetResourcesAllocationResponse, error)
GetResourcesAllocation returns allocation results of corresponding resources
func (*StaticPolicy) GetTopologyAwareAllocatableResources ¶
func (p *StaticPolicy) GetTopologyAwareAllocatableResources( ctx context.Context, req *pluginapi.GetTopologyAwareAllocatableResourcesRequest, ) (*pluginapi.GetTopologyAwareAllocatableResourcesResponse, error)
GetTopologyAwareAllocatableResources returns corresponding allocatable resources as topology aware format
func (*StaticPolicy) GetTopologyAwareResources ¶
func (p *StaticPolicy) GetTopologyAwareResources( ctx context.Context, req *pluginapi.GetTopologyAwareResourcesRequest, ) (*pluginapi.GetTopologyAwareResourcesResponse, error)
GetTopologyAwareResources returns allocation results of corresponding resources as topology aware format
func (*StaticPolicy) GetTopologyHints ¶
func (p *StaticPolicy) GetTopologyHints( ctx context.Context, req *pluginapi.ResourceRequest, ) (resp *pluginapi.ResourceHintsResponse, err error)
GetTopologyHints returns hints of corresponding resources
func (*StaticPolicy) Name ¶
func (p *StaticPolicy) Name() string
Name returns the name of this plugin
func (*StaticPolicy) PreStartContainer ¶
func (p *StaticPolicy) PreStartContainer( context.Context, *pluginapi.PreStartContainerRequest, ) (*pluginapi.PreStartContainerResponse, error)
PreStartContainer is called, if indicated by resource plugin during registration phase, before each container start. Resource plugin can run resource specific operations such as resetting the resource before making resources available to the container
func (*StaticPolicy) RegisterCustomDevicePlugin ¶
func (p *StaticPolicy) RegisterCustomDevicePlugin(plugin customdeviceplugin.CustomDevicePlugin)
func (*StaticPolicy) RegisterResourcePlugin ¶
func (p *StaticPolicy) RegisterResourcePlugin(resourcePlugin resourceplugin.ResourcePlugin)
func (*StaticPolicy) RemovePod ¶
func (p *StaticPolicy) RemovePod( ctx context.Context, req *pluginapi.RemovePodRequest, ) (*pluginapi.RemovePodResponse, error)
func (*StaticPolicy) ResourceName ¶
func (p *StaticPolicy) ResourceName() string
ResourceName returns resource names managed by this plugin
func (*StaticPolicy) UpdateAllocatableAssociatedDevices ¶
func (p *StaticPolicy) UpdateAllocatableAssociatedDevices( ctx context.Context, request *pluginapi.UpdateAllocatableAssociatedDevicesRequest, ) (*pluginapi.UpdateAllocatableAssociatedDevicesResponse, error)