gluster / gluster-ansible-cluster

Ansible role to create and deploy a Gluster cluster.
GNU General Public License v3.0
40 stars 24 forks source link

Support for separate management network for setup. #24

Open obnoxxx opened 4 years ago

obnoxxx commented 4 years ago

Currently, the code makes the assumption that the host from which gluster-ansible is run to set up the gluster cluster is connected to the gluster nodes with the same network that is used for gluster communication. This can be seen here: https://github.com/gluster/gluster-ansible-cluster/blob/master/roles/gluster_volume/tasks/main.yml#L7 and here : https://github.com/gluster/gluster-ansible/blob/master/playbooks/gluster-cluster/cluster-vars.yml#L65 .

It would be convenient to allow for those two networks to be separate. I stumbled across this while setting up automation for gluster-samba integration tests in https://github.com/gluster/samba-integration/pull/16. In that scenario I tried to run the gluster-ansible playbook from a setup VM that would only be on the vagrant-libvirt network and not on the cluster network that is created for gluster. I am trying to work around that by adding the setup vm to the cluster network, but it should not be necessary.

I think the tying of the ansible connection to the cluster network is artifical and could be lifted.

obnoxxx commented 4 years ago

@gobindadas @sac - I would like to hear your opinion about this idea :)

sac commented 4 years ago

Michael I haven’t gotten time to look into it closely. Will check.

msounkere commented 4 years ago

@obnoxxx we managed to separate the admin network and the cluster network, commenting out the following lines in in https://github.com/gluster/gluster-ansible-cluster/blob/master/roles/gluster_volume/tasks/main.yml#L7 After a lot of research, I'm not sure why the ansible gluster team did this? Why is it necessary to delegate the configuration to gluster_cluster_hosts vars. Because in many installations cases the gluster_cluster_hosts network is not accessible (ssh) from the admin side.

....
#delegate_to: "{{ item }}"
....
#with_items: "{{ gluster_cluster_hosts }}"