[Meta Ticket][cta-taped] Refactor Tape Daemon
WIP
The purpose of this ticket is to have a central place to keep track of all individual tasks that will be done to refactor the daemon according to the changed proposed in 2024-07-25's dev meeting ; Presentation
Main tasks
-
Review ERROR/CRITICAL conditions for Drive and Maintenance Processes. This should be added to the developer documentation.
-
Refactor exit logic of Drive and Maintenance processes.
- Ideally the daemon should only exit if it fails during initialization or requires manual intervention.
- Study restart mechanisms, i.e, change of DB endpoint. Rundeck job to trigger the restart of stopped services.
- Add new monitoring/reporting to account for these changes.
-
Split the daemon process hierarchy into different daemons.
- Key aspect is to remove unnecessary inter process communication.
- Solves problems like: https://gitlab.cern.ch/cta/operations/-/issues/1390; and eases the implementation of the log rotation #570
Possible Extras
List of extras that could be added as part of this refactoring (or next steps):
-
Error code implementation -> It simplifies implementation of TAS like systems. -
Integrate mode pages into daemon - https://gitlab.cern.ch/cta/operations/-/issues/1411 - [ ]
Edited by Pablo Oliver Cortes