Bug 1219902

Summary: [RFE] qdrouterd should listen to ipv6
Product: Red Hat Satellite Reporter: sthirugn <sthirugn>
Component: InstallationAssignee: Ewoud Kohl van Wijngaarden <ekohlvan>
Status: CLOSED WONTFIX QA Contact: Katello QA List <katello-qa-list>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.1.0CC: bkearney, carl, ekohlvan, gkeegan, gkonda, jnordell, jsherril, kbidarka, lpramuk, Nishit.J.Patel, rraghuwa, rvdwees, sauchter, stbenjam, swa, t.h.amundsen, tomckay, vcojot, vogt
Target Milestone: UnspecifiedKeywords: FutureFeature
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
URL: http://projects.theforeman.org/issues/12386
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-09-04 19:21:02 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: 1200095    

Description sthirugn@redhat.com 2015-05-08 16:15:58 UTC
Description of problem:
qdrouterd should listen to ipv6

Version-Release number of selected component (if applicable):
Satellite 6.1 GA Snap 3 Compose 2

How reproducible:
Always

Steps to Reproduce:
1. In satellite:1 qdrouterd is listening only in tcp and not in tcp6. see below

# netstat -tlpn | grep qdrouterd
tcp        0      0 0.0.0.0:5646            0.0.0.0:*               LISTEN      27324/qdrouterd     
tcp        0      0 0.0.0.0:5647            0.0.0.0:*               LISTEN      27324/qdrouterd  


Actual results:
Sometimes content-hosts are trying to connect to qdrouterd using ipv6 and fails

Expected results:
qdrouterd in satellite should listen to ipv6 as well.

Additional info:

Comment 2 Justin Sherrill 2015-11-03 19:33:31 UTC
related qdrouterd issue

https://issues.apache.org/jira/browse/DISPATCH-190

Comment 3 Justin Sherrill 2015-11-03 20:40:34 UTC
Created redmine issue http://projects.theforeman.org/issues/12386 from this bug

Comment 4 Bryan Kearney 2015-11-03 21:02:29 UTC
Upstream bug component is WebUI

Comment 5 Jonas Nordell 2016-05-11 19:29:43 UTC
If the "listener" in /etc/qpid-dispatch/qdrouterd.conf is changed from 

listener {
    addr: 0.0.0.0
    port: 5647
    sasl-mechanisms: ANONYMOUS
    ssl-profile: server
}

to

listener {
    addr: ::
    port: 5647
    sasl-mechanisms: ANONYMOUS
    ssl-profile: server
}

It seems to me that it will open a IPv6 dualsocket? Answering both IPv6 and IPv4

qdrouterd 14385     qdrouterd    8u  IPv6 9958453      0t0  TCP [2001:470:28:82e:5054:ff:fe70:753f]:5647->[2001:470:28:82e:5054:ff:fe7b:b0e1]:53172 (ESTABLISHED)

qdrouterd 14385     qdrouterd    9u  IPv6 9957171      0t0  TCP 192.168.0.5:5647->192.168.0.5:45640 (ESTABLISHED)

Comment 6 Bryan Kearney 2016-07-26 15:25:24 UTC
Moving 6.2 bugs out to sat-backlog.

Comment 7 Bryan Kearney 2016-07-26 15:45:20 UTC
Moving 6.2 bugs out to sat-backlog.

Comment 10 Lukas Pramuk 2017-06-29 11:23:19 UTC
Workaround in comment#5 is nice but won't survive next installer run
as installer resets addr: from "::" to "0.0.0.0"

Comment 11 Ewoud Kohl van Wijngaarden 2017-10-03 20:56:45 UTC
We can easily change https://github.com/Katello/puppet-foreman_proxy_content/blob/2cfba42ae5297a4a7a1b58804213ec5dc867c184/manifests/params.pp#L23 and https://github.com/Katello/puppet-foreman_proxy_content/blob/2cfba42ae5297a4a7a1b58804213ec5dc867c184/manifests/params.pp#L27 to "::". It might be needed to also create a migration in the installer to change it in answer files.

My question is if listening to "::" rather than "0.0.0.0" will always work or if we need to check the ipaddress6 fact to check if an IPv6 address is present.

Comment 12 Satellite Program 2017-10-30 14:17:56 UTC
Upstream bug assigned to ekohlvan

Comment 13 Satellite Program 2017-10-30 14:18:01 UTC
Upstream bug assigned to ekohlvan

Comment 14 Lukas Pramuk 2017-11-07 12:41:00 UTC
Ewoud,

I answer your question by another question, how is it already done for qpidd ? (5671/tcp and 5672/tcp) 
Grepping listening ports shows us that qpidd is already IPv6 ready while qdrouterd is not, only IPv4 (5646/tcp and 5647/tcp)

# netstat -plnt | grep /q.*d
tcp        0      0 0.0.0.0:5646            0.0.0.0:*               LISTEN      13427/qdrouterd     
tcp        0      0 0.0.0.0:5647            0.0.0.0:*               LISTEN      13427/qdrouterd     
tcp        0      0 127.0.0.1:5671          0.0.0.0:*               LISTEN      13407/qpidd         
tcp        0      0 127.0.0.1:5672          0.0.0.0:*               LISTEN      13407/qpidd         
tcp6       0      0 ::1:5671                :::*                    LISTEN      13407/qpidd         
tcp6       0      0 ::1:5672                :::*                    LISTEN      13407/qpidd

Comment 15 Bryan Kearney 2018-09-04 19:21:02 UTC
Thank you for your interest in Satellite 6. We have evaluated this request, and we do not expect this to be implemented in the product in the foreseeable future. We are therefore closing this out as WONTFIX. If you have any concerns about this, please feel free to contact Rich Jerrido or Bryan Kearney. Thank you.