Bug 1516432

Summary: yum-config-manager --add should not create empty repo file and exit with 0 in case of failure
Product: Red Hat Enterprise Linux 7 Reporter: Daniel Horák <dahorak>
Component: yum-utilsAssignee: Valentina Mukhamedzhanova <vmukhame>
Status: CLOSED DUPLICATE QA Contact: BaseOS QE Security Team <qe-baseos-security>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.4CC: packaging-team-maint
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-03-01 11:30: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:

Description Daniel Horák 2017-11-22 15:42:29 UTC
Description of problem:
  When adding new repo via `yum-config-manager --add URL`, the repo file should not be created and the command should return non zero return code.

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

How reproducible:
  100%

Steps to Reproduce:
1. Try to add repo from non-existing URL:
  # yum-config-manager --add http://example.com/test.repo
2. Check the return code:
  # echo $?
3. Check /etc/yum.repos.d/ directory:
  # ll /etc/yum.repos.d/test.repo
4. Check the content of test.repo file:
  # cat /etc/yum.repos.d/test.repo 

Actual results:
# yum-config-manager --add http://example.com/test.repo
adding repo from: http://example.com/test.repo
grabbing file http://example.com/test.repo to /etc/yum.repos.d/test.repo
Could not fetch/save url http://example.com/test.repo to file /etc/yum.repos.d/test.repo: [Errno 14] HTTP Error 404 - Not Found

# echo $?
0

# ll /etc/yum.repos.d/test.repo 
-rw-r--r--. 1 root root 0 Nov 22 10:39 /etc/yum.repos.d/test.repo

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

(the file is empty)

Expected results:
  When the remote repo file is not available, no local (empty) repo file should be created and the return code should not be zero.

Additional info:

Comment 2 Valentina Mukhamedzhanova 2018-03-01 11:30:29 UTC

*** This bug has been marked as a duplicate of bug 1493489 ***