Issue #4770 has been updated by Jesse Wolfe.
Status changed from Investigating to Needs design decision
Assignee deleted (Jesse Wolfe)
Priority changed from High to Normal
Target version changed from 2.6.2 to Statler
Here's my understanding of what happened:
`puppet:///` means different things in different versions.
<pre> 0.25.x:
puppetd: download from the master
puppet (standalone): use local files
2.6.0:
puppet agent: download from the master
puppet apply: download from the default master (The "--server" setting)
2.6.1:
puppet agent: download from the master
puppet apply: use local files</pre>
This change in behavior between 2.6.0 and 2.6.1 was intentional, to preserve
the old, network-free behavior of puppet standalone (as reported in #4489)
While I think there's room for debate on whether this behavior of puppet:///
URIs is really ideal, that debate has not yet occurred, and the 2.6.0 behavior
was introduced by accident.
A workaround to emulate the 2.6.0 behavior would be to write the resource this
way:
<pre>file {
source => "puppet://${settings::server}/modules/foo/foo.txt";
}</pre>
----------------------------------------
Bug #4770: Problem file serving standalone
http://projects.puppetlabs.com/issues/4770
Author: Markus Roberts
Status: Needs design decision
Priority: Normal
Assignee:
Category:
Target version: Statler
Affected version: 2.6.1
Keywords:
Branch:
Stig Sandbeck reports that the fix for #4489 seems to introduce another problem:
I can no longer use puppet:/// URIs, but must add a server name.
I use the following manifest on the agent, and does "puppet apply" on this
manifest:
file {
"/tmp/foo.withserver.txt":
source => "puppet://puppet/modules/foo/foo.txt";
"/tmp/foo.withoutserver.txt":
source => "puppet:///modules/foo/foo.txt";
}
in 2.6.0, this works fine.
In 2.6.1 (and in 2.6.0 with this commit cherry-picked), I get the following
error message:
err: /Stage[main]//File[/tmp/foo.withoutserver.txt]: \
Could not evaluate: Could not retrieve information from \
source(s) puppet:///modules/foo/foo.txt at /root/apply-test.pp:6
A trace says:
# puppet apply apply-test.pp --trace
/usr/lib/ruby/1.8/puppet/parameter.rb:171:in `fail'
/usr/lib/ruby/1.8/puppet/type/file/source.rb:150:in `init_metadata'
/usr/lib/ruby/1.8/puppet/util/cacher.rb:106:in `send'
/usr/lib/ruby/1.8/puppet/util/cacher.rb:106:in `cached_value'
/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/usr/lib/ruby/1.8/puppet/util/cacher.rb:98:in `cached_value'
/usr/lib/ruby/1.8/puppet/util/cacher.rb:48:in `metadata'
/usr/lib/ruby/1.8/puppet/type/file/source.rb:99:in `copy_source_values'
/usr/lib/ruby/1.8/puppet/type/file.rb:632:in `retrieve'
/usr/lib/ruby/1.8/puppet/type.rb:695:in `retrieve_resource'
/usr/lib/ruby/1.8/puppet/transaction/resource_harness.rb:39:in
`changes_to_perform'
/usr/lib/ruby/1.8/puppet/transaction/resource_harness.rb:87:in `evaluate'
/usr/lib/ruby/1.8/puppet/transaction.rb:49:in `apply'
/usr/lib/ruby/1.8/puppet/transaction.rb:114:in
`eval_children_and_apply_resource'
/usr/lib/ruby/1.8/puppet/transaction.rb:92:in `eval_resource'
/usr/lib/ruby/1.8/puppet/transaction.rb:143:in `evaluate'
/usr/lib/ruby/1.8/puppet/util.rb:414:in `thinmark'
/usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/usr/lib/ruby/1.8/puppet/util.rb:413:in `thinmark'
/usr/lib/ruby/1.8/puppet/transaction.rb:142:in `evaluate'
/usr/lib/ruby/1.8/puppet/transaction.rb:135:in `each'
/usr/lib/ruby/1.8/puppet/transaction.rb:135:in `evaluate'
/usr/lib/ruby/1.8/puppet/resource/catalog.rb:144:in `apply'
/usr/lib/ruby/1.8/puppet/application/apply.rb:133:in `main'
/usr/lib/ruby/1.8/puppet/application/apply.rb:35:in `run_command'
/usr/lib/ruby/1.8/puppet/application.rb:300:in `run'
/usr/lib/ruby/1.8/puppet/application.rb:397:in `exit_on_fail'
/usr/lib/ruby/1.8/puppet/application.rb:300:in `run'
/usr/lib/ruby/1.8/puppet/util/command_line.rb:55:in `execute'
/usr/bin/puppet:4
err: /Stage[main]//File[/tmp/foo.withoutserver.txt]: Could not evaluate:
Could not retrieve information from source(s) puppet:///modules/foo/foo.txt at
/root/apply-test.pp:6
--
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://projects.puppetlabs.com/my/account
--
You received this message because you are subscribed to the Google Groups
"Puppet Bugs" group.
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-bugs?hl=en.