# File lib/chef/knife/status.rb, line 38
      def run
        all_nodes = []
        q = Chef::Search::Query.new
        query = @name_args[0] || "*:*"
        q.search(:node, query) do |node|
          all_nodes << node
        end
        all_nodes.sort { |n1, n2| n1["ohai_time"] <=> n2["ohai_time"] }.each do |node|
          if node.has_key?("ec2")
            fqdn = node['ec2']['public_hostname']
            ipaddress = node['ec2']['public_ipv4']
          else
            fqdn = node['fqdn']
            ipaddress = node['ipaddress']
          end
          hours, minutes, seconds = time_difference_in_hms(node["ohai_time"])
          hours_text   = "#{hours} hour#{hours == 1 ? ' ' : 's'}"
          minutes_text = "#{minutes} minute#{minutes == 1 ? ' ' : 's'}"
          run_list = ", #{node.run_list}." if config[:run_list]
          if hours > 24
            color = "RED"
            text = hours_text
          elsif hours >= 1
            color = "YELLOW"
            text = hours_text
          else
            color = "GREEN"
            text = minutes_text
          end

          highline.say("<%= color('#{text}', #{color}) %> ago, #{node.name}, #{node['platform']} #{node['platform_version']}, #{fqdn}, #{ipaddress}#{run_list}")
        end

      end