Issue #13616 has been updated by Steven Seed.

File yum.rb.patch added
Status changed from Closed to Re-opened
Affected Puppet version changed from 2.7.12 to 2.7.19

I don't agree that this is a yum issue or at least that puppet can't be made to 
work within the current yum design. I've run into this recently and I believe 
the yum provider is not doing the correct thing in puppet. There is a distinct 
difference between 'yum install' and 'yum update', yet puppet performs a 'yum 
install' regardless of the situation. In my case, I have a package resource 
defined that states I want the 'latest' version. In my case the package is 
unixODBC. When my system was installed, both the x86_64 and i686 version was 
installed. When a update came out recently, puppet tried updating it to the 
latest version and failed due to a protected multilib issue. Here is the 
specific message:

Sat Dec 01 20:21:52 -0800 2012 /Stage[main]/Odbc/Package[unixODBC]/ensure 
(err): change from 2.2.14-11.el6 to 0:2.2.14-12.el6_3 failed: Could not update: 
Execution of '/usr/bin/yum -d 0 -e 0 -y install unixODBC' returned 1: Error: 
Protected multilib versions: unixODBC-2.2.14-12.el6_3.x86_64 != 
unixODBC-2.2.14-11.el6.i686.


The case is this...doing a 'yum install' on a package will result in the 
specific package for the current architecture to be installed/updated but 
checks are not done for associated architectures. It's not possible to update 
one architecture without the other. On the other hand 'yum update' does perform 
the necessary checks to update the package and all associated architectures. 

I would like to propose the following patch to the yum provider which performs 
a yum update in the case where the resource requests the :latest version. 

By the way, the x86_64 and i686 packages are both provided by Red Hat in their 
x86_64 rhn channel, so these were not from two different repos. 


----------------------------------------
Bug #13616: yum provider will not ensure => latest with different architectures 
of the same package
https://projects.puppetlabs.com/issues/13616#change-77965

Author: Luke Bigum
Status: Re-opened
Priority: Normal
Assignee: Luke Bigum
Category: 
Target version: 
Affected Puppet version: 2.7.19
Keywords: puppet package yum
Branch: 


The yum package provider seems to be getting confused when there are multiple 
architecture RPMs of the same package intalled, say i386 and x86_64. For 
example I am unable to use the package type to update both versions of the 
flash-plugin package. The version and arch checks detects that a package needs 
to be updated, but the yum call does not do an update:

    [root@pig ~]# rpm -qa | grep flash
    flash-plugin-10.2.159.1-release.i386
    flash-plugin-11.2.202.228-release.x86_64
    ...
    debug: /Stage[main]/Pairing_stations::Install/Package[flash-plugin]/ensure: 
flash-plugin "10.2.159.1-release" is installed, latest is 
"0:11.2.202.228-release"
    debug: Package[flash-plugin](provider=yum): Ensuring => latest
    debug: Puppet::Type::Package::ProviderYum: Executing '/usr/bin/yum -d 0 -e 
0 -y install flash-plugin'
    debug: Puppet::Type::Package::ProviderYum: Executing '/bin/rpm -q 
flash-plugin --nosignature --nodigest --qf %{NAME} %|EPOCH?{%{EPOCH}}:{0}| 
%{VERSION} %{RELEASE} %{ARCH}
    '
    notice: 
/Stage[main]/Pairing_stations::Install/Package[flash-plugin]/ensure: ensure 
changed '10.2.159.1-release' to '0:11.2.202.228-release'
    ...
    [root@pig ~]# rpm -qa | grep flash
    flash-plugin-11.2.202.228-release.x86_64
    flash-plugin-10.2.159.1-release.i386

Puppet would continually try and update this package and fail.

If the yum provider calls "yum update <package>" this would succeed.


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to