[Bugs] [Bug 1484720] New: glusterfs prefers/uses IPv6 when IPv6 is disabled, cannot connect to glusterd
bugzilla at redhat.com
bugzilla at redhat.com
Thu Aug 24 08:22:41 UTC 2017
https://bugzilla.redhat.com/show_bug.cgi?id=1484720
Bug ID: 1484720
Summary: glusterfs prefers/uses IPv6 when IPv6 is disabled,
cannot connect to glusterd
Product: GlusterFS
Version: 3.11
Component: selfheal
Assignee: bugs at gluster.org
Reporter: zdenek.styblik at gmail.com
CC: bugs at gluster.org
Description of problem:
We did upgrade from 3.7.x to 3.11.x. However, we've found out that glusterfs
prefers/uses IPv6 when IPv6 lookup of "localhost" is found in /etc/hosts.
> 1.2.3.4 gfs01.example.com gfs01
> xxx:xxx:xx:::x gfs01.example.com gfs01
Unfortunately, when IPv6 is disabled like so:
> net.ipv6.conf.all.disable_ipv6 = 1
glusterfs won't be able to connect, because IP address cannot and won't be
assigned. However, note that IPv6 is configured at eth interface. This leads to
errors in log from which, unless running with debug, you cannot determine what
the problem is.
> [2017-08-22 10:42:17.099153] D [MSGID: 0] [common-utils.c:327:gf_resolve_ip6] 0-resolver: returning ip-xxx:xxx:xx:::x (port-24007) for hostname: gfs01.example.com and port: 24007
> [2017-08-22 10:42:17.099202] E [socket.c:3287:socket_connect] 0-backup_gluster-client-3: connection attempt on 1.2.3.4:24007 failed, (Cannot assign requested address)
> [2017-08-22 10:42:17.099219] D [socket.c:2449:socket_event_handler] 0-transport: connect failed with some other error than EINPROGRESS or ENOENT, so nothing more to do; disconnecting socket
> [2017-08-22 10:42:17.099228] D [socket.c:686:__socket_shutdown] 0-backup_gluster-client-3: shutdown() returned -1. Transport endpoint is not connected
> [2017-08-22 10:42:17.099233] D [socket.c:733:__socket_disconnect] 0-backup_gluster-client-3: __socket_teardown_connection () failed: Transport endpoint is not connected
> [2017-08-22 10:42:17.099236] D [socket.c:2474:socket_event_handler] 0-transport: EPOLLERR - disconnecting now
This issue wasn't present in 3.7.x. Also, this shouldn't be happening, although
I don't have universal solution for all platforms. One of the solutions could
be to try to connect all, IPv4 and IPv6, addresses returned from the lookup.
Also, notice that log messages do contain IPv6 and IPv4 addresses of the host
which can be misleading.
Version-Release number of selected component (if applicable):
3.11.3-1 at Debian Jessie
How reproducible:
Steps to Reproduce:
0. Note - we were doing upgrade from 3.7.x and already had cluster with volumes
1. Install Debian Jessie
2. Have IPv4 and IPv6 entries in /etc/hosts for the server as written above
3. install and start glusterd
4. create GFS volumes
5. glusterfs shouldn't be able to connect to glusterd
6. try to restart glusterd and all gluster processes, if glusterfs was able to
connect
Actual results:
glusterfs is unable to connect to glusterd, because IPv6 is disabled in the
system.
Expected results:
glusterfs is able to connect to glusterd regardless whether lookup of
gfs01.example.com returns IPv6 as well or not, resp. as it used to work in
3.7.x.
Additional info:
Workaround is to comment out IPv6 entry from /etc/hosts for "localhost".
--
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
More information about the Bugs
mailing list