'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