I have an old puppet running in an ancient debian Lenny. It worked since recently started complaining about an undefined method downcase.

This is Debian Lenny, puppet 2.6.2.

It loads facter, and ends at facter_dot_d

Could not retrieve local facts: undefined method `downcase' for

I found a facter_dod_d.rb file at /var/lib/puppet/lib/facter but I see no downcase there.

I also tried to download a new puppet agent unsuccessfully. The wheezy version won't install in lenny. I couldn't find a source package to compile it myself.

I did found a facter source at github https://github.com/puppetlabs/facter/tree/1.6.x. I tried to download but I can't see how to install it. Running it fails

./bin/facter:69:in `require': no such file to load --
facter/application (LoadError)  from ./bin/facter:69

I also tried to remove the facter_dod_d.rb, but running puppet agent again recreates it and fails.

This is the puppet config file:


1 Answer 1


I finally found out what happened. Some time ago there was another line in the config file of the client like this:

pluginsync = true

That made the client download a bunch of plugins from the server. With those files it worked for a long time. Then, I guess, one of those plugins got too new for this old version of the agent. That made it complain about an undefined method.

Removing the pluginsync line, and also, removing the files in /var/lib/puppet/lib/facter fixed the issue.

Keep in mind:

  • The files in /var/lib/puppet/lib/facter must be removed, not just renamed, nor moved to a subdirectory.

  • Keep this file, it is required, at least by my puppet agent : /var/lib/puppet/lib/facter/util/puppet_settings.rb

  • Remove the pluginsync option from the puppet.conf file in the client.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .