Skip to content

Draft: scap installer: split Python requirements into "common" and "deploy"

Jaime Nuche requested to merge T374983 into master

The requirements in the new requirements-common.txt file will be installed on all Scap hosts, whereas the ones in requirements-deploy.txt will be installed only on deployment servers.

The change was motivated by a recent increase in Scap installation times. This was due to the addition of relatively big dependencies (e.g. SQLAlchemy) to requirements.txt. Preventing these deps from being put on the wire should restore the Scap installer to its original speed.

Note the split is not comprehensive. Some of the deps in requirements-common.txt (e.g. prettytable) are necessary only on deployment servers, but they are still loaded indirectly via scap/__init.py__ and thus Scap fails on target hosts if the dep is missing. This could be fixed by messing with Scap's code to avoid the unnecessary initializations, but for small deps it wasn't worth it

Bug: T374983

Edited by Jaime Nuche

Merge request reports