Bug 2231929

Summary: nfs-server: exportfs: Failed to resolve on boot
Product: Red Hat Enterprise Linux 9 Reporter: Mark Williamson <m.williamson>
Component: nfs-utilsAssignee: Steve Dickson <steved>
Status: ASSIGNED --- QA Contact: Yongcheng Yang <yoyang>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 9.2CC: xzhou, yoyang
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 Mark Williamson 2023-08-14 17:26:06 UTC
Description of problem:

Server exports a disk to two hosts via NFS (/etc/export shown):

/foo	host1(ro,sync,no_subtree_check) host2(ro,sync,no_subtree_check)


On boot up of server we see in the nfs-server.service logs:
exportfs: Failed to resolve host1
exportfs: Failed to resolve host2

If one restarts the nfs-server.service, post boot, it resolves the two hosts and everything works.

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


How reproducible:

Every reboot

Steps to Reproduce:
1. Reboot machine
2.
3.

Actual results:
exportfs: Failed to resolve host1
exportfs: Failed to resolve host2

Expected results:
host{1,2} are resolved and the nfs export works


Additional info:
Could be related: https://bugzilla.redhat.com/show_bug.cgi?id=1409012

Comment 1 Yongcheng Yang 2023-08-15 01:56:14 UTC
(In reply to Mark Williamson from comment #0)
> ... 
> Additional info:
> Could be related: https://bugzilla.redhat.com/show_bug.cgi?id=1409012

The above bug 1409012 is to add "network-online" as nfs-server dependencies (ensure the network is completely up before the NFS server is started) and this is not changed in rhel9 for now:

[root@rhel-9-latest ~]# systemctl cat nfs-server | grep network-online
Wants=rpcbind.socket network-online.target
After=network-online.target local-fs.target
[root@rhel-9-latest ~]# systemctl list-dependencies nfs-server
nfs-server.service
○ ├─auth-rpcgss-module.service
○ ├─nfs-idmapd.service
○ ├─nfs-mountd.service
○ ├─nfsdcld.service
○ ├─proc-fs-nfsd.mount
● ├─rpc-statd-notify.service
○ ├─rpc-statd.service
● ├─rpcbind.socket
● ├─system.slice
● ├─network-online.target     <<<<<<<<<
● │ └─NetworkManager-wait-online.service
● └─network.target
[root@rhel-9-latest ~]# rpm -q nfs-utils
nfs-utils-2.5.4-20.el9.x86_64
[root@rhel-9-latest ~]#

We have a testcase and it works well. Maybe some other configs cause the failure in your environment.

Comment 2 Mark Williamson 2023-08-15 12:00:12 UTC
Thank you for looking into this.

Someone had disabled NetworkManager-wait-online.service on the server because it was timing-out/failing at startup, hence was causing this issue. I am going to experiment with Environment=NM_ONLINE_TIMEOUT= for that service.

Please consider this bug report closed. 

Thanks,

Mark