The monitor tries to start up the providers first and then starts up the responders if either all providers are running or a timeout has expired. However, if a provider fails to start for whatever reason, every responder will fail to start as well.
This can be easily reproduced by disabling initialization of the provider, for example calling "return 0" immediately in the main() function in data_provider_be.c.
It has been like this at least since 1.5.0.
This is actually more or less intentional. If any configured provider isn't starting up, we want the end-user/local administrator to immediately see the problem. If we just started up in offline mode, the problem could go unnoticed for days or even months (if the cache was sufficiently primed). This could lead to subtle security issues as group memberships fail to be updated.
I was thinking that in case of sssd misconfiguration and in case the users only had sudo access, not root, it might be nice to allow them to log in and fix issues even in case the back ends wouldn't start. Also services_startup_timeout() seems to suggest that was the plan at one point:
services_startup_timeout()
DEBUG(1, ("Providers did not start in time, " "forcing services startup!\n")); ctx->services_started = true; DEBUG(4, ("Now starting services!\n")); /* then start all services */ for (i = 0; ctx->services[i]; i++) { add_new_service(ctx, ctx->services[i], 0); }
Even if it is intentional, there is a bug around it.
I'm not really sure if 2 still happens with the recent pidfile patch. It depends whether the responder is terminated before or after it is registered in the monitor.
Fields changed
milestone: NEEDS_TRIAGE => SSSD 1.11 beta rhbz: => todo
milestone: SSSD 1.11 beta => SSSD 1.12 beta
This is really important for the secrets-as-a-service work. It's not clear yet whether we will do this work for /all/ responders or only the secrets one, but this ticket should stay in the 1.14 bucket.
blocking: => #2913 changelog: => design: => design_review: => 0 fedora_test_page: => mark: => 0 review: => 0 selected: => sensitive: => 0
In the 1.14 milestone, just investigate if this has an impact on the secrets responder. If not, defer.
milestone: SSSD 1.14 beta => SSSD 1.14.0
priority: major => minor
1.14.0 should be released no later than Wednesday next week, this ticket should not block the 1.14.0 release.
milestone: SSSD 1.14.0 => SSSD 1.14.1
Moving to triage to discuss if we still need this.
milestone: SSSD 1.14.1 => NEEDS_TRIAGE
ticket #2243 tracks a more generic solution.
resolution: => wontfix status: new => closed
rhbz: todo => 0
Metadata Update from @pbrezina: - Issue marked as blocked by: #2913 - Issue set to the milestone: NEEDS_TRIAGE
SSSD is moving from Pagure to Github. This means that new issues and pull requests will be accepted only in SSSD's github repository.
This issue has been cloned to Github and is available here: - https://github.com/SSSD/sssd/issues/2594
If you want to receive further updates on the issue, please navigate to the github issue and click on subscribe button.
subscribe
Thank you for understanding. We apologize for all inconvenience.