Metaswitch/clearwater-docker

'clearwater-auto-config-docker' Service Stores Ingress Network IP in local_config in Swarm Mode

Opened this issue · 1 comments

Symptoms

When deploying clearwater images in docker swarm, the local_config file is updated by clearwater-auto-config-docker service (by the following code: ip=$(hostname -I | sed -e 's/\(^\|^[0-9A-Fa-f: ]* \)\([0-9.][0-9.]*\)\( .*$\|$\)/\2/g' -e 's/\(^\)\(^[0-9A-Fa-f:]*\)\( .*$\|$\)/\2/g')) with ingress network IPs instead of overlay network IP because of the position of the IP after running hostname -I command.

Impact

This prevents clearwater-cluster-manager and component services (e.g. ellis, bono, ...) from starting and communicating.

Release and environment

Environment: VMs in OpenStack environment, ubuntu 16.04 OS

Steps to reproduce

1- Initialize swarm and join nodes
2- Create an overlay network
3- Create docker services using the overlay network
4- Check /etc/clearwater/local_config file. It is updated with ingress network IPs because of its position in hostname -I command.


By manually changing the IPs in local_config files in each container and restarting services result in successful live tests.

Hi Muhammad,

Thanks for raising this issue. Deploying on docker swarm hasn't been a priority for us, with us instead focussing on Kubernetes as our platform of choice for deploying across multiple nodes (see the README). It's great to hear that you are using it though and having some success!

If swarm support is important to you and you'd like to submit a Pull Request that would be great. Please see http://www.projectclearwater.org/community/ for details on how to contribute.

Thanks,

Mat