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 eventsCoprJobGrab
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
After spawning aux processes CoprBackend dynamically spawns and terminates worker processes Worker
.