diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/puppet/dsl.rb | 4 | ||||
-rw-r--r-- | lib/puppet/network/handler/configuration.rb | 5 | ||||
-rw-r--r-- | lib/puppet/util/config.rb | 2 |
3 files changed, 8 insertions, 3 deletions
diff --git a/lib/puppet/dsl.rb b/lib/puppet/dsl.rb index bd0fcbf96..793578bca 100644 --- a/lib/puppet/dsl.rb +++ b/lib/puppet/dsl.rb @@ -260,8 +260,8 @@ module Puppet @node = Puppet::Node.new(Facter.value(:hostname)) @node.parameters = Facter.to_hash @interp = Puppet::Parser::Interpreter.new :Code => "" - @config = Puppet::Parser::Configuration.new(@node, @interp.parser) - @scope = @config.topscope + @compile = Puppet::Parser::Compile.new(@node, @interp.send(:parser, Puppet[:environment])) + @scope = @compile.topscope end @scope end diff --git a/lib/puppet/network/handler/configuration.rb b/lib/puppet/network/handler/configuration.rb index b2b16d022..1dbb16370 100644 --- a/lib/puppet/network/handler/configuration.rb +++ b/lib/puppet/network/handler/configuration.rb @@ -22,6 +22,11 @@ class Puppet::Network::Handler # Compile a node's configuration. def configuration(key, client = nil, clientip = nil) + # If we want to use the cert name as our key + if Puppet[:node_name] == 'cert' and client + key = client + end + # Note that this is reasonable, because either their node source should actually # know about the node, or they should be using the ``none`` node source, which # will always return data. diff --git a/lib/puppet/util/config.rb b/lib/puppet/util/config.rb index fb1c01d56..f5cc4bcce 100644 --- a/lib/puppet/util/config.rb +++ b/lib/puppet/util/config.rb @@ -175,7 +175,7 @@ class Puppet::Util::Config # Handle a command-line argument. def handlearg(opt, value = nil) - clear(true) + @cache.clear value = munge_value(value) if value str = opt.sub(/^--/,'') bool = true |