Issue #13397 has been updated by Chris Price.
Here is the commit where this was introduced:
commit e415daa44d80c15035bbe837f02134e8776b46bc
Author: Matt Robinson <[email protected]>
Date: Wed Nov 16 15:57:55 2011 -0800
(#2279) Handle providers with multiple installed versions - ruby gems
Ruby gems can have multiple versions installed, and the current
implementation of the gem provider only reads the very latest installed
version when self.instances is called. This leads to Puppet potentially
reinstalling the gem on every run if the Puppet manifest specifies a gem
that *is* installed, but is not the latest version installed.
This does require a change to how the package type checks if ensure is
insync? to handle multiple versions for the 'is' ensure value, but the
change is backward compatible with the providers that specify single
versions.
----------------------------------------
Bug #13397: Puppet 2.7.12 not handling multiple versions of installed gems
properly
https://projects.puppetlabs.com/issues/13397#change-58867
Author: Wade Minter
Status: Investigating
Priority: Normal
Assignee: Chris Price
Category:
Target version:
Affected Puppet version: 2.7.12
Keywords: array, ruby, gems
Branch:
I just upgraded from Puppet 2.7.9 to 2.7.12, and am seeing something odd with
regards to gem management.
On our systems, we have multiple versions of gems installed:
root@resque2:~# gem search -l libshadow
*** LOCAL GEMS ***
libshadow (1.0.0, 0.0.2)
root@resque2:~# gem search -l god
*** LOCAL GEMS ***
god (0.12.1, 0.12.0, 0.11.0)
However, when puppet runs, it appears to be concatenating the array of all of
those versions together to build a string when comparing the installed versions
to the desired target version:
root@resque2:~# puppet agent --test
info: Caching catalog for resque2.teamsnap.com
info: Applying configuration version '1332685435'
notice: /Stage[main]//Package[libshadow]/ensure: ensure changed
'1.0.00.0.2' to '1.0.0'
notice: /Stage[main]/Teamsnap_resque_worker::Package/Package[god]/ensure:
ensure changed '0.12.10.12.00.11.0' to '0.12.1'
notice: Finished catalog run in 12.35 seconds
This seems to be incorrect behavior.
--
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.