Archive for November, 2016

I’m currently investigating the best ansible module to manage redis for my server. The good news is that ansible galaxy has plenty of options; the bad news is that most of them are terrible. This is my first attempt to find the best of the bunch.

For the sake of simplicity, I’m limiting my search to roles that support Enterprise_Linux (e.g. Redhat, Centos, etc). In addition, I’m going to be examining the github repos rather than the galaxy entries.

It’s important to note that I’m not judging the authors, only their usefulness to me.

https://github.com/hostclick/redis

Last Commit: Sept 15th, 2015

Commits: 2 Contributors: 1

Branches: 1 Releases: 0

Pros:

Default values used

Remi repo used

config templatized

vars used

Cons

Installs its own Remi repo config

docker stuff included

extensive template hardcodeds content

README example is limited.

https://github.com/jtyr/ansible-redis

Last Commit: May 25th, 2016

Commits: 15 Contributors: 3

Branches: 1 Releases: 0

Redis versions supported explicity: 2.4, 2.6, 2.8

Pros:

Extensive defaults

simple tasks and template

Estensive README

Cons:

overly simplistic module, complex variables

uses default redis package

https://github.com/officel/ansible-role-redis

Last Commit: September 8th, 2016

Commits: 5 Contributors:1

Branches: 1 Releases: 0

Pros:

includes spec file

enables remi and epel repos

Cons:

includes docker for tests

doesn’t include repos as requirements

https://github.com/sbaerlocher/ansible.redis

Last Commit: September 27th, 2016

Commits: 7 Contributors: 1

Branches: 1 Releases: 3

Pros:

Good Defaults

Excellent README

multilayer vars configuration

includes test playbook and inventory

Supports multiple distributions

Cons:

complex vars configuration

default packages only, no repo support

https://github.com/AerisCloud/ansible-redis

Last Commit: June 20th, 2016

Commits: 5 Contributors: 3

Branches: 1 Releases: 3

Pros:

includes good repo dependencies

Cons:

Poor defaults

Bad formatting with redirects

Bad README

https://github.com/mrlesmithjr/ansible-redis

Last Commit: June 7th, 2016

Commits: 18 Contributors: 1

Branches: 1 Releases: 0

Pros:

includes performance tweaks

Cons:

includes docker file

bad defaults

mentions epel, no include or dependencies

no repo dependencies

Poor vars

https://github.com/dgnest/ansible-role-redis

Last Commit: March 10th, 2016

Commits: 36 Contributors: 1

Branches: 2 Releases: 6

Pros:

includes build status

Cons:

No repo dependencies

Weird tasks layout

Configuration not really EL specific (more debian than Redhat)

Results

Wow…. that was, uh, painful. The good news is a lot of them are still active, though the number of commits is relatively low. across the board. The low commit numbers could mean one of two things:

Ansible roles are easy to get right the first time, or

they’re slapped together and not really polished.

There’s a few we can rule out straight away: mrlesmithjr, dgnest, AerisCloud- there just wasn’t a lot of useful content.

That leaves hostclick, jtyr, officel, and sbaerlocher with useful content. I think the right answer will be to roll my own taking parts from each. I’ll give it a closer look tomorrow.

Update: AAAND I feel dumb. I didn’t notice during my first search that those were the first 10 results- 3 rows of 3 and one row of 1 made it look like that was the end of the list.