I believe the scenario to recreate this would be to first deploy x nova-cloud-controller units in which the nova-cloud-controller is providing the neutron-api endpoint. When the dust settles from that phase, you'll have haproxy configuration for the local nova-cloud-controller.
Next, mix in the relation for the neutron-api w/ the nova-cloud-controller and the haproxy configuration should no longer contain the neutron-api configuration information in its own haproxy configuration since the nova-cloud-controller is no longer hosting that service.
Regarding using the is_relation_made method vs the relation_ids; I'm not entirely sure that splitting hairs on is_relation_made vs relation_ids is necessary since the default key set for is_relation_made is private-address which is part of the juju relation setup (afaiui) and as such if relation_ids exist then its likely the relation is made.
I believe the scenario to recreate this would be to first deploy x nova-cloud- controller units in which the nova-cloud- controller is providing the neutron-api endpoint. When the dust settles from that phase, you'll have haproxy configuration for the local nova-cloud- controller.
Next, mix in the relation for the neutron-api w/ the nova-cloud- controller and the haproxy configuration should no longer contain the neutron-api configuration information in its own haproxy configuration since the nova-cloud- controller is no longer hosting that service.
Regarding using the is_relation_made method vs the relation_ids; I'm not entirely sure that splitting hairs on is_relation_made vs relation_ids is necessary since the default key set for is_relation_made is private-address which is part of the juju relation setup (afaiui) and as such if relation_ids exist then its likely the relation is made.