diff options
author | Luke Kanies <luke@madstop.com> | 2007-08-13 14:50:22 -0500 |
---|---|---|
committer | Luke Kanies <luke@madstop.com> | 2007-08-13 14:50:22 -0500 |
commit | ab42534ae243c24c8c702e38195a954ab52eaed9 (patch) | |
tree | ab7f4320da1b9c4c7510fd576b1b84b24d2f3139 /lib/puppet/parser/interpreter.rb | |
parent | 24e7b4d034bf5e50996846494949fd90ec617b4d (diff) | |
download | puppet-ab42534ae243c24c8c702e38195a954ab52eaed9.tar.gz puppet-ab42534ae243c24c8c702e38195a954ab52eaed9.tar.xz puppet-ab42534ae243c24c8c702e38195a954ab52eaed9.zip |
Applying patch by Adam Jacob to make external node tools able to handle command-line arguments
Diffstat (limited to 'lib/puppet/parser/interpreter.rb')
-rw-r--r-- | lib/puppet/parser/interpreter.rb | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/puppet/parser/interpreter.rb b/lib/puppet/parser/interpreter.rb index 9da1928b3..3ba9c0c7a 100644 --- a/lib/puppet/parser/interpreter.rb +++ b/lib/puppet/parser/interpreter.rb @@ -480,9 +480,14 @@ class Puppet::Parser::Interpreter # Look for external node definitions. def nodesearch_external(name) return nil unless Puppet[:external_nodes] != "none" - + + # This is a very cheap way to do this, since it will break on + # commands that have spaces in the arguments. But it's good + # enough for most cases. + external_node_command = Puppet[:external_nodes].split + external_node_command << name begin - output = Puppet::Util.execute([Puppet[:external_nodes], name]) + output = Puppet::Util.execute(external_node_command) rescue Puppet::ExecutionFailure => detail if $?.exitstatus == 1 return nil |