Description of problem: check-epel-repository check of foreman-maintain doesn't work properly if any repo is misconfigured. Version-Release number of selected component (if applicable): - Satellite 6.6.0 - rubygem-foreman_maintain-0.4.9-1.el7sat.noarch How reproducible: - Always Steps to Reproduce: 1. Enable epel repos. 2. Create/have a repo with invalid baseurl. 3. Run "foreman-maintain health check --label check-epel-repository" Actual results: - check-epel-repository check passes. Expected results: - check-epel-repository check should fail. Additional info: # foreman-maintain health check --label check-epel-repository Running ForemanMaintain::Scenario::FilteredScenario ================================================================================ Check if EPEL repository enabled on system: / Checking for presence of EPEL repository One of the configured repositories failed (zoo), and yum doesn't have enough cached data to continue. At this point the only safe thing yum can do is fail. There are a few ways to work "fix" this: 1. Contact the upstream for the repository and get them to fix the problem. 2. Reconfigure the baseurl/etc. for the repository, to point to a working upstream. This is most often useful if you are using a newer distribution release than is supported by the repository (and the packages for the previous distribution release still work). 3. Run the command with the repository temporarily disabled yum --disablerepo=test ... 4. Disable the repository permanently, so yum won't use it by default. Yum will then just ignore the repository until you permanently enable it again or use --enablerepo for temporary usage: yum-config-manager --disable test or subscription-manager repos --disable=test 5. Configure the failing repository to be skipped, if it is unavailable. Note that yum will try to contact the repo. when it runs most commands, so will have to try and fail each time (and thus. yum will be be much slower). If it is a very temporary problem though, this is often a nice compromise: yum-config-manager --save --setopt=test.skip_if_unavailable=true failure: repodata/repomd.xml from test: [Errno 256] No more mirrors to try. https://inecas.fedorapeople.org/fakerepos/zooo/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found [OK] --------------------------------------------------------------------------------
Created attachment 1619400 [details] Steps to reproduce issue.
This also affects check-upstream-repository check.
Created redmine issue https://projects.theforeman.org/issues/29728 from this bug
The feature relies on the data yum reports and if yum is having an issue reporting the data it throws the appropriate error message that a user should take action on.