theforeman/smart-proxy — pull request #144 by mmilata (2014-03-26 16:10:54+00:00)
Title: fixes #4332 - initial abrt proxy support

This change makes it possible for the proxy to pretend it is ABRT
(Automatic Bug Reporting Tool[1]) server. When it receives a problem
report it stores it to the disk, and optionally also forwards the
original report to an actual ABRT server.

Forwarding the stored reports to the Foreman server is done by
smart-proxy-abrt-send script which is invoked from cron. It reads the
reports, groups them by the host they came from, optionally merges those
with the same error (the satyr gem and library are needed), and sends
them to the Foreman, one report per host, masquerading as a report from
Puppet.

Non strictly ABRT-related changes:
- Move module Proxy::ChefProxy to Proxy::Request
- Add :foreman_ssl_ options to settings example

[1] https://github.com/abrt/abrt/wiki/ABRT-Project

NOTES:
- the aggregation-by-same-crash needs satyr gem (available on rubygems.org, I can provide specfile if needed) and satyr package (available in F19)
- instead of appending the reports to a file, I decided to store each report in individual file in a spool directory - this way we avoid locking completely
- even if you decide not to merge it (for the reasons given in https://github.com/theforeman/smart-proxy/pull/133#issuecomment-34998283 ), I would appreciate any feedback as it will mean less changes in the future when smart-proxy supports plugins and foreman accepts multiple report types