I had opened a discussion on this subject on help.opscode.com, but Steven was kind enough to let me know that this list would actually be a better place for me to bring this issue up.
Anyway, I’ve gone ahead and filed a ticket on this (http://tickets.opscode.com/browse/CHEF-2635), but I wanted to open the discussion to a wider group.
It seems to me that yum is fairly intelligent, and if you give it partial information about the version or architecture of a package that you want installed on Red Hat/Fedora/CentOS, it goes ahead and tries to find the latest version & architecture that matches what you’ve asked for. However, the discussion at http://help.opscode.com/discussions/questions/217-install-specific-package-version-chef-re-installs-over-and-over-again shows that if you don’t have Chef give a very specific and complete version number to yum, then you’ll get a version installed but yum will still generate an error condition that Chef can’t handle.
It seems to me that the LWRP should know about this nature of yum and be able to parse the actual responses as well as the basic return codes, and know that when it gets a non-zero return code that doesn’t necessarily mean that there’s a real problem, but maybe yum is just telling you that the package in question (with more specific version & architecture information) has already been installed.
Note that this bug is currently stopping me from being able to install the Zenoss cookbook from the Opscode repository.
Did I miss something obvious? Does anyone have any ideas or suggestions for other things I can try?
Brad Knowles firstname.lastname@example.org
SAGE Level IV, Chef Level 0.0.1