Bug 1104359

Summary: If IPv6 is disabled, then pcsd fails to start
Product: Red Hat Enterprise Linux 7 Reporter: Chris Feist <cfeist>
Component: pcsAssignee: Tomas Jelinek <tojeline>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: medium Docs Contact:
Priority: high    
Version: 7.0CC: cluster-maint, mjuricek, negativo17, rda, rsteiger, sbradley, tojeline
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: pcs-0.9.126-1.el7 Doc Type: Bug Fix
Doc Text:
Cause: IPv6 is disabled. Consequence: Pcsd fails to start. Fix: Fall back to IPv4 if IPv6 is not available. Result: Pcsd starts and listens on IPv4 when IPv6 is disabled.
Story Points: ---
Clone Of:
: 1212060 (view as bug list) Environment:
Last Closed: 2015-03-05 09:19:48 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: 1212060    
Attachments:
Description Flags
proposed fix none

Description Chris Feist 2014-06-03 20:32:13 UTC
Description of problem:
If ipv6 is disabled pcsd fails to start

Version-Release number of selected component (if applicable):
pcs-0.9.115-32.el7.x86_64


How reproducible:
Always

Steps to Reproduce:
1.  Disable ipv6, add ipv6.disable=1 to kernel boot line and reboot
2.  systemctl start pcsd.service

Actual results:
Error starting

Expected results:
No error and pcsd starts

Additional info:
Issue is caused by ':BindAddress => "::"' in /usr/lib/pcsd/ssl.rb, should be '0.0.0.0' if ipv6 is disabled.

Comment 2 Tomas Jelinek 2014-09-01 09:54:30 UTC
Created attachment 933288 [details]
proposed fix

test:

1. Disable ipv6, add ipv6.disable=1 to kernel boot line and reboot
2. Start pcsd service
systemctl start pcsd.service
3. Verify pcsd is running and listening on 0.0.0.0
netstat --inet -anp46 | grep 2224
tcp        0      0 0.0.0.0:2224            0.0.0.0:*               LISTEN      1746/ruby
4. Reboot with ipv6 enabled.
5. Start pcsd service
systemctl start pcsd.service
6. Verify pcsd is running and listening on ::
netstat --inet -anp46 | grep 2224
tcp6       0      0 :::2224                 :::*                    LISTEN      356/ruby

Comment 3 Tomas Jelinek 2014-09-11 12:40:58 UTC
Before Fix:
[root@rh70-node1 ~]# rpm -q pcs
pcs-0.9.115-32.el7.x86_64
[root@rh70-node1 ~]# cat /proc/cmdline | tr ' ' '\n' | grep ipv6
ipv6.disable=1
[root@rh70-node1 ~]# systemctl start pcsd
Job for pcsd.service failed. See 'systemctl status pcsd.service' and 'journalctl -xn' for details.
[root@rh70-node1 ~]# netstat --inet -anp46 | grep 2224

After Fix:
[root@rh70-node1 ~]# rpm -q pcs
pcs-0.9.126-1.el7.x86_64
[root@rh70-node1 ~]# cat /proc/cmdline | tr ' ' '\n' | grep ipv6
ipv6.disable=1
[root@rh70-node1 ~]# systemctl start pcsd
[root@rh70-node1 ~]# echo $?
0
[root@rh70-node1 ~]# netstat --inet -anp46 | grep 2224
tcp        0      0 0.0.0.0:2224            0.0.0.0:*               LISTEN      1835/ruby

Comment 7 errata-xmlrpc 2015-03-05 09:19:48 UTC
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://rhn.redhat.com/errata/RHBA-2015-0415.html