Sentry and Ansible, process and thoughts

Oct 6, 2015 min read

At Selltag we have been migrating some services to have a more organized environment. It has been the perfect moment to configure and document the servers deploy using Ansible. The example code is on Github.

Ansible is a great and simple way of managing systems, manual changes to servers are over, you can have all systems configuration documented and under version control easily with It.

When I first started using Ansible I realised of Its power, managing/configuring systems is not an easy task, and every tool helping to save time and money is more than welcome.

At selltag we have been using Sentry since the beginning, a great way of controlling errors in any part of your services, with support for many programming languages.

Sentry deploy

We use different community roles from the Galaxy(the Ansible community roles repository) to deploy Sentry in ubuntu/trusty64.

Here my requirements.yml for Ansible:

---

- src: Ansibles.build-essential

- src: Stouts.foundation

- src: Stouts.python

- src: Stouts.postfix

- src: https://github.com/javaguirre/postgresql.git

- src: https://github.com/javaguirre/Stouts.sentry.git

At the beginning I tried to deploy using MySQL as the database, but we were blocked in an issue that doesn’t seem to be fixed soon.

No problem! We’ll use postgresql instead, we were happy with It anyway. :-)

Using Postgres, the Ansible role gave me some small problems, I think It might be a role problem. The configuration directory for the cluster wasn’t created, and I needed to add a couple of fixes for It to work well with my configuration.

We had another problem related to Sentry, We needed a certain version of django-jsonfield for It to work, but once we had that sorted out, everything went well. :-)

The code is on Github.