With a manifest containing:
package { "nano": ensure => purged; }
Each time I run puppet I'm seeing this:
debug: Puppet::Type::Package::ProviderYum: Executing '/bin/rpm -q nano --nosignature --nodigest --qf %{NAME} %|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH}
'
debug: //Node[redhat]/default_class/packages::purge::basic/Package[nano]: Changing ensure
debug: //Node[redhat]/default_class/packages::purge::basic/Package[nano]: 1 change(s)
debug: Puppet::Type::Package::ProviderYum: Executing '/usr/bin/yum -y erase nano'
notice: //Node[redhat]/default_class/packages::purge::basic/Package[nano]/ensure: created
Even though the package isn't installed. I can't see anything in subsequent releases that suggest this may have changed. On Debian this seems to work just fine (no notices). This also means that related notifies keep being called even though the system state isn't changing.
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://reductivelabs.com/redmine/my/account
Note that this is on 0.24.8, so first step is make sure it hasn't been fixed already.
I just investigated since it was reported in the forums:
I checked-out origin/0.25.x (which affected version should I label this as?)
[root@exporter puppet]# puppet -e'package{"testdisk-doc": ensure => installed}'[root@exporter puppet]# puppet -e'package{"testdisk-doc": ensure => purged}'
notice: //Package[testdisk-doc]/ensure: ensure changed '6.11-3.el5' to 'purged'
[root@exporter puppet]# puppet -e'package{"testdisk-doc": ensure => purged}'
notice: //Package[testdisk-doc]/ensure: created
[root@exporter puppet]# puppet -e'package{"testdisk-doc": ensure => purged}'
notice: //Package[testdisk-doc]/ensure: created
and recreated.
It seems that yum doesn't really have separate "purged" and "absent" states. Usually we'd disable "purged", but I'm not certain if I want to introduce that as a breaking change for 0.25.3