Documentation
¶
Overview ¶
Package core implements the main AliECS core functionality including the gRPC API server, environment management, and integration with various services.
Index ¶
- Constants
- func NewConfig() (err error)
- func NewServer(state *globalState) *grpc.Server
- func Run() error
- func VarSpecMapToPbVarSpecMap(varSpecMap map[string]repos.VarSpec) map[string]*pb.VarSpecMessage
- type EnvironmentInfos
- type RpcServer
- func (m *RpcServer) AddRepo(cxt context.Context, req *pb.AddRepoRequest) (*pb.AddRepoReply, error)
- func (m *RpcServer) CleanupTasks(cxt context.Context, req *pb.CleanupTasksRequest) (*pb.CleanupTasksReply, error)
- func (m *RpcServer) ControlEnvironment(cxt context.Context, req *pb.ControlEnvironmentRequest) (*pb.ControlEnvironmentReply, error)
- func (m *RpcServer) DestroyEnvironment(cxt context.Context, req *pb.DestroyEnvironmentRequest) (reply *pb.DestroyEnvironmentReply, err error)
- func (m *RpcServer) GetActiveDetectors(_ context.Context, _ *pb.Empty) (*pb.GetActiveDetectorsReply, error)
- func (m *RpcServer) GetAvailableDetectors(_ context.Context, _ *pb.Empty) (*pb.GetAvailableDetectorsReply, error)
- func (m *RpcServer) GetEnvironment(cxt context.Context, req *pb.GetEnvironmentRequest) (reply *pb.GetEnvironmentReply, err error)
- func (m *RpcServer) GetEnvironments(cxt context.Context, request *pb.GetEnvironmentsRequest) (*pb.GetEnvironmentsReply, error)
- func (m *RpcServer) GetFrameworkInfo(context.Context, *pb.GetFrameworkInfoRequest) (*pb.GetFrameworkInfoReply, error)
- func (m *RpcServer) GetIntegratedServices(ctx context.Context, empty *pb.Empty) (*pb.ListIntegratedServicesReply, error)
- func (m *RpcServer) GetRoles(cxt context.Context, req *pb.GetRolesRequest) (*pb.GetRolesReply, error)
- func (m *RpcServer) GetTask(cxt context.Context, req *pb.GetTaskRequest) (*pb.GetTaskReply, error)
- func (m *RpcServer) GetTasks(context.Context, *pb.GetTasksRequest) (*pb.GetTasksReply, error)
- func (m *RpcServer) GetWorkflowTemplates(cxt context.Context, req *pb.GetWorkflowTemplatesRequest) (*pb.GetWorkflowTemplatesReply, error)
- func (m *RpcServer) ListRepos(cxt context.Context, req *pb.ListReposRequest) (*pb.ListReposReply, error)
- func (*RpcServer) ModifyEnvironment(context.Context, *pb.ModifyEnvironmentRequest) (*pb.ModifyEnvironmentReply, error)
- func (m *RpcServer) NewAutoEnvironment(cxt context.Context, request *pb.NewAutoEnvironmentRequest) (*pb.NewAutoEnvironmentReply, error)
- func (m *RpcServer) NewEnvironment(cxt context.Context, request *pb.NewEnvironmentRequest) (reply *pb.NewEnvironmentReply, err error)
- func (m *RpcServer) NewEnvironmentAsync(cxt context.Context, request *pb.NewEnvironmentRequest) (reply *pb.NewEnvironmentReply, err error)
- func (m *RpcServer) RefreshRepos(cxt context.Context, req *pb.RefreshReposRequest) (*pb.Empty, error)
- func (m *RpcServer) RemoveRepo(cxt context.Context, req *pb.RemoveRepoRequest) (*pb.RemoveRepoReply, error)
- func (m *RpcServer) SetDefaultRepo(cxt context.Context, req *pb.SetDefaultRepoRequest) (*pb.Empty, error)
- func (m *RpcServer) SetGlobalDefaultRevision(cxt context.Context, req *pb.SetGlobalDefaultRevisionRequest) (*pb.Empty, error)
- func (m *RpcServer) SetRepoDefaultRevision(cxt context.Context, req *pb.SetRepoDefaultRevisionRequest) (*pb.SetRepoDefaultRevisionReply, error)
- func (m *RpcServer) Subscribe(req *pb.SubscribeRequest, srv pb.Control_SubscribeServer) error
- func (*RpcServer) Teardown(context.Context, *pb.TeardownRequest) (*pb.TeardownReply, error)
- type SafeStreamsMap
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 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
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 (m *RpcServer) ControlEnvironment(cxt context.Context, req *pb.ControlEnvironmentRequest) (*pb.ControlEnvironmentReply, error)
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 (*RpcServer) GetAvailableDetectors ¶ added in v1.4.0
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 (m *RpcServer) GetFrameworkInfo(context.Context, *pb.GetFrameworkInfoRequest) (*pb.GetFrameworkInfoReply, error)
func (*RpcServer) GetIntegratedServices ¶ added in v0.22.80
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 (m *RpcServer) GetTasks(context.Context, *pb.GetTasksRequest) (*pb.GetTasksReply, error)
func (*RpcServer) GetWorkflowTemplates ¶
func (m *RpcServer) GetWorkflowTemplates(cxt context.Context, req *pb.GetWorkflowTemplatesRequest) (*pb.GetWorkflowTemplatesReply, error)
func (*RpcServer) ListRepos ¶ added in v0.10.0
func (m *RpcServer) ListRepos(cxt context.Context, req *pb.ListReposRequest) (*pb.ListReposReply, error)
func (*RpcServer) ModifyEnvironment ¶
func (*RpcServer) ModifyEnvironment(context.Context, *pb.ModifyEnvironmentRequest) (*pb.ModifyEnvironmentReply, 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 (*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 (*RpcServer) SetGlobalDefaultRevision ¶ added in v0.12.90
func (*RpcServer) SetRepoDefaultRevision ¶ added in v0.12.90
func (m *RpcServer) SetRepoDefaultRevision(cxt context.Context, req *pb.SetRepoDefaultRevisionRequest) (*pb.SetRepoDefaultRevisionReply, error)
func (*RpcServer) Subscribe ¶ added in v0.14.4
func (m *RpcServer) Subscribe(req *pb.SubscribeRequest, srv pb.Control_SubscribeServer) error
func (*RpcServer) Teardown ¶
func (*RpcServer) Teardown(context.Context, *pb.TeardownRequest) (*pb.TeardownReply, error)
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)
Source Files
¶
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. |
Click to show internal directories.
Click to hide internal directories.