Draft: scap installer: split Python requirements into "common" and "deploy"
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