Dependency failed for Network Manager Wait Online.

After one of my reboots I noticed this message starting to appear in the boot log (in bold):

Jul 09 00:18:45 mycomputer systemd[1]: Started YaST2 Second Stage.
Jul 09 00:18:45 mycomputer systemd[1]: Started YaST2 Firstboot.
Jul 09 00:18:45 mycomputer systemd[1]: Starting SuSEfirewall2 phase 1...
**Jul 09 00:18:45 mycomputer systemd[1]: Dependency failed for Network Manager Wait Online.**
Jul 09 00:18:45 mycomputer systemd[1]: Started Permit User Sessions.
Jul 09 00:18:45 mycomputer systemd[1]: Started /etc/init.d/boot.local Compatibility.


When I check after boot completion the firewall seems to work, so it is not failed (or it is unrelated):


# systemctl status SuSEfirewall2.service 
SuSEfirewall2.service - SuSEfirewall2 phase 2
   Loaded: loaded (/usr/lib/systemd/system/SuSEfirewall2.service; enabled)
   Active: active (exited) since Sat 2016-07-09 00:18:48 EEST; 29min ago
  Process: 1650 ExecStart=/usr/sbin/SuSEfirewall2 boot_setup (code=exited, status=0/SUCCESS)
 Main PID: 1650 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/SuSEfirewall2.service


Jul 09 00:18:48 mycomputer systemd[1]: Started SuSEfirewall2 phase 2.

Here is also the service file. I have never modified this file, so it is original as after Leap installation:


# cat /usr/lib/systemd/system/SuSEfirewall2_init.service 
[Unit]
Description=SuSEfirewall2 phase 1
Before=network.service
Before=basic.service


[Service]
ExecStart=/usr/sbin/SuSEfirewall2 boot_init
RemainAfterExit=true
Type=oneshot


[Install]
WantedBy=multi-user.target
Also=SuSEfirewall2.service

It is strange because I am actually using wicked, not Network Manager.

How can I fix it?

What does the following report?

systemctl status NetworkManager-wait-online.service

Since you’re using wicked, maybe you just need to disable it.

systemctl disable NetworkManager-wait-online.service

It says:


# systemctl status NetworkManager-wait-online.service
NetworkManager-wait-online.service - Network Manager Wait Online
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager-wait-online.service; disabled)
   Active: inactive (dead)


Jul 09 00:18:45 i7 systemd[1]: Dependency failed for Network Manager Wait Online.

Since you’re using wicked, maybe you just need to disable it.

systemctl disable NetworkManager-wait-online.service

But the status says it is disabled. Do I understand correctly? Before reinstalling Leap I used the exact same network configurations etc. and never got such error message.

Any idea?

It lies. Newer systemd version would probably output “static” instead of “disabled” … hmm, still “disabled” on TW … OK, this is different issue. Anyway

https://bugzilla.opensuse.org/show_bug.cgi?id=988272

So you have found it is a bug and reported it. Do I understand correctly?

Is there anything else I need to do on my side?

Try this

systemctl mask NetworkManager-wait-online.service

then nothing should activate it. Restart and report back.

I am in the middle of a process that needs some hours to complete, so I can’t reboot right now but I will do after and write back. Thanks.

Then you still get errors in logs that it is masked. Anyway, this problem is mostly cosmetic and can be safely ignored. Efforts to fix it are probably not justified comparing with impact. May be mention it in release notes.

I still don’t see the reason for it to appear. As I mentioned before reinstalling Leap it wasn’t there - with the exact same system configuration. It would be good to find the reason.

Yes, not sure why you’re impacted -clearly something is triggering it. I can’t replicate it though (when switched to wicked). FWIW, here’s a similar thread with an openSUSE 13.2 and wicked…

https://forums.opensuse.org/showthread.php/510243-Network-configuration-with-wicked-boot-message-indicating-failed-Network-Manager-dependency

Thanks for the link. So I checked the other thread and ran this:


# systemctl list-unit-files | grep -E 'wicked|Network'
dbus-org.opensuse.Network.AUTO4.service    enabled 
dbus-org.opensuse.Network.DHCP4.service    enabled 
dbus-org.opensuse.Network.DHCP6.service    enabled 
dbus-org.opensuse.Network.Nanny.service    enabled 
NetworkManager-dispatcher.service          enabled 
NetworkManager-wait-online.service         disabled
NetworkManager.service                     disabled
wicked.service                             enabled 
wickedd-auto4.service                      enabled 
wickedd-dhcp4.service                      enabled 
wickedd-dhcp6.service                      enabled 
wickedd-nanny.service                      enabled 
wickedd.service                            static  
# cat /usr/lib/systemd/system/NetworkManager-dispatcher.service 
[Unit]
Description=Network Manager Script Dispatcher Service


[Service]
Type=dbus
BusName=org.freedesktop.nm_dispatcher
ExecStart=/usr/lib/nm-dispatcher


# We want to allow scripts to spawn long-running daemons, so tell
# systemd to not clean up when nm-dispatcher exits
KillMode=process


[Install]
Alias=dbus-org.freedesktop.nm-dispatcher.service

NetworkManager-dispatcher seems unrelated, right?

How can I investigate further what is triggering the message?

Just a guess - do you have any remote mounts defined in /etc/fstab perhaps?

Since in freedesktop.org/wiki/Software/systemd/NetworkTarget/ it is mentioned

network-online.target is a target that actively waits until the nework is “up”, where the definition of “up” is defined by the network management software. Usually it indicates a configured, routable IP address of some kind. It’s primary purpose is to actively delay activation of services until the network is set up. It is an active target, meaning that is may be pulled in by the services requiring the network to be up, but is not pulled in by the network management service itself. By default all remote mounts defined in /etc/fstab pull this service in, in order to make sure the network is up before it is attempted to connect to a network share.

so I wonder if this might be triggering NwetworkManager-wait-online.service

systemctl list-dependencies network-online.target
network-online.target
● ├─NetworkManager-wait-online.service
● └─wicked.service

I could be on the wrong track here, so please disregard if so.

Only local hard drive partitions and tmpfs.

Since in freedesktop.org/wiki/Software/systemd/NetworkTarget/ it is mentioned

so I wonder if this might be triggering NwetworkManager-wait-online.service

systemctl list-dependencies network-online.target
network-online.target
● ├─NetworkManager-wait-online.service
● └─wicked.service

I could be on the wrong track here, so please disregard if so.

I am getting the same output (first dot is red, second one for wicked is green).

BTW masking NetworkManager* removed the boot log message. Thanks for the suggestion.

Just to make clear I understand - with having it masked I can no longer use NetworkManager and if I decide to use it I have to unmask those 3 services, right?

Just to make clear I understand - with having it masked I can no longer use NetworkManager and if I decide to use it I have to unmask those 3 services, right?

No need to mask the other NM services. NetworkManager is not dependent on having NetworkManager-wait-online enabled. It’s only useful where some network services need to have it to guarantee that the network is up before starting. I don’t have it enabled on my laptop using NM. (Besides it’s easy to unmask again when/if required.)

You have (if you mean NetworkManager-wait-online.service and you are running 13.2 or newer). This service is statically enabled which is exact subject of my bug report.

No, it is disabled

NetworkManager-wait-online.service         disabled

and no reference to it in my boot logs. Like I already said, I can’t replicate the OP’s situation.

I can see how it is a nuisance for those not using NM and having units that use network-online.target for ordering though.

FWIW, here’s another bug report describing the same

https://bugzilla.gnome.org/show_bug.cgi?id=746039

It lies.

and no reference to it in my boot logs.

It happens when something pulls in network-online.target. It depends on which other services you have.

Yes I understand that, and as I already explained I don’t have services that use network-online.target. It has already been reported in a number of threads (here and elsewhere) and bug reports, and it’s not a big deal apart from the message IMHO. I’m not really convinced (from reading the bug report that I linked to) that anything will necessarily be done about it.