Control

module
v1.20.0 Latest Latest
Warning

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

Go to latest
Published: Sep 26, 2024 License: GPL-3.0

README

JIRA godoc

AliECS

The ALICE Experiment Control System

Install instructions

What is your use case?

  • I want to run AliECS and other O²/FLP software

    O²/FLP Suite deployment instructions

    These instructions apply to both single-node and multi-node deployments.

    Contact alice-o2-flp-support for assistance with provisioning and deployment.

  • I want to ensure AliECS can run and control my process

    • My software is based on FairMQ and/or O² DPL

      🌴 Nothing to do, AliECS natively supports FairMQ (and DPL) devices.

    • My software does not use FairMQ and/or DPL, but should be controlled through a state machine

      🔭 See the OCC documentation to learn how to integrate the O² Control and Configuration library with your software. Readout is currently the only example of this setup.

    • My software is a command line utility with no state machine

      🌴 Nothing to do, AliECS natively supports generic commands. Make sure the task template for your command sets the control mode to basic (see example).

  • I want to build and run AliECS for development purposes

    🛠 Building instructions

    Running instructions

  • I want to communicate with AliECS via one of the plugins

Using AliECS

There are two ways of interacting with AliECS:

Directories

Path Synopsis
docs
Package docs Code generated by swaggo/swag.
Package docs Code generated by swaggo/swag.
remote
A Processor and ReposItory for COnfiguration Templates
A Processor and ReposItory for COnfiguration Templates
cmd
walnut
Package walnut implements the O² Workflow Administration and Linting Utility.
Package walnut implements the O² Workflow Administration and Linting Utility.
Package coconut implements the O² Control and Configuration Utility.
Package coconut implements the O² Control and Configuration Utility.
app
cmd
Package cmd contains all the entry points for command line subcommands, following library convention.
Package cmd contains all the entry points for command line subcommands, following library convention.
configuration
Package configuration handles the details of interfacing with the O² Configuration store.
Package configuration handles the details of interfacing with the O² Configuration store.
control
Package control handles the details of control calls to the O² Control core.
Package control handles the details of control calls to the O² Control core.
doc
Package common serves as a catch-all package for sharing types between O² Control components.
Package common serves as a catch-all package for sharing types between O² Control components.
controlmode
Package controlmode contains some enums for switching between executor process control modes.
Package controlmode contains some enums for switching between executor process control modes.
gera
Package gera implements a hierarchical key-value store.
Package gera implements a hierarchical key-value store.
logger
Package logger is a convenience wrapper package for using logrus in O² Control.
Package logger is a convenience wrapper package for using logrus in O² Control.
cfgbackend
Package configuration defines the Source interface as the main access point to O² Configuration backends.
Package configuration defines the Source interface as the main access point to O² Configuration backends.
controlcommands
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.
environment
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.
metrics
Deprecated: package metrics is being phased out, don't use it.
Deprecated: package metrics is being phased out, don't use it.
task
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.
task/constraint
Package constraint implements support for predicates on agent attributes.
Package constraint implements support for predicates on agent attributes.
the
workflow
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.
Package executor implements the O² Control executor binary.
Package executor implements the O² Control executor binary.
executorcmd
Package executorcmd contains the gRPC client, as well as facilities for processing and committing incoming transition events.
Package executorcmd contains the gRPC client, as well as facilities for processing and committing incoming transition events.
executorcmd/transitioner
Package transitioner defines the Transitioner interface, as well as its implementations in order to translate between internal O² state machine states and events, and the states and events of some other process state machine (such as the FairMQ Device state machine).
Package transitioner defines the Transitioner interface, as well as its implementations in order to translate between internal O² state machine states and events, and the states and events of some other process state machine (such as the FairMQ Device state machine).
occ
peanut/flatten
Flatten makes flat, one-dimensional maps from arbitrarily nested ones.
Flatten makes flat, one-dimensional maps from arbitrarily nested ones.
app
cmd
doc

Jump to

Keyboard shortcuts

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