Bug 1377328

Summary: rhevm engine setup is broken due to change in API
Product: Red Hat Enterprise Linux 7 Reporter: Nelly Credi <ncredi>
Component: yumAssignee: Valentina Mukhamedzhanova <vmukhame>
Status: CLOSED ERRATA QA Contact: Eva Mrakova <emrakova>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 7.3CC: didi, emrakova, gklein, james.antill, jneedle, ksrot, lmiksik, ncredi
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: yum-3.4.3-150.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-04 05:32:39 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:
Bug Depends On:    
Bug Blocks: 1375561    

Description Nelly Credi 2016-09-19 12:55:51 UTC
Description of problem:
There is a new attribute which is causing an error when running rhevm engine-setup 

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


How reproducible:


Steps to Reproduce:
1. install el7.3 
2. put rhevm repos & yum install ovirt-engine-setup
3. run engine-setup

Actual results:
failing on:
[ INFO  ] Stage: Initializing
[ INFO  ] Stage: Environment setup
          Configuration files: ['/etc/ovirt-engine-setup.conf.d/10-packaging-wsp.conf', '/etc/ovirt-engine-setup.conf.d/10-packaging.conf']
          Log file: /var/log/ovirt-engine/setup/ovirt-engine-setup-20160919132620-3l1xn1.log
          Version: otopi-1.5.2 (otopi-1.5.2-1.el7ev)
[ INFO  ] Stage: Environment packages setup
[ ERROR ] Yum Cannot queue package iproute: 'YumRepository' object has no attribute '_metadata_cache_req'
[ ERROR ] Failed to execute stage 'Environment packages setup': 'YumRepository' object has no attribute '_metadata_cache_req'

Expected results:
should work

Additional info:
according to valentina, its a bug in yum, but maybe we can fix it in rhevm

Comment 1 Yedidyah Bar David 2016-09-19 14:39:38 UTC
Now verified that the following patch fixes current bug:

diff --git a/yum/yumRepo.py b/yum/yumRepo.py
index 2db8faf..8bbe1ce 100644
--- a/yum/yumRepo.py
+++ b/yum/yumRepo.py
@@ -1473,7 +1473,7 @@ Insufficient space in download directory %s
             else:
                 result = self._getFileRepoXML(local, text)
                 if result is None:
-                    if self.skip_if_unavailable and self._metadata_cache_req in ('write', 'read-only:future'):
+                    if self.skip_if_unavailable and hasattr(self, '_metadata_cache_req') and self._metadata_cache_req in ('write', 'read-only:future'):
                         # Since skip_if_unavailable=True, we can just disable this repo
                         raise Errors.RepoError, "Can't download repomd.xml for %s" % self.ui_id

Reproduction/Verification steps:
1. Install yum-3.4.3-149.el7.noarch and recent otopi
2. Configure a repo with skip_if_unavailable=1 and with an inaccessible baseurl
3. Run 'otopi'

Comment 2 Yedidyah Bar David 2016-09-19 14:41:05 UTC
Also looked and can't see how it can be fixed on otopi side, so this bug is quite urgent for RHV.

Comment 12 errata-xmlrpc 2016-11-04 05:32:39 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-2016-2397.html