How to test ABRT reports in Foreman

This is a mini-guide to using Foreman with ABRT. Experimental branch of
smart-proxy that is able to receive ABRT uReports and forward them as a
Puppet report to Foreman is available at
https://github.com/mmilata/smart-proxy/tree/abrtproxy

  • Managed machine assumptions:

    • Machine managed by Foreman via Puppet.
    • Fedora 19 or 20 installed.
    • SELinux disabled (prevents ABRT from reading Puppet certificates,
      there's a bug report open for this).
    • libreport-2.1.12 or higher (currently in updates-testing in f19,
      stable in f20; in rhel7 2.1.11-5 can be used)
  • Configure the smart-proxy. Please note that the provided git branch is
    proof-of-concept and the configuration may change in the future
    version. Your /etc/foreman-proxy/settings.yml should contain:

    URL of your foreman instance

    :foreman_url: https://f19-foreman.virtnet

    certificates used for communication with foreman

    :foreman_ssl_ca: /var/lib/puppet/ssl/certs/ca.pem
    :foreman_ssl_cert: /var/lib/puppet/ssl/certs/f19-smartproxy.virtnet.pem
    :foreman_ssl_key: /var/lib/puppet/ssl/private_keys/f19-smartproxy.virtnet.pem

    enable ABRT proxy

    :abrtproxy: true

    the proxy can optionally forward the ureport to an actual ABRT server

    if the following options are set

    #:abrt_server_url: http://127.0.0.1:12345/faf
    #:abrt_server_ssl_noverify: true
    #:abrt_server_ssl_cert: /tmp/client_cert.pem
    #:abrt_server_ssl_key: /tmp/client_key.pem

  • Configure ABRT/libreport on the managed host -
    /etc/libreport/plugins/ureport.conf should contain following:

    URL of your foreman-proxy, with /abrt path

    URL = https://f19-smartproxy.virtnet:8443/abrt

    do not verify server certificate

    SSLVerify = no

    this asks puppet config for the path to the ceritificates, you can

    explicitly provide path by using /path/to/cert:/path/to/key as the

    right hand side

    SSLClientAuth = puppet

  • Enable autoreporting:

    abrt-auto-reporting enabled

  • Ensure that ABRT is running:

    systemctl start abrtd

    systemctl start abrt-ccpp

  • Crash something. We have a set of utilities in Fedora repo for this
    purpose:

    yum -y install will-crash

    $ will_segfault
    Will segfault.
    Segmentation fault (core dumped)

  • After a couple of seconds you should be able to see a report in
    Foreman with one failed resource and a log message briefly describing
    the crash.

Hopefully I didn't skip anything.
Martin

Thank you, I tested this and it works.

On my Fedora 20 minimal installation I just had to do this:

yum -y install abrt abrt-addon-ccpp abrt-python

This e-mail is a great start for our documentation. I can write one once
your patch is accepted.

··· -- Later,

Lukas “lzap” Zapletal
irc: lzap #theforeman