Module: GenesisCollector::Chef
- Included in:
- Collector
- Defined in:
- lib/genesis_collector/chef.rb
Instance Method Summary collapse
Instance Method Details
#collect_chef ⇒ Object
6 7 8 |
# File 'lib/genesis_collector/chef.rb', line 6 def collect_chef @payload[:chef] = @chef_node.nil? ? collect_chef_from_knife : collect_chef_from_node end |
#collect_chef_from_knife ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/genesis_collector/chef.rb', line 20 def collect_chef_from_knife output = shellout_with_timeout('knife node show `hostname` -c /etc/chef/client.rb -a ohai_time -a run_list -a tags -a environment -a roles --format json') _hostname, parsed = JSON.parse(output).first { environment: parsed['environment'], roles: parsed['roles'], run_list: parsed['run_list'].join(', '), tags: parsed['tags'], last_run: Time.at(parsed['ohai_time']).utc.iso8601 } rescue nil end |
#collect_chef_from_node ⇒ Object
10 11 12 13 14 15 16 17 18 |
# File 'lib/genesis_collector/chef.rb', line 10 def collect_chef_from_node { environment: @chef_node.chef_environment, roles: @chef_node.roles, run_list: @chef_node.run_list.to_s, tags: @chef_node., last_run: Time.at(@chef_node.ohai_time).utc.iso8601 } end |