Ticket #456 (closed enhancement: fixed)

Opened 7 years ago

Last modified 5 years ago

catch going online to reset offline status of back ends

Reported by: sgallagh Owned by: jhrozek
Priority: major Milestone: SSSD 1.3.0
Component: Data Provider Version: 1.1.1
Keywords: Cc:
Blocked By: Blocking:
Sensitive: Tests Updated: no
Coverity Bug: Patch Submitted:
Red Hat Bugzilla: 586825 Design link:
Feature Milestone:
Design review: Fedora test page:
Chosen: Candidate to push out:
Release Notes:
Temp mark:

Description (last modified by sgallagh) (diff)

As noted in https://bugzilla.redhat.com/show_bug.cgi?id=586825 we handle changes in network status somewhat poorly. On those systems where NetworkManager is available and in-use, the backends should register with the NetworkManager D-BUS service to receive signals when the network status changes (connection dropped, added, changed).

When this signal is detected, if it disconnects or changes the interface the backend is relying on, I propose that we mark the backend offline immediately, so that events like screensaver unlock will immediately go to cached credentials.

Change History

comment:1 Changed 7 years ago by sgallagh

  • Description modified (diff)

comment:2 Changed 7 years ago by simo

Note: this maybe harder then it seem at a first sight. We can really force offline mode only if *all* interfaces have been shut down. If only one of many is stopped we can't just blindly go oflline. Same sort of consideration for trying to go online apply.

comment:3 Changed 7 years ago by sgallagh

Well, as I mentioned in the original comment, I think we probably want to compare the interface that changed with the one(s) that the provider is currently using. If it matches, then we go offline. After the reconnect delay, if it belongs online it will sort itself out.

comment:4 Changed 7 years ago by sbose

What happens if there are multiple servers configured which are reachable via different interfaces?

comment:5 Changed 7 years ago by sgallagh

The only ones that are relevant are the interfaces that are in use at the moment that NetworkManager? signals us. Failover will sort itself out when the offline delay times out and we reconnect.

comment:6 Changed 7 years ago by dpal

  • Milestone changed from NEEDS_TRIAGE to SSSD 1.3

comment:7 Changed 7 years ago by sgallagh

  • Milestone changed from SSSD 1.4.0 to SSSD 1.3.0

comment:8 Changed 7 years ago by jhrozek

  • Owner changed from somebody to jhrozek

comment:9 Changed 7 years ago by jhrozek

  • Status changed from new to assigned
  • Summary changed from Register with NetworkManager for notifications to catch going online to reset offline status of back ends

We decided to use libnl in favor of NM.

comment:10 Changed 7 years ago by sgallagh

  • fixedin set to 1.3.0
  • Status changed from assigned to closed
  • Resolution set to fixed

comment:11 Changed 5 years ago by mkosek

  • Red Hat Bugzilla set to [https://bugzilla.redhat.com/show_bug.cgi?id=586825 586825]
Note: See TracTickets for help on using tickets.