core

package
v1.42.0 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2025 License: GPL-3.0 Imports: 58 Imported by: 0

Documentation

Overview

Package core implements the main AliECS core functionality including the gRPC API server, environment management, and integration with various services.

Index

Constants

View Source
const MAX_ERROR_LENGTH = 6000 // gRPC seems to impose this limit on the status message
View Source
const MESOS_AGENT_PORT = 5051

Variables

This section is empty.

Functions

func NewConfig

func NewConfig() (err error)

NewConfig is the constructor for a new config.

func NewServer

func NewServer(state *globalState) *grpc.Server

func Run

func Run() error

Run is the entry point for this scheduler. TODO: refactor Config to reflect our specific requirements

func VarSpecMapToPbVarSpecMap added in v0.22.80

func VarSpecMapToPbVarSpecMap(varSpecMap map[string]repos.VarSpec) map[string]*pb.VarSpecMessage

Types

type EnvironmentInfos

type EnvironmentInfos []*pb.EnvironmentInfo

func (EnvironmentInfos) Len

func (infos EnvironmentInfos) Len() int

func (EnvironmentInfos) Less

func (infos EnvironmentInfos) Less(i, j int) bool

func (EnvironmentInfos) Swap

func (infos EnvironmentInfos) Swap(i, j int)

type RpcServer

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

Implements interface pb.ControlServer

func (*RpcServer) AddRepo added in v0.10.0

func (m *RpcServer) AddRepo(cxt context.Context, req *pb.AddRepoRequest) (*pb.AddRepoReply, error)

func (*RpcServer) CleanupTasks

func (m *RpcServer) CleanupTasks(cxt context.Context, req *pb.CleanupTasksRequest) (*pb.CleanupTasksReply, error)

func (*RpcServer) ControlEnvironment

func (*RpcServer) DestroyEnvironment

func (m *RpcServer) DestroyEnvironment(cxt context.Context, req *pb.DestroyEnvironmentRequest) (reply *pb.DestroyEnvironmentReply, err error)

func (*RpcServer) GetActiveDetectors added in v0.26.3

func (m *RpcServer) GetActiveDetectors(_ context.Context, _ *pb.Empty) (*pb.GetActiveDetectorsReply, error)

func (*RpcServer) GetAvailableDetectors added in v1.4.0

func (m *RpcServer) GetAvailableDetectors(_ context.Context, _ *pb.Empty) (*pb.GetAvailableDetectorsReply, error)

func (*RpcServer) GetEnvironment

func (m *RpcServer) GetEnvironment(cxt context.Context, req *pb.GetEnvironmentRequest) (reply *pb.GetEnvironmentReply, err error)

func (*RpcServer) GetEnvironments

func (m *RpcServer) GetEnvironments(cxt context.Context, request *pb.GetEnvironmentsRequest) (*pb.GetEnvironmentsReply, error)

func (*RpcServer) GetFrameworkInfo

func (*RpcServer) GetIntegratedServices added in v0.22.80

func (m *RpcServer) GetIntegratedServices(ctx context.Context, empty *pb.Empty) (*pb.ListIntegratedServicesReply, error)

func (*RpcServer) GetRoles

func (m *RpcServer) GetRoles(cxt context.Context, req *pb.GetRolesRequest) (*pb.GetRolesReply, error)

func (*RpcServer) GetTask

func (m *RpcServer) GetTask(cxt context.Context, req *pb.GetTaskRequest) (*pb.GetTaskReply, error)

func (*RpcServer) GetTasks

func (*RpcServer) GetWorkflowTemplates

func (*RpcServer) ListRepos added in v0.10.0

func (m *RpcServer) ListRepos(cxt context.Context, req *pb.ListReposRequest) (*pb.ListReposReply, error)

func (*RpcServer) NewAutoEnvironment added in v0.19.80

func (m *RpcServer) NewAutoEnvironment(cxt context.Context, request *pb.NewAutoEnvironmentRequest) (*pb.NewAutoEnvironmentReply, error)

func (*RpcServer) NewEnvironment

func (m *RpcServer) NewEnvironment(cxt context.Context, request *pb.NewEnvironmentRequest) (reply *pb.NewEnvironmentReply, err error)

func (*RpcServer) NewEnvironmentAsync added in v1.7.0

func (m *RpcServer) NewEnvironmentAsync(cxt context.Context, request *pb.NewEnvironmentRequest) (reply *pb.NewEnvironmentReply, err error)

func (*RpcServer) RefreshRepos added in v0.10.0

func (m *RpcServer) RefreshRepos(cxt context.Context, req *pb.RefreshReposRequest) (*pb.Empty, error)

func (*RpcServer) RemoveRepo added in v0.10.0

func (m *RpcServer) RemoveRepo(cxt context.Context, req *pb.RemoveRepoRequest) (*pb.RemoveRepoReply, error)

func (*RpcServer) SetDefaultRepo added in v0.10.0

func (m *RpcServer) SetDefaultRepo(cxt context.Context, req *pb.SetDefaultRepoRequest) (*pb.Empty, error)

func (*RpcServer) SetGlobalDefaultRevision added in v0.12.90

func (m *RpcServer) SetGlobalDefaultRevision(cxt context.Context, req *pb.SetGlobalDefaultRevisionRequest) (*pb.Empty, error)

func (*RpcServer) SetRepoDefaultRevision added in v0.12.90

func (*RpcServer) Subscribe added in v0.14.4

func (m *RpcServer) Subscribe(req *pb.SubscribeRequest, srv pb.Control_SubscribeServer) error

func (*RpcServer) Teardown

type SafeStreamsMap added in v0.19.80

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

SafeStreamsMap is a safe map where the key is usually a subscriptionID received from the grpc call and as a value a channel where get events from the environment and we stream them to the grpc client.

func (*SafeStreamsMap) GetChannel added in v0.19.80

func (s *SafeStreamsMap) GetChannel(id string) (ch chan *pb.Event, ok bool)

Directories

Path Synopsis
Package controlcommands defines the Command interface, plus several types including MesosCommand, MesosCommandResponse and related.
Package controlcommands defines the Command interface, plus several types including MesosCommand, MesosCommandResponse and related.
Package environment defines Environment, environment.Manager and other types and methods related to handling O² environments.
Package environment defines Environment, environment.Manager and other types and methods related to handling O² environments.
Package integration provides the plugin system for integrating O² Control with external services like DCS, Bookkeeping, ODC, and other ALICE systems.
Package integration provides the plugin system for integrating O² Control with external services like DCS, Bookkeeping, ODC, and other ALICE systems.
bookkeeping
Package bookkeeping provides integration with the ALICE Bookkeeping system for tracking runs and retrieving LHC fill information.
Package bookkeeping provides integration with the ALICE Bookkeeping system for tracking runs and retrieving LHC fill information.
ccdb
Package ccdb provides integration with the Condition and Calibration Database (CCDB) for creating and managing General Run Parameters (GRP) objects.
Package ccdb provides integration with the Condition and Calibration Database (CCDB) for creating and managing General Run Parameters (GRP) objects.
dcs
Package dcs provides integration with the ALICE Detector Control System (DCS) for managing detector operations and state compatibility checks.
Package dcs provides integration with the ALICE Detector Control System (DCS) for managing detector operations and state compatibility checks.
ddsched
Package ddsched provides integration with the Data Distribution (DD) scheduler for managing the pool of FLPs participating in data taking operations.
Package ddsched provides integration with the Data Distribution (DD) scheduler for managing the pool of FLPs participating in data taking operations.
odc
Package odc provides integration with the Online Device Control (ODC) system for managing the ALICE event processing farm during data taking and offline processing.
Package odc provides integration with the Online Device Control (ODC) system for managing the ALICE event processing farm during data taking and offline processing.
testplugin
Package testplugin provides a test integration plugin that serves as an example and is used for testing the plugin system functionality.
Package testplugin provides a test integration plugin that serves as an example and is used for testing the plugin system functionality.
trg
Package trg provides integration with the ALICE trigger system.
Package trg provides integration with the ALICE trigger system.
Deprecated: package metrics is being phased out, don't use it.
Deprecated: package metrics is being phased out, don't use it.
Package repos provides repository management functionality for accessing and synchronizing Git repositories containing workflow templates and configurations.
Package repos provides repository management functionality for accessing and synchronizing Git repositories containing workflow templates and configurations.
varsource
Package varsource provides variable source management functionality for tracking the origin and precedence of configuration variables in workflows.
Package varsource provides variable source management functionality for tracking the origin and precedence of configuration variables in workflows.
Package task defines the Task type and its Manager, with the purpose of handling the lifetime of O² Task objects.
Package task defines the Task type and its Manager, with the purpose of handling the lifetime of O² Task objects.
channel
Package channel provides functionality for managing task communication channels, including inbound and outbound channel configuration and message routing.
Package channel provides functionality for managing task communication channels, including inbound and outbound channel configuration and message routing.
constraint
Package constraint implements support for predicates on agent attributes.
Package constraint implements support for predicates on agent attributes.
schedutil
Package schedutil provides scheduler utility functions for Apache Mesos integration, including resource management and task scheduling helpers.
Package schedutil provides scheduler utility functions for Apache Mesos integration, including resource management and task scheduling helpers.
sm
Package sm provides state machine functionality for task lifecycle management, including state transitions and event handling.
Package sm provides state machine functionality for task lifecycle management, including state transitions and event handling.
taskclass
Package taskclass provides task class definitions and resource management for different types of tasks.
Package taskclass provides task class definitions and resource management for different types of tasks.
taskclass/port
Package port provides port range management functionality for task communication, including port range parsing and validation.
Package port provides port range management functionality for task communication, including port range parsing and validation.
taskop
Package taskop provides task operation types and message handling functionality for controlling task lifecycle and communication.
Package taskop provides task operation types and message handling functionality for controlling task lifecycle and communication.
Package the provides global event handling and state management for the core system, including event writers and system-wide notifications.
Package the provides global event handling and state management for the core system, including event writers and system-wide notifications.
Package workflow defines the Role interface, along with tooling to build the control tree.
Package workflow defines the Role interface, along with tooling to build the control tree.
callable
Package callable provides utility functions for workflow callable operations, including timeout handling and trigger expression parsing.
Package callable provides utility functions for workflow callable operations, including timeout handling and trigger expression parsing.

Jump to

Keyboard shortcuts

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