A Brief Review of Ansible Redis Modules
By Jesse Morgan
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.
I’ll have to re-evaluate, probably based on “most downloaded.”