From 0b353f3ed36a598f9f93fce40f78bcb446869c4e Mon Sep 17 00:00:00 2001 From: Denis Egorenko Date: Thu, 1 Sep 2016 17:17:05 +0300 Subject: [PATCH] Filter raw_report only with log events for noop_run Use filter for raw_report only with log events (such as what was changed, were was changed, what was triggered and etc) for noop_run. Change-Id: I4e0f1d25e8145de46f7ff059956cd086bf2f699c Related-bug: #1618945 --- lib/astute/puppet_task.rb | 1 + lib/astute/tasks/noop_puppet.rb | 1 + mcagents/puppetd.rb | 21 ++++++++++++++++++++- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/lib/astute/puppet_task.rb b/lib/astute/puppet_task.rb index c3515d5b..f9d02e72 100644 --- a/lib/astute/puppet_task.rb +++ b/lib/astute/puppet_task.rb @@ -117,6 +117,7 @@ module Astute def puppet_status puppetd.last_run_summary( + :puppet_noop_run => @options[:puppet_noop_run], :raw_report => @options[:raw_report] ).first[:data] end diff --git a/lib/astute/tasks/noop_puppet.rb b/lib/astute/tasks/noop_puppet.rb index bdbf5ea3..3e697b7b 100644 --- a/lib/astute/tasks/noop_puppet.rb +++ b/lib/astute/tasks/noop_puppet.rb @@ -35,6 +35,7 @@ module Astute :timeout => @task['parameters']['timeout'], :puppet_debug => @task['parameters']['debug'], :puppet_noop_run => true, + :raw_report => true } ) end diff --git a/mcagents/puppetd.rb b/mcagents/puppetd.rb index d1bc3db6..7fc5605b 100644 --- a/mcagents/puppetd.rb +++ b/mcagents/puppetd.rb @@ -127,7 +127,11 @@ module MCollective }.merge(reply[:resources]) if valid_report?(report) && request.fetch(:raw_report, false) - reply[:raw_report] = File.read(@last_report) + if request[:puppet_noop_run] + reply[:raw_report] = get_noop_report_only(report) + else + reply[:raw_report] = File.read(@last_report) + end end end @@ -277,6 +281,21 @@ module MCollective report.is_a?(Puppet::Transaction::Report) && report.resource_statuses end + def get_noop_report_only(report) + noop_report = [] + report.logs.each do |log| + # skip info level reports + next if log.level == :info + resource_report = {} + resource_report['source'] = log.source + resource_report['message'] = log.message + resource_report['file'] = log.file unless log.file.nil? + resource_report['line'] = log.line unless log.line.nil? + noop_report.push(resource_report) + end + noop_report + end + def kill_process return if ['stopped', 'disabled'].include? puppet_daemon_status