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.

After spawning aux processes CoprBackend dynamically spawns and terminates worker processes Worker.

Communication with frontend

Action processing

Build lifecycle

Table Of Contents

Previous topic

INSTALL

Next topic

Vm Management

This Page