Description of problem: Qpid HA's '--ha-public-url' option will replace the known broker URL list that is exchanged with all clients / federated peers. This is the same behavior that '--known-hosts-url' provides with the exception that it cannot be disabled by specifying 'none' as the URL. As a result, if you federate two brokers over a NATed link, the NAT URL will be replaced by a potentially non-routable '--ha-public-url', which will prevent recovery of the link. Version-Release number of selected component (if applicable): Qpid 0.18 How reproducible: 100% Steps to Reproduce: 1. Federate two HA brokers over a NATed IP address -- ensure that the brokers can only connect over the NATed IP address 2. Interrupt the link Actual results: The destination broker will attempt to re-connect to the published '--ha-public-url' host instead of the original NAT URL. Expected results: The destination broker will attempt to re-connect to the original NAT address if you can disable the '--ha-public-url' option / replace it w/ '--known-hosts-url=none' Additional info:
Fixed on branch 0.18-mrg-aconway-bz883548-2 http://mrg1.lab.bos.redhat.com/cgit/qpid.git/commit/?h=0.18-mrg-aconway-bz883548-2&id=ddc6ef9102c13f1e8964336fee657177625f963d Reverts the previous commit and simplifies the semantics of setting --ha-public-url and --ha-brokers-url. There is no longer any over-riding or implicit updating of values. That means you must set --ha-public-url as well as --ha-brokers-url, it will not be defaulted. Likewise if you *dont* set ha-public-url, it will remain empty, which is the use case in this bug. The defaulting was adding complexity without adding much value.
Additional minor fix on branch 0.18-mrg-aconway-bz883548-2: http://mrg1.lab.bos.redhat.com/cgit/qpid.git/commit/?h=0.18-mrg-aconway-bz883548-2&id=f9fd28dd079e5e4c80f2ecda753d660c6618875f