cobalt

package
v0.0.0-...-06bcc1c Latest Latest
Warning

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

Go to latest
Published: Mar 21, 2024 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

Manager manager plugins

func New

func New(config types.Config) (*Manager, error)

New creates a plugin manager

func (Manager) AddNode

func (m Manager) AddNode(ctx context.Context, nodename string, opts resourcetypes.Resources, nodeInfo *enginetypes.Info) (resourcetypes.Resources, error)

AddNode .

func (*Manager) AddPlugins

func (m *Manager) AddPlugins(plugins ...plugins.Plugin)

AddPlugins adds a plugin (for test and debug)

func (Manager) Alloc

func (m Manager) Alloc(ctx context.Context, nodename string, deployCount int, opts resourcetypes.Resources) ([]resourcetypes.Resources, []resourcetypes.Resources, error)

Alloc alloc resource opts struct

{
	"plugin1":{
		"cpu-request": 1.2,
		"cpu-limit": 2.0,
	},
	"plugin2":{
	},
}

func (Manager) GetMetricsDescription

func (m Manager) GetMetricsDescription(ctx context.Context) ([]*plugintypes.MetricsDescription, error)

GetMetricsDescription .

func (Manager) GetMostIdleNode

func (m Manager) GetMostIdleNode(ctx context.Context, nodenames []string) (string, error)

GetMostIdleNode .

func (Manager) GetNodeMetrics

func (m Manager) GetNodeMetrics(ctx context.Context, node *types.Node) ([]*plugintypes.Metrics, error)

GetNodeMetrics .

func (Manager) GetNodeResourceInfo

func (m Manager) GetNodeResourceInfo(ctx context.Context, nodename string, workloads []*types.Workload, fix bool) (resourcetypes.Resources, resourcetypes.Resources, []string, error)

GetNodeResourceInfo .

func (Manager) GetNodesDeployCapacity

func (m Manager) GetNodesDeployCapacity(ctx context.Context, nodenames []string, opts resourcetypes.Resources) (map[string]*plugintypes.NodeDeployCapacity, int, error)

GetNodesDeployCapacity returns available nodes which meet all the requirements the caller should require locks pure calculation

func (Manager) GetPlugins

func (m Manager) GetPlugins() []plugins.Plugin

GetPlugins is used for mock

func (*Manager) LoadPlugins

func (m *Manager) LoadPlugins(ctx context.Context, t *testing.T) error

LoadPlugins .

func (Manager) Remap

func (m Manager) Remap(ctx context.Context, nodename string, workloads []*types.Workload) (map[string]resourcetypes.Resources, error)

Remap remaps resource and returns engine args for workloads. format: {"workload-1": {"cpus": ["1-3"]}} remap doesn't change resource args

func (Manager) RemoveNode

func (m Manager) RemoveNode(ctx context.Context, nodename string) error

RemoveNode .

func (Manager) RollbackAlloc

func (m Manager) RollbackAlloc(ctx context.Context, nodename string, workloadsParams []resourcetypes.Resources) error

RollbackAlloc rollbacks the allocated resource

func (Manager) RollbackRealloc

func (m Manager) RollbackRealloc(ctx context.Context, nodename string, workloadParams resourcetypes.Resources) error

RollbackRealloc .

func (Manager) SetNodeResourceCapacity

func (m Manager) SetNodeResourceCapacity(ctx context.Context, nodename string, nodeResource resourcetypes.Resources, nodeResourceRequest resourcetypes.Resources, delta bool, incr bool) (resourcetypes.Resources, resourcetypes.Resources, error)

SetNodeResourceCapacity updates node resource capacity receives resource options instead of resource args

func (Manager) SetNodeResourceUsage

func (m Manager) SetNodeResourceUsage(ctx context.Context, nodename string, nodeResource resourcetypes.Resources, nodeResourceRequest resourcetypes.Resources, workloadsResource []resourcetypes.Resources, delta bool, incr bool) (resourcetypes.Resources, resourcetypes.Resources, error)

SetNodeResourceUsage .

Jump to

Keyboard shortcuts

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