Red Hat Bugzilla – Bug 883548
Qpid HA's '--ha-public-url' option duplicates the '--known-hosts-url' option but cannot be disabled
Last modified: 2013-03-19 12:38:45 EDT
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):
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
The destination broker will attempt to re-connect to the published '--ha-public-url' host instead of the original NAT URL.
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'
Fixed on branch 0.18-mrg-aconway-bz883548-2
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: