Jon Forrest
2014-Apr-22 19:16 UTC
[Puppet Users] Package With 'yum' Provider Uses 'rpm' to Remove a Package (bug?)
(I found a discussion from 6/22/09 on this topic, but that was a long time ago.) Using Puppet 3.5.1 on CentOS 6.5 I recently created the following: package { [ "PackageKit"]: ensure => absent, } However, when I ran Puppet, I got Error: Execution of '/bin/rpm -e PackageKit-0.5.8-21.el6.x86_64' returned 1: error: Failed dependencies: PackageKit = 0.5.8-21.el6 is needed by (installed) PackageKit-yum-0.5.8-21.el6.x86_64 PackageKit = 0.5.8-21.el6 is needed by (installed) PackageKit-glib-0.5.8-21.el6.x86_64 PackageKit is needed by (installed) PackageKit-yum-plugin-0.5.8-21.el6.x86_64 Notice that the provider is running '/bin/rpm' which explains the errors. So, I explicitly added a provider, so that the resource definition is this: package { [ "PackageKit"]: provider => 'yum', ensure => absent, } There was no change!! In the discussion from 2009, somebody suggested using "purge" instead of "absent", so I did. But although Puppet now uses yum, it does so in a very strange way: Error: Could not update: Execution of '/usr/bin/yum -d 0 -e 0 -y install PackageKit-purge' returned 1: Error: Nothing to do Wrapped exception: This looks like a bug to me. I ended up using exec { "/usr/bin/yum -y remove PackageKit": onlyif => "/bin/rpm -qa |/bin/fgrep PackageKit", } but this is a step in the wrong direction. Comments? Jon Forreset -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/2089be92-a912-4645-819c-d1da5c3d34da%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.