Documentation ¶
Index ¶
- func NewDynamicPolicy(agentCtx *agent.GenericContext, conf *config.Configuration, _ interface{}, ...) (bool, agent.Component, error)
- type DynamicPolicy
- func (p *DynamicPolicy) Allocate(ctx context.Context, req *pluginapi.ResourceRequest) (resp *pluginapi.ResourceAllocationResponse, respErr error)
- func (p *DynamicPolicy) AllocateForPod(ctx context.Context, req *pluginapi.PodResourceRequest) (resp *pluginapi.PodResourceAllocationResponse, respErr error)
- func (p *DynamicPolicy) GetCheckpoint(_ context.Context, req *advisorapi.GetCheckpointRequest) (*advisorapi.GetCheckpointResponse, error)
- func (p *DynamicPolicy) GetPodTopologyHints(ctx context.Context, req *pluginapi.PodResourceRequest) (resp *pluginapi.PodResourceHintsResponse, err error)
- func (p *DynamicPolicy) GetResourcePluginOptions(context.Context, *pluginapi.Empty) (*pluginapi.ResourcePluginOptions, error)
- func (p *DynamicPolicy) GetResourcesAllocation(_ context.Context, req *pluginapi.GetResourcesAllocationRequest) (*pluginapi.GetResourcesAllocationResponse, error)
- func (p *DynamicPolicy) GetTopologyAwareAllocatableResources(_ context.Context, _ *pluginapi.GetTopologyAwareAllocatableResourcesRequest) (*pluginapi.GetTopologyAwareAllocatableResourcesResponse, error)
- func (p *DynamicPolicy) GetTopologyAwareResources(_ context.Context, req *pluginapi.GetTopologyAwareResourcesRequest) (*pluginapi.GetTopologyAwareResourcesResponse, error)
- func (p *DynamicPolicy) GetTopologyHints(ctx context.Context, req *pluginapi.ResourceRequest) (resp *pluginapi.ResourceHintsResponse, err error)
- func (p *DynamicPolicy) Name() string
- func (p *DynamicPolicy) PreStartContainer(context.Context, *pluginapi.PreStartContainerRequest) (*pluginapi.PreStartContainerResponse, error)
- func (p *DynamicPolicy) RemovePod(ctx context.Context, req *pluginapi.RemovePodRequest) (resp *pluginapi.RemovePodResponse, err error)
- func (p *DynamicPolicy) ResourceName() string
- func (p *DynamicPolicy) Start() (err error)
- func (p *DynamicPolicy) Stop() error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewDynamicPolicy ¶
func NewDynamicPolicy(agentCtx *agent.GenericContext, conf *config.Configuration, _ interface{}, agentName string, ) (bool, agent.Component, error)
Types ¶
type DynamicPolicy ¶
type DynamicPolicy struct { sync.RWMutex advisorapi.UnimplementedCPUPluginServer // contains filtered or unexported fields }
DynamicPolicy is the policy that's used by default; it will consider the dynamic running information to calculate and adjust resource requirements and configurations
func (*DynamicPolicy) Allocate ¶
func (p *DynamicPolicy) Allocate(ctx context.Context, req *pluginapi.ResourceRequest, ) (resp *pluginapi.ResourceAllocationResponse, respErr error)
Allocate is called during pod admit so that the resource plugin can allocate corresponding resource for the container according to resource request
func (*DynamicPolicy) AllocateForPod ¶ added in v0.5.8
func (p *DynamicPolicy) AllocateForPod(ctx context.Context, req *pluginapi.PodResourceRequest, ) (resp *pluginapi.PodResourceAllocationResponse, respErr error)
AllocateForPod is called during pod admit so that the resource plugin can allocate corresponding resource for the pod according to resource request
func (*DynamicPolicy) GetCheckpoint ¶
func (p *DynamicPolicy) GetCheckpoint(_ context.Context, req *advisorapi.GetCheckpointRequest, ) (*advisorapi.GetCheckpointResponse, error)
GetCheckpoint works with serveForAdvisor to provide ckp for cpu-advisor
func (*DynamicPolicy) GetPodTopologyHints ¶ added in v0.5.8
func (p *DynamicPolicy) GetPodTopologyHints(ctx context.Context, req *pluginapi.PodResourceRequest, ) (resp *pluginapi.PodResourceHintsResponse, err error)
GetPodTopologyHints returns hints of corresponding resources for pod
func (*DynamicPolicy) GetResourcePluginOptions ¶
func (p *DynamicPolicy) GetResourcePluginOptions(context.Context, *pluginapi.Empty, ) (*pluginapi.ResourcePluginOptions, error)
GetResourcePluginOptions returns options to be communicated with Resource Manager
func (*DynamicPolicy) GetResourcesAllocation ¶
func (p *DynamicPolicy) GetResourcesAllocation(_ context.Context, req *pluginapi.GetResourcesAllocationRequest, ) (*pluginapi.GetResourcesAllocationResponse, error)
GetResourcesAllocation returns allocation results of corresponding resources
func (*DynamicPolicy) GetTopologyAwareAllocatableResources ¶
func (p *DynamicPolicy) GetTopologyAwareAllocatableResources(_ context.Context, _ *pluginapi.GetTopologyAwareAllocatableResourcesRequest, ) (*pluginapi.GetTopologyAwareAllocatableResourcesResponse, error)
GetTopologyAwareAllocatableResources returns corresponding allocatable resources as machineInfo aware format
func (*DynamicPolicy) GetTopologyAwareResources ¶
func (p *DynamicPolicy) GetTopologyAwareResources(_ context.Context, req *pluginapi.GetTopologyAwareResourcesRequest, ) (*pluginapi.GetTopologyAwareResourcesResponse, error)
GetTopologyAwareResources returns allocation results of corresponding resources as machineInfo aware format
func (*DynamicPolicy) GetTopologyHints ¶
func (p *DynamicPolicy) GetTopologyHints(ctx context.Context, req *pluginapi.ResourceRequest, ) (resp *pluginapi.ResourceHintsResponse, err error)
GetTopologyHints returns hints of corresponding resources
func (*DynamicPolicy) Name ¶
func (p *DynamicPolicy) Name() string
func (*DynamicPolicy) PreStartContainer ¶
func (p *DynamicPolicy) 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 (*DynamicPolicy) RemovePod ¶
func (p *DynamicPolicy) RemovePod(ctx context.Context, req *pluginapi.RemovePodRequest, ) (resp *pluginapi.RemovePodResponse, err error)
func (*DynamicPolicy) ResourceName ¶
func (p *DynamicPolicy) ResourceName() string
func (*DynamicPolicy) Start ¶
func (p *DynamicPolicy) Start() (err error)
func (*DynamicPolicy) Stop ¶
func (p *DynamicPolicy) Stop() error