Unfortunately I haven't migrated to 3.x (some dynamic scope issues, fix is 
already mind-brewed), so 2.7.19 will have to do:

Class:
[root@master:/etc/puppet/dev/modules/example/example-test]# cat 
manifests/init.pp 
class example-test {
    file { '/a':
source => "puppet:///modules/itsis-test/a",
    }
}
----------------
[root@master:/etc/puppet/dev/modules/example/example-test]# cat files/a 
asdf
----------------


Node class definition:
----------------
class example-server::client {
    include 'example-test'
}
----------------


Node definition:
----------------
node 'client.example.org' inherits 'example_org' {
    ..(some unused variables)...
    include 'itsis-server::timeturner'
}
----------------



Client:
--------------------
# puppet agent --test
info: Retrieving plugin
err: Could not retrieve catalog from remote server: Error 400 on SERVER: 
Could not retrieve information from environment production source(s) 
modules/example-test/a at 
/etc/puppet/dev/modules/example/example-test/manifests/init.pp:4
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run


Server:
--------------------
# puppet master --verbose --no-daemonize --trace 
--catalog_terminus=static_compiler --config=/etc/puppet/puppetmasterd.conf 
notice: Starting Puppet master version 2.7.19
info: access[^/catalog/([^/]+)$]: allowing 'method' find
info: access[^/catalog/([^/]+)$]: allowing $1 access
info: access[^/node/([^/]+)$]: allowing 'method' find
info: access[^/node/([^/]+)$]: allowing $1 access
info: access[/certificate_revocation_list/ca]: allowing 'method' find
info: access[/certificate_revocation_list/ca]: allowing * access
info: access[/report]: allowing 'method' save
info: access[/report]: allowing * access
info: access[/file]: allowing * access
info: access[/certificate/ca]: adding authentication any
info: access[/certificate/ca]: allowing 'method' find
info: access[/certificate/ca]: allowing * access
info: access[/certificate/]: adding authentication any
info: access[/certificate/]: allowing 'method' find
info: access[/certificate/]: allowing * access
info: access[/certificate_request]: adding authentication any
info: access[/certificate_request]: allowing 'method' find
info: access[/certificate_request]: allowing 'method' save
info: access[/certificate_request]: allowing * access
info: access[/]: adding authentication any
info: Inserting default '/status' (auth true) ACL because none were found 
in '/etc/puppet/auth.conf'
info: Expiring the node cache of client.example.org
info: Not using expired node for client.example.org from cache; expired at 
Tue Oct 23 02:01:25 +0200 2012
info: Caching node for client.example.org
notice: Compiled catalog for client.example.org in environment dev in 0.08 
seconds
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/parameter.rb:165:in 
`fail'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/type/file/source.rb:166:in
 
`metadata'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/static_compiler.rb:37:in
 
`find_and_replace_metadata'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/static_compiler.rb:23:in
 
`find'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/static_compiler.rb:15:in
 
`each'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/static_compiler.rb:15:in
 
`find'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:195:in
 
`find'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:109:in
 
`do_find'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68:in
 
`send'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68:in
 
`process'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/webrick/rest.rb:24:in
 
`service'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/httpserver.rb:104:in 
`service'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:45:in
 
`listen'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/server.rb:173:in `call'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/server.rb:173:in 
`start_thread'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/server.rb:162:in `start'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/server.rb:162:in 
`start_thread'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/server.rb:95:in `start'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/server.rb:92:in `each'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/server.rb:92:in `start'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/server.rb:23:in `start'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/server.rb:82:in `start'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:42:in
 
`listen'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in
 
`initialize'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in
 
`new'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in
 
`listen'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:38:in
 
`synchronize'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:38:in
 
`listen'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/server.rb:126:in
 
`listen'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/server.rb:141:in
 
`start'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/daemon.rb:124:in 
`start'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/application/master.rb:202:in
 
`main'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/application/master.rb:146:in
 
`run_command'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/application.rb:309:in 
`run'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/application.rb:416:in 
`hook'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/application.rb:309:in 
`run'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/application.rb:407:in 
`exit_on_fail'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/application.rb:309:in 
`run'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:69:in
 
`execute'
/usr/local/bin/puppet:4
err: 
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/parameter.rb:165:in 
`fail'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/type/file/source.rb:166:in
 
`metadata'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/static_compiler.rb:37:in
 
`find_and_replace_metadata'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/static_compiler.rb:23:in
 
`find'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/static_compiler.rb:15:in
 
`each'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/static_compiler.rb:15:in
 
`find'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:195:in
 
`find'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:109:in
 
`do_find'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68:in
 
`send'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68:in
 
`process'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/webrick/rest.rb:24:in
 
`service'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/httpserver.rb:104:in 
`service'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:45:in
 
`listen'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/server.rb:173:in `call'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/server.rb:173:in 
`start_thread'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/server.rb:162:in `start'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/server.rb:162:in 
`start_thread'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/server.rb:95:in `start'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/server.rb:92:in `each'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/server.rb:92:in `start'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/server.rb:23:in `start'
/usr/local/puppet-2.7.19-1/lib/ruby/1.8/webrick/server.rb:82:in `start'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:42:in
 
`listen'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in
 
`initialize'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in
 
`new'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in
 
`listen'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:38:in
 
`synchronize'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:38:in
 
`listen'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/server.rb:126:in
 
`listen'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/network/server.rb:141:in
 
`start'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/daemon.rb:124:in 
`start'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/application/master.rb:202:in
 
`main'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/application/master.rb:146:in
 
`run_command'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/application.rb:309:in 
`run'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/application.rb:416:in 
`hook'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/application.rb:309:in 
`run'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/application.rb:407:in 
`exit_on_fail'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/application.rb:309:in 
`run'
/usr/local/puppet-2.7.19-1/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:69:in
 
`execute'
/usr/local/bin/puppet:4
err: Could not retrieve information from environment production source(s) 
modules/itsis-test/a at 
/etc/puppet/itsis_dev/modules/itsis/itsis-test/manifests/init.pp:4
info: //client.example.org/Puppet: Retrieving plugin
err: //client.example.org/Puppet: Could not retrieve catalog from remote 
server: Error 400 on SERVER: Could not retrieve information from 
environment production source(s) modules/itsis-test/a at 
/etc/puppet/itsis_dev/modules/itsis/itsis-test/manifests/init.pp:4
warning: //client.example.org/Puppet: Not using cache on failed catalog
err: //client.example.org/Puppet: Could not retrieve catalog; skipping run
-----------------------------------------

Strace of master is here:
http://tools.a2o.si/tmp/static-compiler-strace.out

I hope this helps,

b.


On Tuesday, 23 October 2012 00:38:48 UTC+2, Bostjan Skufca wrote:
>
> Hi all,
>
> the post below was originally intended for this list, but was 
> unfortunately misdirected to puppet-users. As some debate has already begun 
> around it, I will not duplicate its content here, so please see for 
> yourself:
>
> https://groups.google.com/forum/?fromgroups=#!topic/puppet-users/d4F9ESnRTAo
>
> Can you think of any showstoppers for this feature?
>
> b.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-dev/-/azRBK4CxfUwJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to