Bug 1133125

Summary: reposync -u stops after first repo
Product: Red Hat Enterprise Linux 7 Reporter: Jaroslav Kortus <jkortus>
Component: yum-utilsAssignee: James Antill <james.antill>
Status: CLOSED ERRATA QA Contact: Karel Srot <ksrot>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.1CC: vmukhame
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: yum-utils-1.1.31-26.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-05 09:03:29 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
patch for misbehaving -u option none

Description Jaroslav Kortus 2014-08-22 19:50:36 UTC
Created attachment 929783 [details]
patch for misbehaving -u option

Description of problem:
reposync -u stops after first repo instead of processing all enabled as advertised in help / man pages.

While the actual download runs, all urls are processed. This means that the "dry" run does not show complete info.


Version-Release number of selected component (if applicable):
yum-utils-1.1.31-24.el7.noarch

How reproducible:
always

Steps to Reproduce:
1. reposync -u while more repos are defined
2.
3.

Actual results:
urls for first repo only are shown

Expected results:
All urls that are going to be downloaded should be printed.

Additional info:
proposed patch attached

Comment 2 Valentina Mukhamedzhanova 2014-08-28 08:16:05 UTC
Thanks for the patch!

Comment 5 Karel Srot 2014-10-23 06:07:00 UTC
Hello,
I am a bit confused since according to the man page the -u option should not download anything. But in my case all rpms are downloaded (even src.rpms), both on RHEL-6 and RHEL-7. Could you please confirm that this is a bug?

       -u, --urls
              Just list urls of what would be downloaded, don't download.

# reposync --urls
127.0.0.1 - - [23/Oct/2014 07:04:11] "GET /repoA/repodata/repomd.xml HTTP/1.1" 200 -
Initiating transfer of repoA/repodata/repomd.xml with bandwidth=0 blocksize=1024 sentmax=2963
bz1133125repoA                                                                         | 2.9 kB  00:00:00     
127.0.0.1 - - [23/Oct/2014 07:04:11] "GET /repoB/repodata/repomd.xml HTTP/1.1" 200 -
Initiating transfer of repoB/repodata/repomd.xml with bandwidth=0 blocksize=1024 sentmax=2963
bz1133125repoB                                                                         | 2.9 kB  00:00:00     
127.0.0.1 - - [23/Oct/2014 07:04:11] "GET /repoA/repodata/f1c09f81df2551d256a9671cc8d4917dc742d8a57f615c6dafdf102cf7423382-primary.sqlite.bz2 HTTP/1.1" 200 -
Initiating transfer of repoA/repodata/f1c09f81df2551d256a9671cc8d4917dc742d8a57f615c6dafdf102cf7423382-primary.sqlite.bz2 with bandwidth=0 blocksize=1024 sentmax=1649
(1/2): bz1133125repoA/primary_db                                                       | 1.6 kB  00:00:00     
127.0.0.1 - - [23/Oct/2014 07:04:11] "GET /repoB/repodata/146a6a3227583607bd7eeaaab9041edcee7ce0f22490ddc29ec23475f5902dd3-primary.sqlite.bz2 HTTP/1.1" 200 -
Initiating transfer of repoB/repodata/146a6a3227583607bd7eeaaab9041edcee7ce0f22490ddc29ec23475f5902dd3-primary.sqlite.bz2 with bandwidth=0 blocksize=1024 sentmax=1655
(2/2): bz1133125repoB/primary_db                                                       | 1.6 kB  00:00:00     
http://localhost:8000/repoA/pkgA-1.0-1.noarch.rpm
http://localhost:8000/repoB/pkgB-1.0-1.noarch.rpm

# find . -name '*.rpm'
./repoA/pkgA-1.0-1.noarch.rpm
./repoA/pkgA-1.0-1.src.rpm
./repoB/pkgB-1.0-1.noarch.rpm
./repoB/pkgB-1.0-1.src.rpm
# rpm -q yum yum-utils
yum-3.4.3-122.el7.noarch
yum-utils-1.1.31-28.el7.noarch

Comment 6 Karel Srot 2014-10-23 08:03:39 UTC
Please ignore #c5, of course I was checking incorrect directory. :-(

Comment 7 Karel Srot 2014-10-31 09:51:59 UTC
VERIFIED
tested with /CoreOS/yum-utils/Sanity/bz1133125-reposync-u-stops-after-first-repo

yum-utils-1.1.31-28.el7.noarch:

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: [   LOG    ] :: reposync -u on new repos (BZ#1133125)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:: [   PASS   ] :: Command 'reposync --urls --source -p local --repoid=bz1133125repoA --repoid=bz1133125repoB &> log' (Expected 0, got 0)
:: [   PASS   ] :: File 'log' should contain 'http://localhost:8000/repoA/pkgA-1.0-1.noarch.rpm' 
:: [   PASS   ] :: File local/bz1133125repoA/pkgA-1.0-1.noarch.rpm should not exist 
:: [   PASS   ] :: File 'log' should contain 'http://localhost:8000/repoA/pkgA-1.0-1.src.rpm' 
:: [   PASS   ] :: File local/bz1133125repoA/pkgA-1.0-1.src.rpm should not exist 
:: [   PASS   ] :: File 'log' should contain 'http://localhost:8000/repoB/pkgB-1.0-1.noarch.rpm' 
:: [   PASS   ] :: File local/bz1133125repoB/pkgB-1.0-1.noarch.rpm should not exist 
:: [   PASS   ] :: File 'log' should contain 'http://localhost:8000/repoB/pkgB-1.0-1.src.rpm' 
:: [   PASS   ] :: File local/bz1133125repoB/pkgB-1.0-1.src.rpm should not exist 
:: [   LOG    ] :: Duration: 2s
:: [   LOG    ] :: Assertions: 9 good, 0 bad
:: [   PASS   ] :: RESULT: reposync -u on new repos (BZ#1133125)

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: [   LOG    ] :: reposync -u on updated repos (BZ#1140864)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:: [   PASS   ] :: Command 'reposync --source -p local --repoid=bz1133125repoA --repoid=bz1133125repoB' (Expected 0, got 0)
:: [   PASS   ] :: Command '/mnt/tests/CoreOS/yum-utils/Sanity/bz1133125-reposync-u-stops-after-first-repo/make_dummy_package.sh pkgC && mv pkgC*rpm repoA' (Expected 0, got 0)
:: [   PASS   ] :: Command '/mnt/tests/CoreOS/yum-utils/Sanity/bz1133125-reposync-u-stops-after-first-repo/make_dummy_package.sh pkgD && mv pkgD*rpm repoB' (Expected 0, got 0)
:: [   PASS   ] :: Command 'createrepo --update repoA && createrepo --update repoB' (Expected 0, got 0)
:: [   PASS   ] :: Command 'yum --disablerepo=* --enablerepo=bz1133125repoA --enablerepo=bz1133125repoB clean all' (Expected 0, got 0)
:: [   PASS   ] :: Command 'reposync --urls --source -p local --repoid=bz1133125repoA --repoid=bz1133125repoB &> log2' (Expected 0, got 0)
:: [   PASS   ] :: File 'log2' should contain 'http://localhost:8000/repoA/pkgC-1.0-1.noarch.rpm' 
:: [   PASS   ] :: File local/bz1133125repoA/pkgC-1.0-1.noarch.rpm should not exist 
:: [   PASS   ] :: File 'log2' should contain 'http://localhost:8000/repoA/pkgC-1.0-1.src.rpm' 
:: [   PASS   ] :: File local/bz1133125repoA/pkgC-1.0-1.src.rpm should not exist 
:: [   PASS   ] :: File 'log2' should contain 'http://localhost:8000/repoB/pkgD-1.0-1.noarch.rpm' 
:: [   PASS   ] :: File local/bz1133125repoB/pkgD-1.0-1.noarch.rpm should not exist 
:: [   PASS   ] :: File 'log2' should contain 'http://localhost:8000/repoB/pkgD-1.0-1.src.rpm' 
:: [   PASS   ] :: File local/bz1133125repoB/pkgD-1.0-1.src.rpm should not exist 
:: [   PASS   ] :: File 'log2' should not contain 'http://localhost:8000/repoA/pkgA-1.0-1.noarch.rpm' 
:: [   PASS   ] :: File 'log2' should not contain 'http://localhost:8000/repoB/pkgB-1.0-1.noarch.rpm' 
:: [   LOG    ] :: Duration: 7s
:: [   LOG    ] :: Assertions: 16 good, 0 bad
:: [   PASS   ] :: RESULT: reposync -u on updated repos (BZ#1140864)


yum-utils-1.1.31-25.el7_0.noarch:

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: [   LOG    ] :: reposync -u on new repos (BZ#1133125)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:: [   PASS   ] :: Command 'reposync --urls --source -p local --repoid=bz1133125repoA --repoid=bz1133125repoB &> log' (Expected 0, got 0)
:: [   PASS   ] :: File 'log' should contain 'http://localhost:8000/repoA/pkgA-1.0-1.noarch.rpm' 
:: [   PASS   ] :: File local/bz1133125repoA/pkgA-1.0-1.noarch.rpm should not exist 
:: [   PASS   ] :: File 'log' should contain 'http://localhost:8000/repoA/pkgA-1.0-1.src.rpm' 
:: [   PASS   ] :: File local/bz1133125repoA/pkgA-1.0-1.src.rpm should not exist 
:: [   FAIL   ] :: File 'log' should contain 'http://localhost:8000/repoB/pkgB-1.0-1.noarch.rpm' 
:: [   PASS   ] :: File local/bz1133125repoB/pkgB-1.0-1.noarch.rpm should not exist 
:: [   FAIL   ] :: File 'log' should contain 'http://localhost:8000/repoB/pkgB-1.0-1.src.rpm' 
:: [   PASS   ] :: File local/bz1133125repoB/pkgB-1.0-1.src.rpm should not exist 
:: [   LOG    ] :: Duration: 1s
:: [   LOG    ] :: Assertions: 7 good, 2 bad
:: [   FAIL   ] :: RESULT: reposync -u on new repos (BZ#1133125)

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: [   LOG    ] :: reposync -u on updated repos (BZ#1140864)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:: [   PASS   ] :: Command 'reposync --source -p local --repoid=bz1133125repoA --repoid=bz1133125repoB' (Expected 0, got 0)
:: [   PASS   ] :: Command '/mnt/tests/CoreOS/yum-utils/Sanity/bz1133125-reposync-u-stops-after-first-repo/make_dummy_package.sh pkgC && mv pkgC*rpm repoA' (Expected 0, got 0)
:: [   PASS   ] :: Command '/mnt/tests/CoreOS/yum-utils/Sanity/bz1133125-reposync-u-stops-after-first-repo/make_dummy_package.sh pkgD && mv pkgD*rpm repoB' (Expected 0, got 0)
:: [   PASS   ] :: Command 'createrepo --update repoA && createrepo --update repoB' (Expected 0, got 0)
:: [   PASS   ] :: Command 'yum --disablerepo=* --enablerepo=bz1133125repoA --enablerepo=bz1133125repoB clean all' (Expected 0, got 0)
:: [   PASS   ] :: Command 'reposync --urls --source -p local --repoid=bz1133125repoA --repoid=bz1133125repoB &> log2' (Expected 0, got 0)
:: [   PASS   ] :: File 'log2' should contain 'http://localhost:8000/repoA/pkgC-1.0-1.noarch.rpm' 
:: [   PASS   ] :: File local/bz1133125repoA/pkgC-1.0-1.noarch.rpm should not exist 
:: [   PASS   ] :: File 'log2' should contain 'http://localhost:8000/repoA/pkgC-1.0-1.src.rpm' 
:: [   PASS   ] :: File local/bz1133125repoA/pkgC-1.0-1.src.rpm should not exist 
:: [   FAIL   ] :: File 'log2' should contain 'http://localhost:8000/repoB/pkgD-1.0-1.noarch.rpm' 
:: [   PASS   ] :: File local/bz1133125repoB/pkgD-1.0-1.noarch.rpm should not exist 
:: [   FAIL   ] :: File 'log2' should contain 'http://localhost:8000/repoB/pkgD-1.0-1.src.rpm' 
:: [   PASS   ] :: File local/bz1133125repoB/pkgD-1.0-1.src.rpm should not exist 
:: [   FAIL   ] :: File 'log2' should not contain 'http://localhost:8000/repoA/pkgA-1.0-1.noarch.rpm' 
:: [   PASS   ] :: File 'log2' should not contain 'http://localhost:8000/repoB/pkgB-1.0-1.noarch.rpm' 
:: [   LOG    ] :: Duration: 7s
:: [   LOG    ] :: Assertions: 13 good, 3 bad
:: [   FAIL   ] :: RESULT: reposync -u on updated repos (BZ#1140864)

Comment 9 errata-xmlrpc 2015-03-05 09:03:29 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-0401.html