diff options
| author | Luke Kanies <luke@madstop.com> | 2008-06-15 14:39:45 -0500 |
|---|---|---|
| committer | Luke Kanies <luke@madstop.com> | 2008-06-15 14:39:45 -0500 |
| commit | ac7f59618a80b6a4aac777f6184e7fa6a0614079 (patch) | |
| tree | 30e72d4719a63899007a9ceca32994d3d53c053a | |
| parent | 575f37a0656f5a1f94fe6fb1b189d1701a98cadc (diff) | |
Fixed #1201 - all external node attributes are converted to strings.
| -rw-r--r-- | CHANGELOG | 2 | ||||
| -rw-r--r-- | lib/puppet/indirector/node/exec.rb | 7 | ||||
| -rwxr-xr-x | spec/unit/indirector/node/exec.rb | 6 |
3 files changed, 15 insertions, 0 deletions
@@ -1,3 +1,5 @@ + Fixed #1201 - all external node attributes are converted to strings. + Adding a ResourceTemplate class for using templates directly within resources (i.e., client-side templates). This would really only be used for composite resources that pass the results of the diff --git a/lib/puppet/indirector/node/exec.rb b/lib/puppet/indirector/node/exec.rb index 52cbc370c..029a35c4f 100644 --- a/lib/puppet/indirector/node/exec.rb +++ b/lib/puppet/indirector/node/exec.rb @@ -30,6 +30,13 @@ class Puppet::Node::Exec < Puppet::Indirector::Exec def create_node(name, result) node = Puppet::Node.new(name) set = false + if current = result[:parameters] + result[:parameters] = current.inject({}) do |strings, ary| + param, value = ary + strings[param] = value.to_s + strings + end + end [:parameters, :classes, :environment].each do |param| if value = result[param] node.send(param.to_s + "=", value) diff --git a/spec/unit/indirector/node/exec.rb b/spec/unit/indirector/node/exec.rb index 09f13ab90..2276e4298 100755 --- a/spec/unit/indirector/node/exec.rb +++ b/spec/unit/indirector/node/exec.rb @@ -49,6 +49,12 @@ describe Puppet::Node::Exec do @searcher.find(@request) end + it "should convert all parameters into strings" do + @result[:parameters] = {"a" => true, "c" => 100} + @node.expects(:parameters=).with "a" => "true", "c" => "100" + @searcher.find(@request) + end + it "should set the resulting classes as the node classes" do @result[:classes] = %w{one two} @node.expects(:classes=).with %w{one two} |
