Bug 848414

Summary: portreserve breaks RHDS
Product: Red Hat Enterprise Linux 6 Reporter: Jason Montleon <jmontleo>
Component: portreserveAssignee: Tim Waugh <twaugh>
Status: CLOSED ERRATA QA Contact: qe-baseos-daemons
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.3CC: bugzilla_rhn, gspurgeon, lpol, mchappel, psklenar, tscherf
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: portreserve-0.0.4-10.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-05-11 00:37:26 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: 1254457, 1269889    

Description Jason Montleon 2012-08-15 14:11:20 UTC
Description of problem:
If portreserve is installed Red Hat Directory Server can not bind to port 636.

Version-Release number of selected component (if applicable):
rpm -qa | grep -e redhat-ds -e 389 -e portreserve | sort
389-admin-1.1.25-1.el6.x86_64
389-admin-console-1.1.8-1.el6.noarch
389-admin-console-doc-1.1.8-1.el6.noarch
389-adminutil-1.1.14-1.el6.x86_64
389-console-1.1.7-1.el6.noarch
389-ds-base-1.2.10.2-20.el6_3.x86_64
389-ds-base-libs-1.2.10.2-20.el6_3.x86_64
389-ds-console-1.2.6-1.el6.noarch
389-ds-console-doc-1.2.6-1.el6.noarch
portreserve-0.0.4-9.el6.x86_64
redhat-ds-9.0.0-1.el6.x86_64
redhat-ds-admin-9.0.0-0.2.el6.x86_64
redhat-ds-base-9.0.0-0.17.el6dsrv.x86_64
redhat-ds-console-9.0.0-1.el6.noarch
redhat-ds-console-doc-9.0.0-1.el6.noarch

How reproducible:
Always

Steps to Reproduce:
1. Install something that now requires portreserve (openldap, bind, dhcp, rsyslog, vsftpd, quota, etc.)
2. Install RHDS 9
3. Try to start the dirsrv service
  
Actual results:
[root@ldap02 ~]# service dirsrv start
Starting dirsrv: 
    userdev...[15/Aug/2012:10:05:34 -0400] createprlistensockets - PR_Bind() on All Interfaces port 636 failed: Netscape Portable Runtime error -5982 (Local Network address is in use.)
                                                           [FAILED]
  *** Warning: 1 instance(s) failed to start


Expected results:
service dirsrv start
Starting dirsrv: 
    userdev...                                             [  OK  ]

Additional info:
Stopping and disabling portreserve fixes the problem. This is especially bad because it looks like portreserve was only just recently added as a dependency for several packages (790682, 790683, 790684, 790686, 790687, 790690), it is installed enabled by default, and then unexpectedly breaks RHDS on a reboot or service restart where it has been running fine for several months.

Comment 2 Tim Waugh 2012-08-15 15:58:00 UTC
What do these commands say?:

ls -u /etc/portreserve/
cat /etc/portreserve/*

Comment 3 Jason Montleon 2012-08-15 16:09:35 UTC
[root@ldap02 ~]# ls -u /etc/portreserve/
slapd
[root@ldap02 ~]# cat /etc/portreserve/*
ldaps

which rpm tells me is owned by openldap-servers, so I guess this comes down to the combination. Still prior to the updates pulling in portreserve having openldap-servers installed was no issue (and it did one or two convenient things, set up ldap user for example)

Comment 4 Tim Waugh 2012-08-16 15:58:37 UTC
openldap bug ID added to 'see also'.

Options are:
1. Revert the openldap change
2. Have openldap and RHDS conflict with one another
3. Modify portreserve to allow applications to have overlapping ports, and add a portreserve configuration file to RHDS

Comment 5 RHEL Program Management 2012-09-07 05:25:38 UTC
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unable to address this
request at this time.

Red Hat invites you to ask your support representative to
propose this request, if appropriate, in the next release of
Red Hat Enterprise Linux.

Comment 6 Douglas Furlong 2013-05-16 13:21:44 UTC
Hi, 

Could I confirm the proposed solution that was to be included in the current release of RHEL?

Personally, I think I would go with Option 3 (modify portreserve), as opposed to option 2.

Comment 10 Tim Waugh 2016-01-12 14:34:19 UTC
The solution involves two parts:
1. portreserve allowing overlapping ports
2. RHDS ships an /etc/portreserve/rhds file containing 'ldaps'

This bug tracks part 1. Please track part 2 separately.

Comment 12 Tim Waugh 2016-01-12 14:43:09 UTC
Note, RHDS will also need to call 'portrelease rhds' on start-up before binding ports.

Comment 15 errata-xmlrpc 2016-05-11 00:37:26 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-2016-0919.html