Cluster relation reporting public IP instead of internal network IP on manually added machine
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Triaged
|
Low
|
Unassigned |
Bug Description
We have production services that use the cluster relation to share internal IPs so the systems can connect to one another without the firewall. A relevant function docstring:
"""
Use rsync to push a directory to all configured peers.
Peers are configured in the 'cluster' relationship using
charmhelper
overridden with the peers parameter.
A list of the peers whose transfers were successful will be
returned.
"""
When we manually deployed a new unit, this environment started using the public IP for that instead of the internally-routed one. This is on azure, so the internal network is a sort of virtual thing we define.
This has caused production outage (as cluster members could not connect) and we need discovery of the private IPs without azure's assistance.
description: | updated |
Changed in juju: | |
importance: | Undecided → Medium |
status: | New → Triaged |
summary: |
- Cluster relation reporting public IP instead of internal network IP + Cluster relation reporting public IP instead of internal network IP on + manually added machine |
On review, the symptoms only occur for the manually- provisioned unit in this azure environment. Our suspicion is that codepaths relating to the cluster relation are reporting via a query on the instance-id, and azure is telling juju about the private IP for the original unit but the ID for the manual unit is just manual:<public-ip>, so it derives from that.
This does not, on reflection, appear to be unique to 2.3.7 and may exist in all the 2.x series.