Thanks for the comments Silviu, here what I found: I ran: /usr/sbin/puppetd -vdt --fqdn `hostname` --environment=development --test
This is the excerpt of the output: debug: //Node[puppetclient.example.com]/common/common::nagios/Package[nrpe_custom]: Changing ensure debug: //Node[puppetclient.example.com]/common/common::nagios/Package[nrpe_custom]: 1 change(s) debug: Package[nrpe_custom](*provider=yum*): Ensuring => *01.1-10* debug: Puppet::Type::Package::ProviderYum: Executing '*/usr/bin/yum -d 0 -e 0 -y install nrpe_custom-01.1-10*' debug: Puppet::Type::Package::ProviderYum: Executing *'/bin/rpm -q nrpe_custom --nosignature --nodigest --qf %{NAME} %|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH}*' err: //Node[puppetclient.example.com]/common/common::nagios/Package[nrpe_custom]/ensure: change from 01.2-20 to 01.1-10 failed: Could not update: Failed to update to version 01.1-10, got version 01.2-20 instead at /opt/puppet/development/classes/common.pp:61 Running it manually I got: 1. /usr/bin/yum -d 0 -e 0 -y install nrpe_custom-01.1-10 Package matching nrpe_custom-01.1-10.x86_64 already installed. Checking for update. Which is not true, but for some reason yum "believes" it is already installed 2. /bin/rpm -q nrpe_custom --nosignature --nodigest --qf "%{NAME} %|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH}" nrpe_custom 0 01.2 20 x86_64 Then Puppet after matching the versions complains with the Error saying the update didn't happen. >From my point of view this is an issue with yum that is not installing the version defined in puppet. As I previously said, if I do a */usr/bin/yum -d 0 -e 0 -y downgradenrpe_custom-01.1-10 *it successfully installs the defined version. My concern is that Puppet states that the handling of packages via yum is versionable <http://reductivelabs.com/trac/puppet/wiki/TypeReference#id70>(*The provider is capable of interrogating the package database for installed version(s), and can select which out of a set of available versions of a package to install if asked*), which I assumed puppet will find the way to exec yum to update *or downgrade* as in this case, but I guess I took that too literal, and perhaps that is the definition of what a versionable package handler as YUM does, but not exactly with Puppet. Wish I'll be wrong, but seems like I won't be able to downgrade packages via yum. Comments? Thanks! On Fri, Dec 18, 2009 at 7:39 PM, Silviu Paragina <sil...@paragina.ro> wrote: > You may try to use the debug method I described here > > http://groups.google.com/group/puppet-users/browse_thread/thread/40a0cbdc8ade0d71/099af2828b89871e?lnk=gst&q=yum#099af2828b89871e > > > Silviu > > Tony G. wrote: > > Hi, > > > > On our organization we have custom npre packages distributed via yum, > > few days ago a new test package was updated in the repository and new > > nodes installed this version, the code looked like this: > > > > class common::nagios { > > package { "nrpe_custom": ensure => "installed" } > > } > > > > To attempt to fix it I wanted to take control of which version we are > > deploying by doing: > > class common::nagios { > > $nrpe_version = "01.1-10" > > package { "nrpe_custom": ensure => $nrpe_version } > > } > > > > The logs show that there was a problem updating(actually downgrading) > > but does not give me a clue of what might be going wrong: > > Dec 19 00:38:25 puppetclient puppetd[3759]: > > (//Node[puppetclient.example.com > > <http://puppetclient.example.com > >]/common/common::nagios/Package[nrpe_custom]/ensure) > > change from 01.2-20 to 01.1-10 failed: Could not update: Failed to > > update to version 01.1-10, got version 01.2-20 instead at > > /opt/puppet/test/classes/common.pp:61 > > > > If on the client machine I attempt to downgrade via yum downgrade > > nrpe_custom-01.1, the package get's downgraded correctly. I had the > > understanding that package yum is versionable and I should be able to > > do this kind of changes. > > > > Any suggestion that could help to solve this. > > > > Thanks > > -- > > Tony > > > > -- > > > > You received this message because you are subscribed to the Google > > Groups "Puppet Users" group. > > To post to this group, send email to puppet-us...@googlegroups.com. > > To unsubscribe from this group, send email to > > puppet-users+unsubscr...@googlegroups.com<puppet-users%2bunsubscr...@googlegroups.com> > . > > For more options, visit this group at > > http://groups.google.com/group/puppet-users?hl=en. > > -- > > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-us...@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscr...@googlegroups.com<puppet-users%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > > > -- Tony -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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.