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.
