ethereal has been renamed to wireshark. The package has been renamed, but the old package also provides ethereal:
[root@techteam ~]# rpm -q --provides wireshark
...
ethereal
...
package { ethereal:
provider => yum,
}
installs the package (since yum resolves "yum install ethereal"), but claims that it wasn't installed:
debug: package provider yum: Executing '/bin/rpm -q ethereal --qf '%{NAME} %{VERSION}-%{RELEASE}
''
debug: //techteam/package=ethereal: Changing ensure
debug: //techteam/package=ethereal: 1 change(s)
debug: //techteam/package=ethereal/ensure: setting present (currently absent)
debug: package provider yum: Executing '/usr/bin/yum -y install ethereal'
debug: package provider yum: Executing '/bin/rpm -q ethereal --qf '%{NAME} %{VERSION}-%{RELEASE}
''
/usr/lib/ruby/site_ruby/1.8/puppet/provider/package/yum.rb:14:in `install'
/usr/lib/ruby/site_ruby/1.8/puppet/type/package.rb:33:in `set_present'
/usr/lib/ruby/site_ruby/1.8/puppet/type/state.rb:149:in `send'
/usr/lib/ruby/site_ruby/1.8/puppet/type/state.rb:149:in `call_valuemethod'
/usr/lib/ruby/site_ruby/1.8/puppet/type/state.rb:354:in `set'
/usr/lib/ruby/site_ruby/1.8/puppet/type/state.rb:429:in `sync'
/usr/lib/ruby/site_ruby/1.8/puppet/statechange.rb:48:in `go'
/usr/lib/ruby/site_ruby/1.8/puppet/statechange.rb:94:in `forward'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:77:in `apply'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:69:in `collect'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:69:in `apply'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:176:in `evaluate'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:348:in `thinmark'
/usr/lib/ruby/1.8/benchmark.rb:293:in `measure'
/usr/lib/ruby/1.8/benchmark.rb:307:in `realtime'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:347:in `thinmark'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:175:in `evaluate'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:168:in `collect'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:168:in `evaluate'
/usr/lib/ruby/site_ruby/1.8/puppet/client/master.rb:116:in `apply'
/usr/lib/ruby/site_ruby/1.8/puppet/client/master.rb:460:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:208:in `benchmark'
/usr/lib/ruby/1.8/benchmark.rb:293:in `measure'
/usr/lib/ruby/1.8/benchmark.rb:307:in `realtime'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:207:in `benchmark'
/usr/lib/ruby/site_ruby/1.8/puppet/client/master.rb:459:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/client/master.rb:373:in `lock'
/usr/lib/ruby/site_ruby/1.8/puppet/client/master.rb:449:in `run'
/usr/sbin/puppetd:421
err: //techteam/package=ethereal/ensure: change from absent to present failed: Could not find package ethereal
The yum provider (and the rpm one?) should probably use "rpm -q --whatprovides <package>" instead?
(The real package name is needed for 'rpm -e', so this may also affect the purge stuff)