qpid's wait-for-port ExecStartPost checks 127.0.0.1 which breaks on IPv6
QPid binds to whatever connectivity is available on an external interface, ignoring lo. This means it's configured to bind to localhost it only binds to ::1 when eth0 is the only interface and IPv6 only. The wait-for-port override connects to 127.0.0.1:$ssl_port and fails.
Since netcat can connect to DNS, the solution is to connect to localhost instead of an IP.
A Bugzilla that describes a similar problem https://bugzilla.redhat.com/show_bug.cgi?id=1055660
Fixes #28672 - Check if qpid is up using localhost
Given a machine that has 127.0.0.1 / ::1 on lo and eth0 has 2001:db::1,
in other works, no IPv4 connectivity, then qpid qpid binds only on IPv6,
even when a host needs to listen on localhost. Since netcat can connect
to either, it is a safe check.
#3 Updated by Ewoud Kohl van Wijngaarden over 1 year ago
- Status changed from Ready For Testing to Closed
Applied in changeset puppet-qpid|2d92c9a51739bc3c947c71260843e88c118ea7fe.