Bug 698219

Summary: Uninstalling ipa-client fails, if it joined replica when being installed
Product: Red Hat Enterprise Linux 6 Reporter: Namita Soman <nsoman>
Component: ipaAssignee: Rob Crittenden <rcritten>
Status: CLOSED ERRATA QA Contact: Chandrasekar Kannan <ckannan>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.1CC: benl, dpal, jgalipea
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ipa-2.1.0-1.el6 Doc Type: Bug Fix
Doc Text:
Cause: Apache needed to talk to 389-ds early during startup and if that communication failed then Apache would need to be restarted. Consequence: This race condition could make a restarted IPA server unavailable. Fix: Apache was trying to retrieve the LDAP schema a startup. This is now done as needed instead of at startup and it is also recoverable, so if it fails it will try again with the next request instead of simply not responding. Result: The Apache server should be more robust and better handle LDAP availability issues.
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-12-06 18:21:48 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
/var/log/httpd/error_log from replica none

Description Namita Soman 2011-04-20 13:04:51 UTC
Description of problem:
In a Master-Replica env, install client specifying --server to refer to the replica. Uninstalling this client, then fails with:
Unenrolling host failed: RPC failed at server.  an internal error has occurred

Errors in httpd logs attached.

Version-Release number of selected component (if applicable):
ipa-client-2.0.0-21.el6.x86_64
ipa-server-2.0.0-21.el6.x86_64

How reproducible:
always

Steps to Reproduce:
1. install master and replica
2. install client as:
 ipa-client-install --server=<replica server> --domain=testrelm


  
Actual results:
Uninstall fails with:
Unenrolling host failed: RPC failed at server.  an internal error has occurred

Expected results:
Uninstall should be successful

Additional info:

Comment 1 Namita Soman 2011-04-20 13:08:13 UTC
Created attachment 493482 [details]
/var/log/httpd/error_log from replica

Comment 3 RHEL Program Management 2011-04-21 06:00:27 UTC
Since RHEL 6.1 External Beta has begun, and this bug remains
unresolved, it has been rejected as it is not proposed as
exception or blocker.

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

Comment 4 Dmitri Pal 2011-04-25 16:45:22 UTC
https://fedorahosted.org/freeipa/ticket/1190

Comment 5 Rob Crittenden 2011-05-11 18:11:14 UTC
The replica wasn't actually accepting requests because it hadn't started up properly. It wasn't able to retrieve the LDAP schema:

[Wed Apr 20 08:00:33 2011] [error] ipa: ERROR: Failed to start IPA: Unable to retrieve LDAP schema: Invalid credentials: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure.  Minor code may provide more information (Permission denied)
[Wed Apr 20 08:00:33 2011] [error] ipa: ERROR: Failed to start IPA: Unable to retrieve LDAP schema: Invalid credentials: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure.  Minor code may provide more information (Permission denied)

The bug is really: do not accept requests if the LDAP schema is not retrieved.

Comment 6 Rob Crittenden 2011-06-08 20:06:36 UTC
Fixed in ticket https://fedorahosted.org/freeipa/ticket/583

master: 868d4e734ed0f22221f25a1067fbf57141b64c21

We now do lazy LDAP schema retrieval on a per-request basis if it hasn't yet been retrieved. This eliminates some of the timing problems we saw and removes the need to restart Apache to fix.

Comment 8 Namita Soman 2011-10-18 13:03:54 UTC
Verified using steps above, and using ipa-client-2.1.2-2.el6.x86_64, ipa-server-2.1.2-2.el6.x86_64

Comment 9 Rob Crittenden 2011-10-31 18:17:37 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause: Apache needed to talk to 389-ds early during startup and if that communication failed then Apache would need to be restarted.
Consequence: This race condition could make a restarted IPA server unavailable.
Fix: Apache was trying to retrieve the LDAP schema a startup. This is now done as needed instead of at startup and it is also recoverable, so if it fails it will try again with the next request instead of simply not responding.
Result: The Apache server should be more robust and better handle LDAP availability issues.

Comment 10 errata-xmlrpc 2011-12-06 18:21: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.

http://rhn.redhat.com/errata/RHSA-2011-1533.html