Issue #19251 has been updated by Sebastiaan van S.

Category set to package
Status changed from Unreviewed to Accepted
Affected Puppet version changed from 3.1.0 to 3.2.2
Keywords set to yum package version incorrect

Reproduced on Centos 6.4 x86_64 and Puppet 3.2.2.

If there are packages installed with the specific sub version, and you run the 
code above, the provider parser fails and thinks it needs to downgrade.

----------------------------------------
Bug #19251: Puppet parsing rpm versions incorrectly, uses downgrade which 
causes Multilib errors
https://projects.puppetlabs.com/issues/19251#change-94626

* Author: Jo Rhett
* Status: Accepted
* Priority: Normal
* Assignee: 
* Category: package
* Target version: 
* Affected Puppet version: 3.2.2
* Keywords: yum package version incorrect
* Branch: 
----------------------------------------
It appears that Puppet is parsing the version string of RPMs wrong and using 
'downgrade' instead of 'install', or perhaps doing something when nothing 
should be done.

<pre>
 if( $::operatingsystemrelease > 6.0 ) {
        $snmpd_ver = "5.5-41.el6"                                               
                                                          
    }
    else {
        $snmpd_ver = "5.3.2.2-20.el5"
    }
    package { 'net-snmp':
        ensure => $snmpd_ver,
        alias  => 'snmpd',
    }
</pre>

Unfortunately on CentOS 6 systems this produces a very weird multilib error:

<pre>
Wed Feb 13 17:26:29 +0000 2013 Puppet (err): Could not update: Execution of 
'/usr/bin/yum -d 0 -e 0 -y downgrade net-snmp-perl-5.5-41.el6' returned 1: 
Error: Protected multilib versions: 1:net-snmp-libs-5.5-41.el6.i686 != 
1:net-snmp-libs-5.5-41.el6_3.1.x86_64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
Wed Feb 13 17:26:43 +0000 2013 /Stage[main]/Snmpd/Service[snmpd] (warning): 
Skipping because of failed dependencies
</pre>

It is totally unclear why puppet is running 'downgrade' since that doesn't 
apply. It appears that puppet is parsing the versions wrong.

<pre>
$ sudo yum install net-snmp-perl-5.5-41.el6
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
Setting up Install Process
Package matching 1:net-snmp-perl-5.5-41.el6.x86_64 already installed. Checking 
for update.
Nothing to do

$ rpm -qa |grep net-snmp
net-snmp-utils-5.5-41.el6_3.1.x86_64
net-snmp-perl-5.5-41.el6_3.1.x86_64
net-snmp-libs-5.5-41.el6_3.1.x86_64
net-snmp-5.5-41.el6_3.1.x86_64
</pre>


-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-bugs.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to