Bug 1314200 - nfs-server fails if hosts in exports can't be resolved
nfs-server fails if hosts in exports can't be resolved
Status: CLOSED DUPLICATE of bug 1287468
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: nfs-utils (Show other bugs)
7.2
All All
medium Severity medium
: rc
: ---
Assigned To: Steve Dickson
Yongcheng Yang
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2016-03-03 03:18 EST by Stefan Meyer
Modified: 2016-05-02 03:45 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-04-26 14:39:51 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


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

  None (edit)
Description Stefan Meyer 2016-03-03 03:18:49 EST
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 07:33:36 EDT
(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 08:31:18 EDT
This upstream commit could help

commit 076dd803330d93819c6e7862f515a8fa3997a83b
Author: Henrique Martins <linux@martins.cc>
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@martins.cc>
    Signed-off-by: Steve Dickson <steved@redhat.com>
Comment 8 Steve Dickson 2016-04-18 10:28 EDT
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.