[SSSD] [PATCHES] Enable sending DEBUG logs to journald

Jakub Hrozek jhrozek at redhat.com
Tue Jun 3 07:53:13 UTC 2014


On Mon, Feb 24, 2014 at 08:39:25AM -0500, Simo Sorce wrote:
> On Mon, 2014-02-24 at 11:54 +0100, Jakub Hrozek wrote:
> > On Thu, Feb 20, 2014 at 08:47:30AM -0500, Stephen Gallagher wrote:
> > > -----BEGIN PGP SIGNED MESSAGE-----
> > > Hash: SHA1
> > > 
> > > On 02/19/2014 05:18 PM, Lukas Slebodnik wrote:
> > > > On (19/02/14 22:03), Sumit Bose wrote:
> > > >> On Wed, Feb 19, 2014 at 09:04:48PM +0100, Lukas Slebodnik wrote:
> > > >>> On (19/02/14 12:37), Jakub Hrozek wrote:
> > > >>>> On Wed, Feb 19, 2014 at 12:02:23PM +0100, Jakub Hrozek
> > > >>>> wrote:
> > > >>>>>> I realized I made a mistake in the rebasing above. I
> > > >>>>>> fixed that and then needed to do another manual rebase of
> > > >>>>>> these patches atop it. These patches apply atop the
> > > >>>>>> "[SSSD] DEBUG macro refactoring v6" patches.
> > > >>>>> 
> > > >>>>> These patches work for me, so ACK.
> > > >>>> 
> > > >>>> Pushed to master.
> > > >>> 
> > > >>> find_uid-tests failed with these patches on fedora20. 
> > > >>> http://kojipkgs.fedoraproject.org//work/tasks/8367/6548367/build.log
> > > >>
> > > >>
> > > >>> 
> > > Do you have additional patches in this build?
> > > >> 
> > > >> /builddir/build/SRPMS/sssd-1.11.90-0.20140219.1816.git22a9323._temp.fc20.src.rpm
> > > >>
> > > >>
> > > >> 
> > > The git hash does not look like anything from master.
> > > >> 
> > > > Yes, I was testing some patches.
> > > > 
> > > >> I started a koji build 
> > > >> http://koji.fedoraproject.org/koji/taskinfo?taskID=6549081 with
> > > >> current master (4cde267bec52ae1723a125d19439a5c75b47ebb7) which
> > > >> is working fine.
> > > >> 
> > > > I tried one more time with master and koji works fine. 
> > > > Unfortunately, I am able to reproduce it locally in mock :-(
> > > > 
> > > 
> > > 
> > > I've seen that happen intermittently as well in mock and koji. I
> > > suspect there may be a bug/race condition in sd_uid_get_sessions(),
> > > but I can't reproduce it consistently (and the DEBUG error doesn't
> > > seem to fire...)
> > > 
> > > A quick look at the code suggests that we're probably missing a
> > > 'return EOK' after '*result = false', though.
> > > 
> > > I'll run a couple tests and see if that fixes the issue...
> > 
> > I found another issue related to journald support..if you compile sssd
> > with journald support and run it on the foreground (-i) then the debug
> > messages are still redirected to journal. That seems strange to me, but
> > also in line with what a comment in the code says:
> > 
> >          /* If we are not outputting logs to files, we should be sending them
> >           * to journald.
> >           * NOTE: on modern systems, this is where
> >           * stdout/stderr will end up
> > 
> > So I'm not entirely sure about the expected behaviour, but I would
> > prefer if there was still a way to see the debug messages directly on
> > the console.
> > 
> > I hacked up a patch that also adds a third state where if sssd is running
> > on the foreground even with journald support, then just fprintf is used.
> > See the attachment.
> 
> Wouldn't it be simpler to just set debug_file = stderr ?

I tried to go this way, but it seems actually harder to me..

To summarize:
with "sssd -f" debug_file should be a log file
with "sssd" debug_file should be NULL, indicating journald
with "sssd -i", debug_file should be stderr, indicating stderr.

The problem is, that we don't pass the "-i" flag down to the responders
and back ends when forking them. So the alternative would be to add "-i"
to sssd_be and all responders, pass the flag to the child processes and
only set debug_file to stderr if '-i' is present. If you prefer this way,
I can prepare a patch along these lines.

But then we also terminate the process which is running with "-i" if its
stdin goes away, I guess it would be safe to keep this logic since stdin
in the child processes is /dev/null already, I just wanted to mention
there is a number of cases to test..



More information about the sssd-devel mailing list