class OS::Puppet::Fencing::FacterAdapter

Public Class Methods

new(puppet_nodes_dir = '/var/lib/puppet/yaml/facts') click to toggle source
# File lib/fencing/facter_adapter.rb, line 10
def initialize(puppet_nodes_dir = '/var/lib/puppet/yaml/facts')
        @node_dir = puppet_nodes_dir
end

Public Instance Methods

find_node_def(node_name) click to toggle source
# File lib/fencing/facter_adapter.rb, line 23
def find_node_def(node_name)
        Dir.foreach(@node_dir) do | file |
                return File.join(@node_dir, file) if file.start_with?(node_name)
        end
        raise "Cannot find node #{node_name}"
end
lookup(node_name, fact_name) click to toggle source
# File lib/fencing/facter_adapter.rb, line 14
         def lookup(node_name, fact_name)
                 node_def = find_node_def(node_name)
                 node = YAML.load_file(node_def)
                 fact_list = node.to_data_hash
                 fact_result = fact_list['values'][fact_name]
                 raise "Fact #{fact_name} not found on node #{node_name}" if fact_result == nil
                 fact_result
end