[Pulp-dev] Run pulpcore-manager check --deploy

Ewoud Kohl van Wijngaarden ewoud+pulp at kohlvanwijngaarden.nl
Thu Mar 11 15:11:16 UTC 2021

Hello everyone,

Django has a checks framework[1] which is exposed via django-admin check 
and this means there's also pulpcore-manager check.

When I introduced the new default deployment layout[2], I implemented a 
check for storage paths[3] to verify settings.MEDIA_ROOT and 
settings.FILE_UPLOAD_TEMP_DIR are on the same filesystem, following the 
general recommendation to make moves super cheap. This is an example of 
a deploy only check since it only makes sense on the actual system. 
Those are only run when --deploy is passed to pulpcore-manager check.

Checks are great, but if nobody runs them they're useless. That means we 
should run them. To do so, I opened a PR to our puppet-pulpcore module 
to run it as part of the acceptance tests. This generates a list of 
errors/warnings[4] that I think are invalid. Checks can be silenced via 
a setting[5].

When there is a built in check mechanism that is also extendable in 
plugins, it makes it easier to verify an installation works. This can be 
integrated into debug procedures and tools like sosreport.

IMHO the default SILENCED_SYSTEM_CHECKS should live in pulpcore.git 
because it's the application itself that determines what's relevant. An 
installer (pulp_installer and foreman-installer) can then rely on this 
without having to duplicate it. Ideally Pulp's CI is also modified to 
run pulpcore-manager check. Depending on how it's tested either with or 
without --deploy.

The concrete question now is, do people agree this is a sensible path? 
If so, can we ship a clean config with SILENCED_SYSTEM_CHECKS configured 
so that out of the box it's clean and CI to keep it clean?

Ewoud Kohl van Wijngaarden

[1] https://docs.djangoproject.com/en/2.2/topics/checks/
[2] https://github.com/pulp/pulpcore/commit/f8a8c64bb28cbe3908720ea56f417312a4389862
[3] https://github.com/pulp/pulpcore/blob/master/pulpcore/app/checks.py
[4] https://github.com/theforeman/puppet-pulpcore/pull/155#issuecomment-741083088
[5] https://docs.djangoproject.com/en/2.2/ref/settings/#std:setting-SILENCED_SYSTEM_CHECKS

More information about the Pulp-dev mailing list