class PuppetPSSH::List
Public Instance Methods
execute()
click to toggle source
# File lib/puppet-pssh.rb, line 134 def execute begin get_nodes(puppetmaster).each do |n| next unless n =~ /#{match}/ if all_facts? pp JSON.parse(Excon.get(master_url + "facts/#{n}").body) elsif fact value = JSON.parse( Excon.get(master_url + "facts/#{n}").body )['facts'][fact] || 'fact_not_found' puts n puts " #{fact.yellow}: " + value elsif with_facts facts = JSON.parse( Excon.get(master_url + "facts/#{n}").body )['facts'] keys = facts.keys with_facts.split(',').each do |f| if keys.include?(f) puts n break end end elsif status? puts n status = node_status(n) puts " #{'name:'.ljust(20).yellow} #{n}" if status['deactivated'] puts " #{'deactivated:'.ljust(20).yellow} " + "yes (#{status['deactivated']})" else puts " #{'deactivated:'.ljust(20).yellow} no" end puts " #{'catalog_timestamp:'.ljust(20).yellow} " + "#{status['catalog_timestamp']}" puts " #{'facts_timestamp:'.ljust(20).yellow} " + "#{status['facts_timestamp']}" else puts n end end rescue Exception => e Log.error e.message Log.debug e.backtrace exit 1 end end