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

Reply via email to