diff --git a/lib/smart_proxy_ansible/runner/ansible_runner.rb b/lib/smart_proxy_ansible/runner/ansible_runner.rb index b5c1eae..1fac7a4 100644 --- a/lib/smart_proxy_ansible/runner/ansible_runner.rb +++ b/lib/smart_proxy_ansible/runner/ansible_runner.rb @@ -127,7 +127,7 @@ def hostname_for_event(event) def handle_host_event(hostname, event) log_event("for host: #{hostname.inspect}", event) - publish_data_for(hostname, event['stdout'] + "\n", 'stdout', id: event['uuid']) if event['stdout'] + publish_data_for(hostname, event['stdout'] + "\n", 'stdout', id: event['uuid'], timestamp: event['created']) if event['stdout'] case event['event'] when 'runner_on_ok' publish_exit_status_for(hostname, 0) if @exit_statuses[hostname].nil? @@ -152,18 +152,19 @@ def handle_broadcast_data(event) host = inventory_hosts.find { |host| row =~ /#{host}/ } line = row + "\n" unless host - broadcast_data(line, 'stdout', id: event['uuid']) + broadcast_data(line, 'stdout', id: event['uuid'], timestamp: event['created']) next end - publish_data_for(host, line, 'stdout', id: event['uuid']) + publish_data_for(host, line, 'stdout', id: event['uuid'], timestamp: event['created']) + # If the task has been rescued, it won't consider a failure if @exit_statuses[host].to_i != 0 && failures[host].to_i <= 0 && unreachable[host].to_i <= 0 && rescued[host].to_i > 0 publish_exit_status_for(host, 0) end end else - broadcast_data(event['stdout'] + "\n", 'stdout', id: event['uuid']) + broadcast_data(event['stdout'] + "\n", 'stdout', id: event['uuid'], timestamp: event['created']) end # If the run ends early due to an error - fail all other tasks