John, you left out too many details in how this is implemented. The require => Class["whatever"] on the percona package,
and the fact that the Package["mysql"] ensure => absent is INSIDE class 'whatever' and that it runs successfully the FIRST time, but then is trying to REMOVE percona. Please try to require => Package["whatever::mysql"] directly on the Package["percona-server"] definition, this should not try to re-evaluate the requirement for installing percona-server-server _ONCE IT IS ALREADY INSTALLED_ Read: http://docs.puppetlabs.com/learning/ordering.html On Wednesday, April 23, 2014 1:57:09 PM UTC-7, Jon Forrest wrote: > > I have an interesting problem (to me). I want to install Percona > mysql. This is easy. > But I also want to make sure regular MySQL isn't installed on the same > machine that's running Percona. > > To install Percona, I have a resource like > > package { > 'percona-client': > name => 'Percona-Server-client-55', > ensure => installed, > } > > To make sure MySQL isn't installed I have > > package { > 'mysql': > provider => "yum", > ensure => purged, > } > > The problem is that Puppet tries to remove Percona, instead of MySQL. > This is because the Percona rpm provides the mysql feature. By this I mean > the output from 'yum provides mysql' contains (edited): > > Percona-Server-client-55-5.5.36-rel34.2.el6.x86_64 : Percona Server - > Client > Repo : XXX > Matched from: > Other : mysql > > Percona-Server-client-55-5.5.36-rel34.2.el6.x86_64 : Percona Server - > Client > Repo : installed > Matched from: > Other : Provides-match: mysql > > Of course, trying to remove Percona fails because other things depend on > it, as they should. > > The only ideas I have for removing MySQL, and not Percona, are: > > 1) Use rpmrebuild to change what Percona provides > 2) Use something like (untested) > > exec { "/usr/bin/yum -y remove mysql": > onlyif => "/bin/rpm -qa |/bin/fgrep mysql" > > 3) Just presume that MySQL won't be installed in the first place. > I could do this but I'd like my modules to be more accepting and > not require a specially prepared system. > > Any suggestions? > > Jon Forrest > -- 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+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/9104350f-64bc-4985-945c-275029b21816%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.