AnsibleShipyard/ansible-zookeeper — pull request #5 by mhamrah (2014-10-25 01:52:37+00:00)
Title: Supporting RHEL 6 systems

My first attempt was to follow the Mesosphere instructions displayed in #4 but that approach has some shortcomings. First it requires CDH repo which installs a lot of unnecessary dependencies, and the file layout and configuration override has some shortcomings when used with ansible.

Instead it's much easier to use the download-src approach and configure the init files by hand, which is what this repo is doing already. I just had to tweak some settings:

* I had to change the upstart script because setuid is not available in the upstart version on Centos.
* I modified how the zoo.cfg server list was being built to make it easy to use group variables in an inventory for declaring hosts.

You can have:

[mesos_masters]
hostname1 zookeeper_id=1
hostname2 zookeeper_id=2

and in your role have:

- { role: './librarian_roles/ansible-zookeeper', zookeeper_hosts: "{{ groups.mesos_masters}}", tags:['zookeeper'] }

No need to build/maintain a separate array.

Need to test on Ubuntu, but I think the su thing will work.