RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1807070 - ldap_uri failover doesn't work with different ports
Summary: ldap_uri failover doesn't work with different ports
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: sssd
Version: 7.9
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Pavel Březina
QA Contact: sssd-qe
URL:
Whiteboard: sync-to-jira
: 1807000 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-02-25 14:52 UTC by Amith
Modified: 2020-09-29 19:50 UTC (History)
12 users (show)

Fixed In Version: sssd-1.16.5-1.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-09-29 19:50:00 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github SSSD sssd issues 5073 0 None closed ldap_uri failover doesn't work with different ports 2020-08-11 00:29:10 UTC
Red Hat Product Errata RHBA-2020:3904 0 None None None 2020-09-29 19:50:24 UTC

Description Amith 2020-02-25 14:52:53 UTC
Description of problem:

This issue is copied from RHEL-8.1 bug 1766962. Looks like this issue existed from rhel version 7.7 onwards except 8.0.0.

We have multiple testcase failures related to failover wherein the list of URI's have different port numbers. These cases worked in RHEL-8.0.0. Following are the cases:
1. ldap uri failover with single server different ports
2. ldap chpass uri failover with single server different ports
3. ldap chpass backup uri failover with single server different ports

Version-Release number of selected component (if applicable):
sssd-1.16.4-37.el7.x86_64

How reproducible:
Always.

Steps to Reproduce:
1. Setup SSSD with any one of the following domain section:

    [domain/LDAP]
    debug_level=0xFFF0
    id_provider = ldap
    ldap_uri = ldap://$SERVER1:12345,ldap://$SERVER1:389
    ldap_tls_cacertdir = /etc/openldap/certs
    ldap_search_base = dc=example,dc=com

OR

    [domain/LDAP]
    debug_level=0xFFF0
    id_provider = ldap
    auth_provider = ldap
    chpass_provider = ldap
    ldap_uri = ldap://$SERVER1
    ldap_chpass_uri = ldap://$SERVER1:12345,ldap://$SERVER1:389
    ldap_tls_cacertdir = /etc/openldap/certs
    ldap_search_base = dc=example,dc=com

OR

    [domain/LDAP]
    debug_level=0xFFF0
    id_provider = ldap
    auth_provider = ldap
    chpass_provider = ldap
    ldap_uri = ldap://$SERVER1
    ldap_chpass_uri = ldap://$SERVER1:12345
    ldap_chpass_backup_uri = ldap://$SERVER1:389
    ldap_tls_cacertdir = /etc/openldap/certs
    ldap_search_base = dc=example,dc=com

2. In the above cases, port 12345 is non-existent in order to allow SSSD to failover to next uri or backup uri. Now restart SSSD service.

3. Run a user login. You will see that user auth fails. SSSD log shows "PORT NOT WORKING" error.


Additional info:

Comment 4 Pavel Březina 2020-02-27 13:52:46 UTC
This needs to be backported to 1.16:
* 08f0159078aa00d04533ca227679e25d64c452e1 - failover: make sure we switch to anoter server if only port differs

Comment 5 Pavel Březina 2020-03-02 10:35:30 UTC
Upstream PR:
https://github.com/SSSD/sssd/pull/996

Comment 7 Pavel Březina 2020-03-05 09:31:24 UTC
* `sssd-1-16`
    * 4b1d1a099d89c5de320d233e57d65ea9484ca205 - failover: make sure we switch to another server if only port differs

Comment 8 Pavel Březina 2020-03-05 16:12:14 UTC
*** Bug 1807000 has been marked as a duplicate of this bug. ***

Comment 12 Amith 2020-05-27 23:15:48 UTC
I see needinfo is still attached to this bug, which is unnecessary at this point.

Comment 13 Amith 2020-05-28 08:12:48 UTC
Verified the bug on SSSD Version : sssd-1.16.5-7.el7.x86_64

The following cases were verified via latest 7.9 FAILOVER regression run: https://beaker.engineering.redhat.com/jobs/4285067

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::   ldap uri failover with single server different ports
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Redirecting to /bin/systemctl stop sssd.service
Redirecting to /bin/systemctl start sssd.service
:: [ 20:07:10 ] :: [   LOG    ] :: Sleeping for 5 seconds
:: [ 20:07:15 ] :: [  BEGIN   ] :: Running 'auth_success puser1 Secret123'
spawn ssh -q -l puser1 localhost echo 'login successful'
puser1@localhost's password: 
Could not chdir to home directory /home/puser1: No such file or directory
login successful
:: [ 20:07:16 ] :: [   PASS   ] :: Command 'auth_success puser1 Secret123' (Expected 0, got 0)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::   Duration: 8s
::   Assertions: 1 good, 0 bad
::   RESULT: PASS (ldap uri failover with single server different ports)


::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::   ldap chpass uri failover with single server different ports
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Redirecting to /bin/systemctl stop sssd.service
Redirecting to /bin/systemctl start sssd.service
:: [ 20:08:03 ] :: [   LOG    ] :: Sleeping for 5 seconds
spawn ssh -o StrictHostKeyChecking=no -l puser1 localhost passwd
puser1@localhost's password: 
Could not chdir to home directory /home/puser1: No such file or directory
Current Password: Secret123
New password: NewPass_123
Retype new password: NewPass_123
Changing password for user puser1.
passwd: all authentication tokens updated successfully.
:: [ 20:08:09 ] :: [  BEGIN   ] :: Running 'auth_success puser1 NewPass_123'
spawn ssh -q -l puser1 localhost echo 'login successful'
puser1@localhost's password: 
Could not chdir to home directory /home/puser1: No such file or directory
login successful
:: [ 20:08:10 ] :: [   PASS   ] :: Command 'auth_success puser1 NewPass_123' (Expected 0, got 0)
modifying entry "uid=puser1,ou=People,dc=example,dc=com"

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::   Duration: 10s
::   Assertions: 1 good, 0 bad
::   RESULT: PASS (ldap chpass uri failover with single server different ports)

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::   ldap chpass backup uri failover with single server different ports
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Redirecting to /bin/systemctl stop sssd.service
Redirecting to /bin/systemctl start sssd.service
:: [ 20:41:36 ] :: [   LOG    ] :: Sleeping for 5 seconds
spawn ssh -o StrictHostKeyChecking=no -l puser1 localhost passwd
puser1@localhost's password: 
Could not chdir to home directory /home/puser1: No such file or directory
Current Password: Secret123
New password: NewPass_123
Retype new password: NewPass_123
Changing password for user puser1.
passwd: all authentication tokens updated successfully.
:: [ 20:41:43 ] :: [  BEGIN   ] :: Running 'auth_success puser1 NewPass_123'
spawn ssh -q -l puser1 localhost echo 'login successful'
puser1@localhost's password: 
Could not chdir to home directory /home/puser1: No such file or directory
login successful
:: [ 20:41:44 ] :: [   PASS   ] :: Command 'auth_success puser1 NewPass_123' (Expected 0, got 0)
modifying entry "uid=puser1,ou=People,dc=example,dc=com"

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::   Duration: 9s
::   Assertions: 1 good, 0 bad
::   RESULT: PASS (ldap chpass backup uri failover with single server different ports)

Comment 15 errata-xmlrpc 2020-09-29 19:50:00 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 (sssd bug fix and enhancement update), 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://access.redhat.com/errata/RHBA-2020:3904


Note You need to log in before you can comment on or make changes to this bug.