Containerized rabbitmq on multinode on ipv6 cannot work
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
tripleo |
Fix Released
|
High
|
Michele Baldessari |
Bug Description
The error will be the following:
ERROR: epmd error for host overcloud-rabbit-0: address (cannot connect to host/port)
In /etc/hosts:
[root@overcloud
fd00:fd00:
::::::::::::::
/etc/rabbitmq/
::::::::::::::
NODE_IP_ADDRESS=
NODE_PORT=
RABBITMQ_
RABBITMQ_
RABBITMQ_
ve>>}]"
RABBITMQ_
export ERL_EPMD_
::::::::::::::
/etc/rabbitmq/
::::::::::::::
[default]
port = 15672
The reason here is that erlang does a mixed ipv4/ipv6 lookup and since stock centos/rhel 7 has systemd-myhostname in the NSS lookup the following will happen:
- rabbitmq will erroneously try to resolve one of its names and myhostname nss will return an ipv4 address of the server
- it will then try to use that to connect and fail
The proper fix here is to fix erlang/rabbitmq to use correct ipv6 lookups and not mixed ones. The fix had to happen on three layers
1) Erlang -> https:/
2) puppetlabs-rabbitmq -> https:/
3) puppet-tripleo -> https:/
Changed in tripleo: | |
status: | Triaged → In Progress |
https:/ /review. openstack. org/#/c/ 475457/ is the last review needed to get in.