Bug 169937
Summary: | dhcdbd/dbus startup problem ? | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Tom London <selinux> |
Component: | dhcdbd | Assignee: | Jason Vas Dias <jvdias> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | dcbw |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i686 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | dhcdbd-1.9-1 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2005-10-06 20:54:19 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Tom London
2005-10-05 14:11:33 UTC
There seem to be two issues here: 1. Problems starting dhcdbd at boot with the initscript: > Oct 5 06:38:59 localhost dhcdbd: dbus_svc_init failed: org.freedesktop.DBus.Error.NoServer Failed to connect to socket /var/run/dbus/system_bus_socket: Connection refused > Oct 5 06:38:59 localhost dhcdbd: Failed to initialise D-Bus service. These messages indicate that the dbus-daemon ( the "messagebus" service ) is not running when dhcdbd is run. You would have needed to do a 'chkconfig --add dhcdbd' or a 'chkconfig --levels=XYZ dhcdbd on', and a 'chkconfig --levels=XYZ NetworkManager on' in order to enable NetworkManager and dhcdbd - what levels did you enable them for? You need to ensure that the messagebus, dhcdbd, and NetworkManager services are started in that order. Presumably, you start dhcdbd and NetworkManager in runlevel 3, not runlevel 2 ? (This would be a good idea, since messagebus is only started in runlevel 3, while the "network" service is started in runlevel 2). Please do this : # echo /etc/rc.d/rc3.d/S* The order in which the messagebus, dhcdbd, and NetworkManager services are listed in by the above command is the order in which they are started. You should ensure that in the output of the above command the services are in the order: '...rc3.d/S97messagebus...rc3.d/S98dhcdbd...rc3.d/S98NetworkManager...' If this is not the case, issue chkconfig commands to make it so. 2. Messages after boot: > On a successful boot, I get this (sometimes messages about eth0, sometimes about > eth1, sometimes both): > Sep 29 07:05:17 localhost dhcdbd: Started up. > Sep 29 07:05:18 localhost dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/eth0 for sub-path eth0.dbus.get.reason > Sep 29 08:47:54 localhost dhcdbd: Shut down. These messages indicate no problems - the dhcdbd shut down message is a long time after the 'message handler not found' message. This shows that after start up, NetworkManager queries dhcdbd for the parameters of the eth0 interface, which, on boot, was not configured using dhcdbd, so dhcdbd has no information for it. NetworkManager should then be doing an 'ifup' with dhcdbd, and get the eth0 parameters OK - are you saying this is not the case - ie. is eth0 not brought up OK ? Hmmmm.... (and thanks for the quick help). 1. 'ls /etc/rc.d/rc3.d/S*' shows an entry for S97messagebus, no entries for dhcdbd nor for NetworkManager. 'ls /etc/rc.d/rc5.d/S*' shows an entry for S97messagebus, S98NetworkManager and S98NetworkManagerDispatcher. So, there are no entries in either rc[35].d for dhcdbd. Not sure how this happened. I did a 'chkconfig --add dhcdbd', and it got turned on for levels 3 and 5. I'll reboot and test. 2. In this case, where dhcdbd successfully connects to dbus, NetworkManager successfully brings up the interface. It only fails when it can't connect to dbus. Yes, doing the 'chkconfig --add dhcdbd' should fix the boot-up problems .
We have a policy of not enabling network services in RPM scriplets - you
need to enable them manually with 'chkconfig', as you must have done for
NetworkManager.
These messages can be ignored and signify no problem:
> Sep 29 07:05:18 localhost dhcdbd: message_handler: message handler not found
under /com/redhat/dhcp/eth0 for sub-path eth0.dbus.get.reason
since NetworkManager reacts to them by doing a dhcdbd 'up' for the interface in
question. I'll look into removing these 'message handler not found' syslog
messages in the next dhcdbd release.
After 'chkconfig --add dhcdbd', now seems to work, that is I get a 'dhcdbd start' message in messages before dhclient, etc. I used the gui to turn on NetworkManager. dhcdbd was not listed there until I did the 'chkconfig --add', so I didn't notice to turn it on. Thanks! Before I close this: should installing the dhcdbd package 'insert' dhcdbd in the list of services 'managed' by system-config-services? (I had to do 'chkconfig --add' before it became visible. Or is this something I messed up?) Jason: Most likely dhcdbd should run a chkconfig --add dhcdbd, but not enable itself. This requires a bit of a dance (like NetworkManager does) because chkconfig will usually auto-enable the daemon if you have levels specified in the init.d script. OK, the next version of dhcdbd will have an initscript like NetworkManager's that has only: ' # chkconfig: - 98 02 ' and will do 'chkconfig --add dhcdbd' in the dhcdbd.spec file's %post scriptlet . This is now fixed with dhcdbd-1.9 - it now does 'chkconfig --add dhcdbd' in its .spec file %post scriptlet so that dhcdbd will appear in the list of services configured by system-config-services. |