Issue #14088 has been updated by Zachary Stern.

Keywords set to customer

----------------------------------------
Bug #14088: Puppet yum provider for package resource does not appear to use 
'release' tag to ensure latest
https://projects.puppetlabs.com/issues/14088#change-98845

* Author: Mark Koch
* Status: Accepted
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
* Affected Puppet version: 
* Keywords: customer
* Branch: 
----------------------------------------
Puppet's yum provider for the package resource does not appear to offer 
complete support for RPM naming/versioning.

Yum compares RPMs using the RPM naming convention (e.g 
name-version-release.arch.rpm).  Our snapshot RPMs make use of this convention 
and rely upon the fact that yum can distinguish between RPMs based on the 
release components.  

For example, in our yum snapshot repo we have;

<pre>
mds-2.0.1-SNAPSHOT20120418213747.noarch.rpm
mds-2.0.1-SNAPSHOT20120418220425.noarch.rpm
mds-2.0.1-SNAPSHOT20120418221358.noarch.rpm
mds-2.0.1-SNAPSHOT20120418223400.noarch.rpm
</pre>

When we run 'yum install mds-2.0.1', yum will select the rpm with release = 
SNAPSHOT20120418223400 as the latest version of mds-2.0.1.  

When we attempt to use Puppet's package resource to perform the same operation 
with

<pre>
package { 'mds-2.0.1':
    ensure => latest
}
</pre>

Puppet appears to use rpm to gather information about the local install but 
then does not compare the result to what the yum repo can provide (.i.e. 
compare release tags).  Instead it simply ensures that an rpm with a matching 
name-version has been installed.

To workaround this issue we're currently calling yum directly using,

<pre>
exec { "install mds-${meter_data_service_version}":
    command => "yum -d 1 -e 1 install mds-${meter_data_service_version} -y",
    path    => "/usr/bin/",
}
</pre>

This is functional but couples us to yum and is not recommended practice in 
Puppet.


-- 
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