Bug 1462255
Summary: | erl_epmd:port_please assumes ipv4 | |||
---|---|---|---|---|
Product: | Red Hat OpenStack | Reporter: | John Eckersberg <jeckersb> | |
Component: | erlang | Assignee: | Peter Lemenkov <plemenko> | |
Status: | CLOSED ERRATA | QA Contact: | pkomarov | |
Severity: | high | Docs Contact: | ||
Priority: | high | |||
Version: | 12.0 (Pike) | CC: | apevec, jeckersb, jschluet, lhh, plemenko, scohen, scorcora | |
Target Milestone: | Upstream M2 | Keywords: | Triaged | |
Target Release: | 12.0 (Pike) | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | erlang-18.3.4.5-4.el7ost | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1536064 (view as bug list) | Environment: | ||
Last Closed: | 2017-12-13 21:32:50 UTC | Type: | Bug | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | ||||
Bug Blocks: | 1536064 |
Description
John Eckersberg
2017-06-16 14:08:02 UTC
You need a IPv6-enabled installation (no need to resolve anything to IPv6 or proper IPv6 routing, or something, just IPv6 addresses configured). [root@myhostname ~]# export ERL_EPMD_ADDRESS=fd00::1 [root@myhostname ~]# export ERL_INETRC=/tmp/inetrc [root@myhostname ~]# echo "{inet6, true}." > /tmp/inetrc Before applying patch: [root@myhostname ~]# erl -sname foo -proto_dist inet6_tcp (foo@myhostname)1> erl_epmd:port_please(foo,myhostname). noport ^^^ This won't let RabbitMQ (or any other Erlang application to form a cluster). After applying patch: (foo@myhostname)1> erl_epmd:port_please(foo,myhostname). {port,35113,5} So it will return proper port after we switch to IPv6. Verified :
(undercloud) [stack@undercloud ~]$ rhos-release -L
Installed repositories (rhel-7.4):
12
rhel-7.4
$ cat core_puddle_version
2017-10-11.5
[root@controller-0 ~]# ip a show enp5s0f0:
2: enp5s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 44:1e:a1:73:39:90 brd ff:ff:ff:ff:ff:ff
inet6 fe80::461e:a1ff:fe73:3990/64 scope link
valid_lft forever preferred_lft forever
[root@controller-0 ~]# export ERL_INET_GETHOST_DEBUG=5
[root@controller-0 ~]# export ERL_EPMD_ADDRESS=fd00::1
[root@controller-0 ~]# export ERL_INETRC=/tmp/inetrc
[root@controller-0 ~]# cat >/root/inetrc<<EOF
{inet6, true}.
EOF
[root@controller-0 ~]# cat >>/etc/hosts<<EOF
> fd00::1 rhel7
EOF
#erlang package ver. >= erlang-18.3.4.5-3.el7ost
[root@controller-0 ~]# rpm -qa|grep erlang
erlang-hipe-18.3.4.5-4.el7ost.x86_64
erlang-tools-18.3.4.5-4.el7ost.x86_64
...
#Actual == Expected results :
[root@controller-0 ~]# erl -sname foo -proto_dist inet6_tcp
inet_gethost[674815] (DEBUG):Saved domainname .
inet_gethost[674815] (DEBUG):Created worker[674816] with fd 3
inet_gethost[674815] (DEBUG):Saved domainname .
inet_gethost[674816] (DEBUG):Worker got request, op = 1, proto = 1, data = controller-0.
inet_gethost[674816] (DEBUG):Starting gethostbyname(controller-0)
inet_gethost[674816] (DEBUG):gethostbyname OK
inet_gethost[674815] (DEBUG):End of file while reading from pipe.
inet_gethost[674815] (DEBUG):Erlang has closed.
Erlang/OTP 18 [erts-7.3.1.3] [source] [64-bit] [smp:12:12] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V7.3.1.3 (abort with ^G)
(foo@controller-0)1> inet:gethostbyname("rhel7").
inet_gethost[675855] (DEBUG):Saved domainname .
inet_gethost[675855] (DEBUG):Created worker[675856] with fd 3
inet_gethost[675855] (DEBUG):Saved domainname .
inet_gethost[675856] (DEBUG):Worker got request, op = 1, proto = 2, data = rhel7.
inet_gethost[675856] (DEBUG):Starting getaddrinfo(rhel7, ...)
inet_gethost[675856] (DEBUG):getaddrinfo returned 0
{ok,{hostent,"rhel7",[],inet6,16,[{64768,0,0,0,0,0,0,1}]}}
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2017:3462 |