Description of problem: ypbind refuses to function if NetworkManager is running with no connection configured despite the fact that there are other active network connections available. Version-Release number of selected component (if applicable): ypbind-1.36-7.fc18.x86_64 How reproducible: always Steps to Reproduce: 1. configure system to use NIS and verify its operation by observing ypcat passwd output. 2. get the name of current network interface as reported by ifconfig, for example p118p1 and its MAC address, for example 44:5f:f4:36:77:55 3. manually create /etc/sysconfig/network-scripts/ifcfg-p118p1 with the following contents. Be advised that upon saving the file NetworkManager will stop the device immediately. DEVICE=p118p1 TYPE=Ethernet HWADDR=44:5f:f4:36:77:55 ONBOOT=yes BOOTPROTO=dhcp NM_CONTROLLED=no 3. enable legacy network service: chkconfig network on 4. reboot Actual results: ypcat passwd reports that ypbind is not bound. Expected results: ypcat passwd returns map content. Additional info: ypbind -d explains that ypbind does not consider any network interfaces outside of ones reported by a running NetworkManager. Workarond: systemctl disable NetworkManager.service
Unfortunately, this is how it is supposed to work at least in the current implementation. There is also a similar bug #827267: https://bugzilla.redhat.com/show_bug.cgi?id=827267#c3 Basically, as soon as NetworkManager is running, ypbind will work only with connections controlled by NetworkManager, which means it will wait for DBus message in a "standby" mode until a new connection is ready. However, you can specify "-no-dbus" option to avoid that behaviour and forbid ypbind to wait on DBus. You can do it by creating a new file at /etc/systemd/system/ypbind.service with the following content: [Service] ExecStart=/usr/sbin/ypbind -n -no-dbus $OTHER_YPBIND_OPTS And then reload systemd daemon: # systemctl daemon-reload Using "-no-dbus" option ypbind won't try retrieve info about connections and will rely on environment to have some connection ready (no matter what is used for connections management). Since ypbind seems to work as expected, I'm closing this for now. If you think we can do more about that, feel free to re-open the bug.
*** This bug has been marked as a duplicate of bug 827267 ***
Hm, I've realized we cannot use .include directive + ExecStart with different arguments, because systemd reports an error, that ExecStart is defined twice. I've reported it as systemd bug #878088. Until this is fixed in systemd (if ever) you have two options: 1) copy the whole service file from /lib/systemd/system/ypbind.service to /etc/systemd/system/ypbind.service and add the argument -no-dbus there. However, this would re-define all further changes made in /lib/systemd/system/ypbind.service in the future. 2) add -no-dbus option to /etc/sysconfig/ypbind: OTHER_YPBIND_OPTS="-no-dbus"