class PuppetPSSH::BaseCommand
Public Instance Methods
get_nodes(puppetmaster, include_deactivated = false)
click to toggle source
# File lib/puppet-pssh.rb, line 94 def get_nodes(puppetmaster, include_deactivated = false) query = URI.encode '["=", ["node", "active"], true]' url = "#{use_ssl? ? 'https' : 'http'}://#{puppetmaster}:#{puppetmaster_port}/nodes?query=#{query}" Log.debug "Puppet master host: #{puppetmaster}" Log.debug "Puppet master url: #{url}" nodes = [] begin out = Excon.get url JSON.parse(out.body).each do |n| next unless n =~ /#{match}/ nodes << n end # IF --deactivated, include also deactivated nodes if deactivated? query = URI.encode '["=", ["node", "active"], false]' url = "#{use_ssl? ? 'https' : 'http'}://#{puppetmaster}:#{puppetmaster_port}/nodes?query=#{query}" out = Excon.get url JSON.parse(out.body).each do |n| next unless n =~ /#{match}/ nodes << n end end rescue TypeError => e raise Exception.new "Error retrieving node list from master host: #{puppetmaster}" rescue Excon::Errors::SocketError => e raise Exception.new "Could not connect to the puppet master host: #{puppetmaster}" end nodes end
master_url()
click to toggle source
# File lib/puppet-pssh.rb, line 84 def master_url "#{use_ssl? ? 'https' : 'http'}://#{puppetmaster}:#{puppetmaster_port}/" end
node_status(node)
click to toggle source
# File lib/puppet-pssh.rb, line 88 def node_status(node) JSON.parse( Excon.get(master_url + "status/nodes/#{node}").body ) end