summaryrefslogtreecommitdiffstats
path: root/lib/puppet/node_source/external.rb
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2007-09-24 14:45:54 -0500
committerLuke Kanies <luke@madstop.com>2007-09-24 14:45:54 -0500
commitd6fd60cca15641fc1341cce52faf0506d7665044 (patch)
treeb7eb0df3dc1e46f4702c067192553da5f6a0fb75 /lib/puppet/node_source/external.rb
parentcdc8ea6e81c1b5eba5ea784bb7079c4c1f3965a4 (diff)
downloadpuppet-d6fd60cca15641fc1341cce52faf0506d7665044.tar.gz
puppet-d6fd60cca15641fc1341cce52faf0506d7665044.tar.xz
puppet-d6fd60cca15641fc1341cce52faf0506d7665044.zip
Removing obsolete fact stores and node sources. The functionality has been moved into the indirector.
Diffstat (limited to 'lib/puppet/node_source/external.rb')
-rw-r--r--lib/puppet/node_source/external.rb51
1 files changed, 0 insertions, 51 deletions
diff --git a/lib/puppet/node_source/external.rb b/lib/puppet/node_source/external.rb
deleted file mode 100644
index 54111d924..000000000
--- a/lib/puppet/node_source/external.rb
+++ /dev/null
@@ -1,51 +0,0 @@
-Puppet::Network::Handler::Node.newnode_source(:external, :fact_merge => true) do
- desc "Call an external program to get node information."
-
- include Puppet::Util
- # Look for external node definitions.
- def nodesearch(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(external_node_command)
- rescue Puppet::ExecutionFailure => detail
- if $?.exitstatus == 1
- return nil
- else
- Puppet.err "Could not retrieve external node information for %s: %s" % [name, detail]
- end
- return nil
- end
-
- if output =~ /\A\s*\Z/ # all whitespace
- Puppet.debug "Empty response for %s from external node source" % name
- return nil
- end
-
- begin
- result = YAML.load(output).inject({}) { |hash, data| hash[symbolize(data[0])] = data[1]; hash }
- rescue => detail
- raise Puppet::Error, "Could not load external node results for %s: %s" % [name, detail]
- end
-
- node = newnode(name)
- set = false
- [:parameters, :classes].each do |param|
- if value = result[param]
- node.send(param.to_s + "=", value)
- set = true
- end
- end
-
- if set
- return node
- else
- return nil
- end
- end
-end