Skip to content

TESTING only#8696

Draft
justin-stephenson wants to merge 39 commits into
SSSD:failoverfrom
justin-stephenson:failover_justin_port_all_providers
Draft

TESTING only#8696
justin-stephenson wants to merge 39 commits into
SSSD:failoverfrom
justin-stephenson:failover_justin_port_all_providers

Conversation

@justin-stephenson
Copy link
Copy Markdown
Contributor

No description provided.

justin-stephenson and others added 19 commits May 5, 2026 10:31
…pec file

Add the sssd-minimal provider package to the spec file following the
same pattern as other providers (ldap, ipa, ad, etc.). This packages
the libsss_minimal.so library that was added in recent commits.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
And also disable codeql for the minimal provider. The
provider is for testing only, it does not make sense to
fix any issue there.
This crafts and implements the new failover interface,
it does not provide complete implementation of the failover
mechanism yet. It brings the code to a state were the public
and private interfaces are stable, working and testable so
the following tasks can be split and work on in parallel.

What is missing at this state:
- server configuration and discovery
  (failover_server_group/batch/vtable_op)
- server selection mechanism (sss_failover_vtable_op_server_next)
- kerberos authentication
- sharing servers between IPA/AD LDAP and KDC
- online/offline callbacks (resolve callback should not be needed)

But especially it is possible to start refactoring SSSD code to start
using the new failover implementation.
This crafts and implements the new failover interface,
it does not provide complete implementation of the failover
mechanism yet. It brings the code to a state were the public
and private interfaces are stable, working and testable so
the following tasks can be split and work on in parallel.

What is missing at this state:
- server configuration and discovery
  (failover_server_group/batch/vtable_op)
- server selection mechanism (sss_failover_vtable_op_server_next)
- kerberos authentication
- sharing servers between IPA/AD LDAP and KDC
- online/offline callbacks (resolve callback should not be needed)

But especially it is possible to start refactoring SSSD code to start
using the new failover implementation.
This crafts and implements the new failover interface,
it does not provide complete implementation of the failover
mechanism yet. It brings the code to a state were the public
and private interfaces are stable, working and testable so
the following tasks can be split and work on in parallel.

What is missing at this state:
- server configuration and discovery
  (failover_server_group/batch/vtable_op)
- server selection mechanism (sss_failover_vtable_op_server_next)
- kerberos authentication
- sharing servers between IPA/AD LDAP and KDC
- online/offline callbacks (resolve callback should not be needed)

But especially it is possible to start refactoring SSSD code to start
using the new failover implementation.
Assisted by: Claude code (Sonnet 4.6)
In low level ldap search functions
The data provider handler methods now return a single output
argument. Remove 'dp_error/dp_err' and 'error_message' usage
across provider code.

The getAccountDomain method still needs to return 'domain_name' string.

Assisted by: Claude code (Sonnet 4.6)
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request implements a new transaction-based failover mechanism featuring prioritized server groups and parallel candidate probing. It also adds support for automatic token refreshing in the OIDC child and IdP provider, introduces new release management scripts, and includes extensive translation updates and typo fixes. I have no feedback to provide.

@justin-stephenson justin-stephenson force-pushed the failover_justin_port_all_providers branch 10 times, most recently from 74fdf20 to 0e05c2e Compare May 12, 2026 19:46
@justin-stephenson justin-stephenson force-pushed the failover_justin_port_all_providers branch 5 times, most recently from 3a9d0ee to 7eddbc4 Compare May 21, 2026 12:28
Comment thread src/providers/ipa/ipa_init.c Fixed
@justin-stephenson justin-stephenson force-pushed the failover_justin_port_all_providers branch 2 times, most recently from 8b43c6f to 3e044fc Compare May 21, 2026 17:35
justin-stephenson and others added 4 commits May 21, 2026 14:55
Reviewed-by: Jakub Vávra <jvavra@redhat.com>
Reviewed-by: Justin Stephenson <jstephen@redhat.com>
Reviewed-by: Madhuri Upadhye <mupadhye@redhat.com>
(cherry picked from commit 8f170d0)
test_logging__offline_errors_are_written_to_logs_and_syslog: asserted offline logs messages are only part of old failover
test_autofs__propagate_offline_status_*: asserted offline log messages are only part of the old failover
test_logging__dns_resolution_issue_in_logs: asserted log messages are part of the old failover code

test_failover: Needs to be updated for new failover implementation

test_ad__user_authentication_when_provider_is_set_to_ldap_with_gss_spnego: 'id_provider = ldap' is hardcoded to go to 'master.ldap.test' but AD server should be used here
test_ipa__subids_configured[id_provider=ldap]: 'id_provider = ldap' is hardcoded to go to 'master.ldap.test' but IPA server should be used here

test_multithreaded_pac_client: requires re-using cached connection, not yet implemented in new failover
@justin-stephenson justin-stephenson force-pushed the failover_justin_port_all_providers branch from 3e044fc to 0528d2a Compare May 21, 2026 18:55
@justin-stephenson justin-stephenson force-pushed the failover_justin_port_all_providers branch from 0528d2a to 65c1793 Compare May 21, 2026 18:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants