Class: ForemanAnsible::AnsibleReportScanner

Inherits:
Object
  • Object
show all
Defined in:
app/services/foreman_ansible/ansible_report_scanner.rb

Overview

Scans ConfigReports after import for indicators of an Ansible report and sets the origin of the report to ‘Ansible’

Class Method Summary collapse

Class Method Details

.add_reporter_data(report, raw) ⇒ Object



8
# File 'app/services/foreman_ansible/ansible_report_scanner.rb', line 8

def add_reporter_data(report, raw); end

.ansible_legacy_report?(logs) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
21
22
23
24
# File 'app/services/foreman_ansible/ansible_report_scanner.rb', line 18

def ansible_legacy_report?(logs)
  return false if logs.blank?
  logs.any? do |log|
    log['log'].fetch('messages', {}).
      fetch('message', '') =~ /"_ansible_parsed"/
  end
end

.ansible_report?(raw) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
# File 'app/services/foreman_ansible/ansible_report_scanner.rb', line 14

def ansible_report?(raw)
  raw['reporter'] == 'ansible' || ansible_legacy_report?(raw['logs'])
end

.identify_origin(raw) ⇒ Object



10
11
12
# File 'app/services/foreman_ansible/ansible_report_scanner.rb', line 10

def identify_origin(raw)
  'Ansible' if ansible_report?(raw)
end