Bug 2219723

Summary: lack of `After=network-online.target` in ypbind.service cause timeout in system boot
Product: Red Hat Enterprise Linux 8 Reporter: Kazuo Moriwaka <kmoriwak>
Component: ypbindAssignee: Ondřej Sloup <osloup>
Status: NEW --- QA Contact: RHEL CS Apps Subsystem QE <rhel-cs-apps-subsystem-qe>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.8CC: mmuzila
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Kazuo Moriwaka 2023-07-05 01:18:07 UTC

Comment 1 Kazuo Moriwaka 2023-07-05 01:25:38 UTC
Description of problem:

ypbind.service fails by timeout, but it counts in network initialization 

Version-Release number of selected component (if applicable):

RHEL 8
ypbind 2.5-2.el8

How reproducible:

Always

Steps to Reproduce:
1. RHEL 8slow network initialization environment
2. systemctl enable ypbind.service 
3. reboot

Actual results:

Jul 04 11:12:57 hostname ypbind[1091]: Binding NIS service             <<=== start ypbind.service before network online
Jul 04 11:12:57 hostname systemd[1]: Starting Network Manager Wait Online...
[...]
Jul 04 11:17:48 hostname systemd[1]: Started Network Manager Wait Online.   
Jul 04 11:17:48 hostname systemd[1]: Reached target Network is Online.
Jul 04 11:17:49 hostname ypbind[1445]: Binding took 292 seconds        <<=== most of 292 sec is network initialization. It is >= 45 sec NISTIMEOUT. 
Jul 04 11:17:49 hostname ypbind[1453]: NIS server for domain example.com is not responding.
Jul 04 11:17:49 hostname ypbind[1455]: Killing ypbind with PID 1050.
Jul 04 11:17:49 hostname ypbind[1464]: Try increase NISTIMEOUT in /etc/sysconfig/ypbind
Jul 04 11:17:49 hostname systemd[1]: ypbind.service: Control process exited, code=exited status=1
Jul 04 11:17:49 hostname systemd[1]: ypbind.service: Failed with result 'exit-code'.


Expected results:

Timeout shouldn't count in network initialization

Additional info:

In ypbind.service 
```
Wants=nss-user-lookup.target network-online.target
After=syslog.target rpcbind.service ypserv.service
```

I suggest change these lines as following:

```
Wants=nss-user-lookup.target
After=syslog.target rpcbind.service ypserv.service network-online.target
```

This probelem is RHEL 8 only. At RHEL 7 ypbind.service, it has `After=NetworkManager-online.service`.