Hi Guys,

I'm trying to use puppet to remove some software on all our machines. The two 
rpm's I'm trying to remove are dependent on each other, that is rpm A requires 
rpm B and rpm B requires rpm A.

The packages installed fine with puppet via yum (I just asked to install rpm 
A). Unfortunately puppet is calling "rpm -e", not "yum remove" to remove 
packages so just asking to remove rpm A causes a dependency error. I tried 
using "provider => yum" in the package definition but this was ignored.

To get round this I specified both packages: "package { [rpmA,rpmB]: ensure => 
absent }". Unfortunately this doesn't work either. It appears puppet is running:

for package in packages:
        rpm -e package

As opposed to:

rpm -e " ".join(packages)

(no prizes for guessing what language I am most familiar with :)

Consequently I am unable to use puppet to remove this package. I cant easily 
resort to an exec statement as I am doing the following:

class software{
        package{ [a,b]: ensure => present }
}

class software::uninstall{
        package{ [a,b]: ensure => absent }
}

As this allows me per-node control over the removal.

I'm using puppet 0.24.8 on rhel5.3.

Can I get round this, or should I file a bug report?

-ross




Sophos Plc, The Pentagon, Abingdon Science Park, Abingdon, OX14 3YP, United 
Kingdom.
Company Reg No 2096520. VAT Reg No GB 348 3873 20.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to