Bug 1314200 - nfs-server fails if hosts in exports can't be resolved
Summary: nfs-server fails if hosts in exports can't be resolved
Keywords:
Status: CLOSED DUPLICATE of bug 1287468
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: nfs-utils
Version: 7.2
Hardware: All
OS: All
medium
medium
Target Milestone: rc
: ---
Assignee: Steve Dickson
QA Contact: Yongcheng Yang
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-03-03 08:18 UTC by Stefan Meyer
Modified: 2016-05-02 07:45 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-04-26 18:39:51 UTC
Target Upstream Version:


Attachments (Terms of Use)
Back ported patch (2.66 KB, patch)
2016-04-18 14:28 UTC, Steve Dickson
no flags Details | Diff

Description Stefan Meyer 2016-03-03 08:18:49 UTC
Description of problem:
If a notebook is switched between networks not all target hostnames are resolvable because the DNS servers are not the same.

Version-Release number of selected component (if applicable):
RHEL 7.x

How reproducible:
On every RHEL 7 system, see procedure below

Steps to Reproduce:
1. Add entry to /etc/exports
    /tmp   thishostnamewontresolve.example.com(ro)
2. Restart nfs-server
   systemctl restart nfs-server


Actual results:
nfs-server fails to start

Expected results:
The nfs server should warn about a non-resolvable hostname but should not fail.

Additional info:
Referencing Fedora bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1115179

Comment 5 Steve Dickson 2016-04-18 11:33:36 UTC
(In reply to Stefan Meyer from comment #0)
> Description of problem:
> If a notebook is switched between networks not all target hostnames are
> resolvable because the DNS servers are not the same.
> 
> Version-Release number of selected component (if applicable):
> RHEL 7.x
> 
> How reproducible:
> On every RHEL 7 system, see procedure below
> 
> Steps to Reproduce:
> 1. Add entry to /etc/exports
>     /tmp   thishostnamewontresolve.example.com(ro)
> 2. Restart nfs-server
>    systemctl restart nfs-server
> 
> 
> Actual results:
> nfs-server fails to start
> 
> Expected results:
> The nfs server should warn about a non-resolvable hostname but should not
> fail.
> 
What is the failure? Changing DNS server mid stream is just not a good
idea... and I don't know if we ever supported anything like that...

Comment 6 Steve Dickson 2016-04-18 12:31:18 UTC
This upstream commit could help

commit 076dd803330d93819c6e7862f515a8fa3997a83b
Author: Henrique Martins <linux>
Date:   Tue Nov 4 15:12:16 2014 -0500

    exportfs: changes handling of unresolvable entries
    
    The patch to nfs/exportfs to allow nfsd to start when
    there are some, but not all, unresolvable entries in
    /etc/exports.
    
    Signed-off-by: Henrique Martins <linux>
    Signed-off-by: Steve Dickson <steved>

Comment 8 Steve Dickson 2016-04-18 14:28:42 UTC
Created attachment 1148226 [details]
Back ported patch

Note, the following change was also needed so exports
failures are handled in the same matter as RHEL6:

diff -up nfs-utils-1.3.0/systemd/nfs-server.service.orig nfs-utils-1.3.0/systemd/nfs-server.service
--- nfs-utils-1.3.0/systemd/nfs-server.service.orig 2016-04-18 10:16:04.132230396 -0400
+++ nfs-utils-1.3.0/systemd/nfs-server.service  2016-04-18 10:17:19.528701941 -0400
@@ -23,13 +23,13 @@ EnvironmentFile=-/run/sysconfig/nfs-util

 Type=oneshot
 RemainAfterExit=yes
-ExecStartPre=/usr/sbin/exportfs -r
+ExecStartPre=-/usr/sbin/exportfs -r
 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS
 ExecStop=/usr/sbin/rpc.nfsd 0
 ExecStopPost=/usr/sbin/exportfs -au
 ExecStopPost=/usr/sbin/exportfs -f

-ExecReload=/usr/sbin/exportfs -r
+ExecReload=-/usr/sbin/exportfs -r

 [Install]
 WantedBy=multi-user.target


Note You need to log in before you can comment on or make changes to this bug.