Bug 852643 - yum doesn't follow skip_if_unavailable when downloading filelists
yum doesn't follow skip_if_unavailable when downloading filelists
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: yum (Show other bugs)
Unspecified Unspecified
medium Severity medium
: rc
: ---
Assigned To: James Antill
BaseOS QE Security Team
Depends On:
  Show dependency treegraph
Reported: 2012-08-29 04:13 EDT by Karel Srot
Modified: 2014-01-21 01:25 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2012-08-29 10:15:31 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Karel Srot 2012-08-29 04:13:49 EDT
Description of problem:

# yum install openssl-devel 
Loaded plugins: security
http://XXX.redhat.com/repo/repodata/repomd.xml: [Errno 14] PYCURL ERROR 7 - "couldn't connect to host"
Trying other mirror.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package openssl-devel.x86_64 0:1.0.0-20.el6 will be updated
---> Package openssl-devel.x86_64 0:1.0.0-20.el6_2.5 will be an update
--> Processing Dependency: openssl = 1.0.0-20.el6_2.5 for package: openssl-devel-1.0.0-20.el6_2.5.x86_64
--> Running transaction check
---> Package openssl.x86_64 0:1.0.0-20.el6 will be updated
---> Package openssl.x86_64 0:1.0.0-20.el6_2.5 will be an update
http://XXX.redhat.com/repo/repodata/filelists.xml.gz: [Errno 14] PYCURL ERROR 7 - "couldn't connect to host"
Trying other mirror.
Error: failure: repodata/filelists.xml.gz from qa: [Errno 256] No more mirrors to try.
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

# cat /etc/yum.repos.d/qa.repo 

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. ensure you have updated metadata for a repo (but missing filelists.xml.gz)
2. cut-off the machine serving the repo (or delete the repo)
3. initiate action that requires filelist downloading, e.g. yum install /path/that/does/not/exist
Comment 1 James Antill 2012-08-29 10:15:31 EDT
 You can add filelists to mdpolicy, to work around this. But after the repo. has been accepted we can't easily just remove it again (esp. mid. depsolve).
Comment 2 Karel Srot 2012-08-29 10:52:44 EDT
Would it be at least possible to propose "valid" solution, e.g. clean repo metadata or disable the repo? Proposed --skip-broken is useless.
Comment 3 James Antill 2012-08-29 16:42:59 EDT
 Outputting a better message might be hard, the one given is the generic "something failed in depsolving" message ... we'd have to know that the failure was due to missing filelists, and which repo. (we might have that info. and it might be trivial, haven't looked atm).

 In theory we could also do something like "if we fail a filelists/package request then immediately remove the repodata" at which point the next time you ran yum it'd have to get a new repomd/primary or fail. Not sure that's great default behaviour though, and it'd suck a lot for non skip_if_unavail repos.

Note You need to log in before you can comment on or make changes to this bug.