Bug 549368

Summary: f12 yum-rhn-plugin doesn't work with spacewalk
Product: [Fedora] Fedora Reporter: Tomas Lestach <tlestach>
Component: yum-rhn-pluginAssignee: Miroslav Suchý <msuchy>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: high    
Version: 12CC: jhutar, mmraka, msuchy, tscherf
Target Milestone: ---Keywords: Regression
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-04-12 15:01:29 UTC Type: ---
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: 529971, 543511    

Description Tomas Lestach 2009-12-21 13:47:46 UTC
Description of problem:
f12 yum-rhnplugin doesn't work with spacewalk

Version-Release number of selected component (if applicable):
yum-rhn-plugin-0.7.6-1.fc12.noarch

How reproducible:
always

Steps to Reproduce:
1. register a f12 client to the spacewalk server
2. run yum repolist or yum update

Actual results:
# yum repolist
Failed to set locale, defaulting to C
Loaded plugins: rhnplugin
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in <module>
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 315, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 180, in main
    result, resultmsgs = base.doCommands()
  File "/usr/share/yum-cli/cli.py", line 351, in doCommands
    return self.yum_cli_commands[self.basecmd].doCommand(self, self.basecmd, self.extcmds)
  File "/usr/share/yum-cli/yumcommands.py", line 787, in doCommand
    base.repos.populateSack()
  File "/usr/lib/python2.6/site-packages/yum/repos.py", line 277, in populateSack
    sack.populate(repo, mdtype, callback, cacheonly)
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 164, in populate
    if self._check_db_version(repo, mydbtype):
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 223, in _check_db_version
    return repo._check_db_version(mdtype)
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1245, in _check_db_version
    repoXML = self.repoXML
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1408, in <lambda>
    repoXML = property(fget=lambda self: self._getRepoXML(),
  File "/usr/share/yum-plugins/rhnplugin.py", line 458, in _getRepoXML
    return YumRepository._getRepoXML(self)
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1400, in _getRepoXML
    self._loadRepoXML(text=self)
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1390, in _loadRepoXML
    return self._groupLoadRepoXML(text, mdtypes)
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1367, in _groupLoadRepoXML
    if self._commonLoadRepoXML(text):
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1220, in _commonLoadRepoXML
    result = self._getFileRepoXML(local, text)
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 999, in _getFileRepoXML
    size=102400) # setting max size as 100K
TypeError: _getFile() got an unexpected keyword argument 'size'


Expected results:
standard repo listing / update without errors

Additional info:
note there are more problems than the 'unexpected keyword argument'
(same version of yum-rhn-plugin in f11 works)

Comment 1 Miroslav Suchý 2010-01-14 16:00:19 UTC
yum now call _getFile with one additional parameter, I add it to our override method as well.
Commit bfa18ad293762294329db6cb439b75e97889e19a
Built yum-rhn-plugin-0.8.2-1

Comment 2 Thorsten Scherf 2010-01-28 14:26:39 UTC
yum doesn't find repomd.xml after this fix.

Comment 3 Michael Mráka 2010-02-04 15:39:28 UTC
One more fix needed:
commit 213b97e38dd75007281b37e3180dc68b736f2fac
on Fedora 12 yum-rhn-plugin end up with HTTP Error 401 Authorization Required
    
    urlgrabber on Fedora 12 switched to use pycurl as a backend and it can't
    handle empty X-RHN-Auth-User-Id header

Fixed package:  yum-rhn-plugin-0.8.4-1 .