I'm new to puppet and I can't seem to figure out how to get rid of
this error on the client or to get the recursive copy of files to the
client:
err: //dev_oracle_dev_tools::install/File[/tmp/oracle_dev_tools]:
Failed to generate additional resources using 'eval_generate': Error
400 on SERVER: private method `gsub' called for nil:NilClass
My module is called 'dev_oracle_dev_tools' and it is defined as:
class dev_oracle_dev_tools {
include dev_oracle_dev_tools::install
}
class dev_oracle_dev_tools::install {
file { "/tmp/oracle_dev_tools":
recurse => "true",
ensure => "directory",
group => "root",
owner => "eblack",
mode => 750,
source => "puppet://$server/modules/
dev_oracle_dev_tools",
}
}
And I call it like:
node "file01.eblack.dev.gg.net" {
include "dev_oracle_dev_tools"
}
All the other file parameters directives are followed on the client;
ie: directory is created if it doesn't exist and mode, group, owner
are set.
The error goes away if I comment out the 'source' parameter.
Hoping someone can help me because I've spent a couple hours on this
and I couldn't find any answers anywhere.
Thanks,
Eric
> --
> You received this message because you are subscribed to the Google Groups "Puppet Users" group.
> To post to this group, send email to puppet...@googlegroups.com.
> To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
>
>
--
Cheers,
Daniel
/usr/lib/ruby/1.8/webrick/httprequest.rb:342:in `parse_query'
/usr/lib/ruby/1.8/webrick/httprequest.rb:122:in `query'
/usr/lib/site_ruby/1.8/puppet/network/http/webrick/rest.rb:16:in
`params'
/usr/lib/site_ruby/1.8/puppet/network/http/handler.rb:64:in `process'
/usr/lib/site_ruby/1.8/puppet/network/http/webrick/rest.rb:23:in
`service'
/usr/lib/ruby/1.8/webrick/httpserver.rb:92:in `service'
/usr/lib/ruby/1.8/webrick/httpserver.rb:54:in `run'
/usr/lib/site_ruby/1.8/puppet/network/http/webrick.rb:45:in `listen'
/usr/lib/site_ruby/1.8/puppet/network/http/webrick.rb:42:in `call'
/usr/lib/ruby/1.8/webrick/server.rb:151:in `start_thread'
/usr/lib/ruby/1.8/webrick/server.rb:145:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:145:in `start_thread'
/usr/lib/ruby/1.8/webrick/server.rb:95:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:89:in `each'
/usr/lib/ruby/1.8/webrick/server.rb:89:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:79:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:79:in `start'
/usr/lib/site_ruby/1.8/puppet/network/http/webrick.rb:42:in `listen'
/usr/lib/site_ruby/1.8/puppet/network/http/webrick.rb:41:in
`initialize'
/usr/lib/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `new'
/usr/lib/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `listen'
/usr/lib/site_ruby/1.8/puppet/network/http/webrick.rb:38:in
`synchronize'
/usr/lib/site_ruby/1.8/puppet/network/http/webrick.rb:38:in `listen'
/usr/lib/site_ruby/1.8/puppet/network/server.rb:131:in `listen'
/usr/lib/site_ruby/1.8/puppet/network/server.rb:146:in `start'
/usr/lib/site_ruby/1.8/puppet/daemon.rb:128:in `start'
/usr/lib/site_ruby/1.8/puppet/application/puppetmasterd.rb:122:in
`main'
/usr/lib/site_ruby/1.8/puppet/application/puppetmasterd.rb:80:in
`main'
/usr/lib/site_ruby/1.8/puppet/application.rb:226:in `send'
/usr/lib/site_ruby/1.8/puppet/application.rb:226:in `run_command'
/usr/lib/site_ruby/1.8/puppet/application.rb:217:in `run'
/usr/lib/site_ruby/1.8/puppet/application.rb:217:in `exit_on_fail'
/usr/lib/site_ruby/1.8/puppet/application.rb:217:in `run'
/usr/sbin/puppetmasterd:66
err: private method `gsub' called for nil:NilClass
DEBUG Puppet::Network::HTTP::WEBrickREST is invoked.
[2010-02-11 18:51:13] xxx1076.xxxxxx.com - - [11/Feb/2010:18:51:13
PST] "GET /production/file_metadatas/modules/faban2/benchmarks?
&&links=manage&recurse=true HTTP/1.1" 400 45
[2010-02-11 18:51:13] - -> /production/file_metadatas/modules/faban2/
benchmarks?&&links=manage&recurse=true
[2010-02-11 18:51:13] DEBUG close: xx.xx.xx.xx:37585
[2010-02-11 18:51:13] DEBUG accept: xx.xx.xx.xx:37586
Notice that the URL twice has '' where you would expect to see
name=value parameters:
/production/file_metadatas/modules/faban2/benchmarks?
&&links=manage&recurse=true
Is this perhaps the nil value that puppet complains it can't call gsub
on?
Dan
I figured it out. I hacked around and found that by adding params
'ignore' and 'recurselimit' the problem goes away.
For example:
file {
"/var/faban/faban/benchmarks":
recurse => "true",
ignore => "foo",
recurselimit => 10,
source => "puppet:///modules/faban2/benchmarks";
}
Without those two params, I get your error.
Feb 11 20:25:02 emu1076 puppetd[10505]: (/File[/var/puppet/lib])
Failed to generate additional resources using 'eval_generate':
Error 400 on SERVER: private method `gsub' called
for nil:NilClass
which forms the URL:
/production/file_metadatas/plugins?&ignore=---+%0A-+%22.svn%22%0A-+CVS
%0A-+%22.git%22&links=manage&recurse=true
(note the first empty param position). It appears to be the
recurselimit param that is missing (written as empty string).
So the problem appears to be present in the puppetd impl of pluginsync
as well. I am trying to work around this by syncing using a file
resource defined in my site.pp for /var/puppet/lib.
> > puppet-users...@googlegroups.com<puppet-users%2Bunsu...@googlegroups.com>