Backend design¶
Backend consists of the multiple process and a few utility scripts.
The main process CoprBackend
is started by /usr/bin/copr_be.py
script.
Default backend configuration is stored in /etc/copr/copr-be.conf
. Running redis server are required.
- CoprBackend process starts the following components at the init:
- Centralised logging:
RedisLogHandler
listens for the redis pubsub for log events CoprJobGrab
polling pending builds and actions from the copr frontend.- Builds are routed to the appropriate task queue and action are executed by CoprJobGrab itself.
- VM management is controlled by
VmMaster
. - See :ref:VmManagement: for details about Vm handling.
- VM management is controlled by
- Centralised logging:
After spawning aux processes CoprBackend dynamically spawns and terminates worker processes Worker
.