← Back to team overview

ius-community team mailing list archive

Re: New yum 'replace' plugin for upgrading to IUS packages

 

Hello,

(forewarning: I am writing this as a sysadmin on a CentOS host with IUS installed by the host owner/user, but paltry knowledge of IUS)

I have been running Chef [1] on one of my CentOS 5.5 hosts. Recently, either the host's owner installed IUS, or upgraded it [2], and now CentOS and Chef are no longer on speaking terms. I traced the problem down to a certain "yum-dump.py" [3] script within Chef, which works with stock Yum, but gets very angry when package "yum-plugin-replace" has been installed [4].

It looks like yum-plugin-replace overrode the "preconf" functions within Python's yum. Can someone confirm that this is the case, and suggest a fix and/or workaround for me? Confirming this problem should be simple:

- Retrieve yum-dump.py (from [3])
- On a system without yum-plugin-replace, run "sudo python yum-dump.py"
- Install yum-plugin-replace
- Run "sudo python yum-dump.py" once more
- (Optional) Bask in your god-like intelligence for knowing how to fix this problem

Thanks,

-Kurt Yoder

[1]: http://opscode.com/chef
[2]: current package version is yum-plugin-replace-0.2-1.el5
[3]: http://github.com/opscode/chef/blob/0.8-stable/chef/lib/chef/provider/package/yum-dump.py
[4]: yum-dump.py output:
kurt@darmstadtium:~$ sudo python yum-dump.py 
[sudo] password for kurt: 
Traceback (most recent call last):
  File "yum-dump.py", line 104, in ?
    y.doUnlock(PIDFILE)
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 1167, in doUnlock
    if hasattr(self, 'preconf') or self.conf.uid != 0:
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 664, in <lambda>
    conf = property(fget=lambda self: self._getConfig(),
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 194, in _getConfig
    fn = self.preconf.fn
AttributeError: 'YumBase' object has no attribute 'preconf'
Exception exceptions.AttributeError: "'YumBase' object has no attribute 'preconf'" in <bound method YumBase.__del__ of <yum.YumBase object at 0x2b3e60f80f90>> ignored




Follow ups