StackStorm / ansible-st2

Ansible Roles and Playbooks to deploy StackStorm
https://galaxy.ansible.com/StackStorm/stackstorm/
Apache License 2.0
100 stars 75 forks source link

Migrate to 3rd party Ansible Galaxy role dependencies #229

Open peschmae opened 5 years ago

peschmae commented 5 years ago

Currently this repository contains 14 roles (2 of them smoketest roles), of which 6 are for services/tools which have other commonly used Ansible roles available.

To decrease the complexity of maintaining this project, I like to propose to drop the following roles, and replace them with roles already in use by the Ansible community.

Getting rid of these custom roles, would also help to make sure that settings for 3rd-party services (e.g. postgresql) are only used by reference from a variable, and not interacted with directly, which in turn allows easier integration into an existing Ansible platform for new users/customers.

I like to propose the following roles as a replacement.

All these roles provide at least the same os compatibility than the current stackstorm roles. I'm not maintainer of any of these roles, but used all of them extensively across multiple distributions.

If this is a way you are interested in going forward with, I'm would create a pull request (or maybe one per role) to go forward with such a change.

arm4b commented 5 years ago

It's arguable that moving to 3rd party instead of well-established existing roles will make support easier as we follow pretty simplified instructions of installing dependent services which are almost the same across many of our installations like https://docs.stackstorm.com/install/deb.html and https://github.com/StackStorm/st2-packages/blob/master/scripts/st2bootstrap-deb.sh. This way adding a change in one installation we know where to change in other installations as well. Another point is that all-purpose-roles will configure much more non-defaults than we expect. That might lead to diffs, not to forget about increased complexity and install runtime. In context of https://github.com/StackStorm/ansible-st2/issues/190 one of the concerns would be to control the Ansible versioning requirements drift across all the dependencies vs in-house ST2 roles. We even tried to use a couple of Galaxy dependencies in the past but with time their upstream changes went incompatible with what we needed.

Anyway, thanks for the proposal. I think this is a good call! Years ago when this repo was developed Ansible galaxy missed roles which would work on all 4 of our OS platforms. It's a good thing to reconsider and rely on 3rd party roles and a broader community.

We might not be able to accept this change immediately, but I agree it's a way forward for this repo in the future :+1:

ytjohn commented 5 years ago

Related #45

arm4b commented 5 years ago

I think as a first step would be good to see 3rd party mongodb role integration as a PoC PR to get a feeling of it.

That might also help in future @cognifloyd's efforts with https://github.com/StackStorm/ansible-st2/issues/75 improving mongo auth.