I'm also starting to wonder about the semantics of "public-address" here.
I could be totally off, but from my reading of code/comments in state/unit.go and state/machine.go public addresses of machines are derived from a) what the provider thinks the machines' address should be, and b) what the machine itself thinks its address should be.
The latter IMHO is a questionable source of truth for this purpose. In the face of multihoming, failover, virtual ip addresses, NATting, tunnels &c. a machines' idea of how it should be reached can be irrelevant and actually highly misleading. IMHO this shouldn't factor into the decision on how a machine should be addressed at all.
I'm also starting to wonder about the semantics of "public-address" here.
I could be totally off, but from my reading of code/comments in state/unit.go and state/machine.go public addresses of machines are derived from a) what the provider thinks the machines' address should be, and b) what the machine itself thinks its address should be.
The latter IMHO is a questionable source of truth for this purpose. In the face of multihoming, failover, virtual ip addresses, NATting, tunnels &c. a machines' idea of how it should be reached can be irrelevant and actually highly misleading. IMHO this shouldn't factor into the decision on how a machine should be addressed at all.