Bug 606972

Summary: Network daemon does not report anything during boot up
Product: [openSUSE] openSUSE 11.2 Reporter: Marc Chamberlin <marc>
Component: NetworkAssignee: Dr. Werner Fink <werner>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Enhancement    
Priority: P5 - None CC: mt, tambet
Version: Final   
Target Milestone: Future 11.3   
Hardware: Other   
OS: openSUSE 11.2   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: rsyslog.conf
rsyslog.early.conf
Output from ls command showing rc*.d files
.depend.start

Description Marc Chamberlin 2010-05-18 22:25:23 UTC
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729)

None of the code to instrument and report results, from startup of the network daemon, is recorded in the system log file. This is due to the fact that the syslog daemon is started up after the network daemon. The syslog daemon is specified as being dependent on the network daemon. But this design is shortsighted and not necessary if logging can be done on the local file system and not on a networked drive. (probably the most likely scenario for most people!)

Reproducible: Always

Steps to Reproduce:
1. Start up a system with network interfaces
2. Look for messages from the network daemon in the system messages log file
3.
Actual Results:  
No log messages from the network daemon are reported.

Expected Results:  
I expect to see messages informing me as to whether the network daemon successfully started up, and what interfaces were initialized.. 

I suggest breaking the syslog daemon into two parts, one for logging on the local file system, and a later more expanded version that can handle logging to a networked device. Then start the first syslog daemon right after the local filesystem is initialized. In this way the network daemon can report the results of it's instrumented scripts.
Comment 1 Dr. Werner Fink 2010-05-20 07:25:51 UTC
It is invalid as both syslogd and syslog-ng clearly depends on network
(e.g. NetworkManager) otherwise logging over network will not work which
is a major feature.
Comment 2 Marc Chamberlin 2010-05-20 15:45:11 UTC
Uh Werner Did you NOT read my suggestion? If the syslog daemon is broken into two parts, or redesigned so as to accommodate dynamic logging to available resources, one for local filesytem and one for remote, then the logging of what the the network daemon does, can be done initially to the local filesystem and later to a remote filesystem when it becomes available, if and only if the user has really specified remote logging. If this is done right, then even the local filesystem log could be transferred/copied to the remote filesystem, if indeed that is where logging is configured to be done...

I strongly suspect MOST users will NOT be doing logging to a remote file system so you have in effect the tail wagging the dog or the cart before the horse as they say! And it is extremely important to be able to understand what happened in network initialization if something failed.

Consider this an enhancement request if you like, but it really should be fixed and I take strong exception to your decision.
Comment 3 Dr. Werner Fink 2010-05-21 07:40:14 UTC
In which way do you want break syslog-ng *and* syslogd *and* rsyslogd
into two parts?

The only possiblity would exist only and only if all three syslogging
daemons would support not to hang on a not existing network interface
including the possiblity to to (re)open the network after e.g. a SIGHUP.
The other way of rewriting the configuration on the fly between a restart
is (IMHO) a nogo.

AFAIK from the old syslogd it does not support this. If the other two
daemons do support this I don't know. Maybe Marius can say a few words.
Comment 4 Marius Tomaschewski 2010-05-26 10:19:15 UTC
Marc,

the syslog service is already splitted -- there are two scripts:

 - /etc/init.d/earlysyslog, that is responsible to log the early
   startup messages and
 - /etc/init.d/syslog, that takes over when the network is up

Does it not work for you?

Can you provide your /etc/syslog* configs and the output of:
  ls -1d /etc/init.d/rc*.d/S*

We are using rsyslogd by default and it supports several nice features,
that I may enable for 11.3. It is able to use a disk-assisted queue.

That is, we can improve the default setup I think -- I'll test it out.
Comment 5 Marius Tomaschewski 2010-05-26 10:37:20 UTC
Please attach also the /etc/init.d/.depend.start file.
Comment 6 Marc Chamberlin 2010-05-26 18:12:53 UTC
Created attachment 364973 [details]
rsyslog.conf
Comment 7 Marc Chamberlin 2010-05-26 18:14:27 UTC
(In reply to comment #4)
> Marc,
> 
> the syslog service is already splitted -- there are two scripts:
> 
>  - /etc/init.d/earlysyslog, that is responsible to log the early
>    startup messages and
>  - /etc/init.d/syslog, that takes over when the network is up
> 
> Does it not work for you?
> 
> Can you provide your /etc/syslog* configs and the output of:
>   ls -1d /etc/init.d/rc*.d/S*
> 
> We are using rsyslogd by default and it supports several nice features,
> that I may enable for 11.3. It is able to use a disk-assisted queue.
> 
> That is, we can improve the default setup I think -- I'll test it out.

Marius -  Well this sounds interesting and hopeful! I have not dug into this very far so please bear with me... I was having troubles with my laptop initializing it's network interfaces (in particular the wireless one) and was searching through the messages logs file (and others) and noted nothing was being reported from the network daemon when it is started.. This lead me to do a bit of exploring of the inet.d startup sequence when I noted that the local file system daemon is first to be started, then the network daemon, then the remote file system, and finally the rsyslog daemon. I also noted that the rsyslog daemon was dependent on the network and remote file system daemons, hence that lead me to file this bug report, as I felt logging should be done earlier to the local file system and not entirely dependent on having the remote file system daemon or the network daemon running first. (Both of these could be logging to the local file system until the remote logging is available...)

So, to answer your question, no - early syslogging is not working for me. I noticed the reference to it in the scripts, but also some comment about it not being fully tested or guaranteed to be functional. I also notice another conf file - rsyslog.early.conf that looks promising, but I have not tracked down where it is used. I do not have any syslog.conf files in /etc but do have the rsyslog.conf and rsyslog.early.conf file which I will attach for you. Also attached is the output of the ls command you requested...
Comment 8 Marc Chamberlin 2010-05-26 18:16:12 UTC
Created attachment 364975 [details]
rsyslog.early.conf
Comment 9 Marc Chamberlin 2010-05-26 18:18:39 UTC
Created attachment 364977 [details]
Output from ls command showing rc*.d files
Comment 10 Marc Chamberlin 2010-05-26 18:23:13 UTC
Created attachment 364979 [details]
.depend.start
Comment 11 Dr. Werner Fink 2010-09-13 15:41:19 UTC
Suppose this on as fixed