Bug 1283964 - Support NFS v4.1 connections
Summary: Support NFS v4.1 connections
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: ovirt-engine
Version: 3.5.0
Hardware: Unspecified
OS: Linux
Target Milestone: ovirt-3.6.2
: 3.6.0
Assignee: Tal Nisan
QA Contact: Aharon Canan
Depends On: 1129597
TreeView+ depends on / blocked
Reported: 2015-11-20 12:11 UTC by Sarvesh Pandit
Modified: 2019-10-10 10:34 UTC (History)
21 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
This change allows the user to create NFS v4.1 storage domains (or edit existing domains to use NFS v4.1).
Clone Of: 1129597
Last Closed: 2016-03-09 21:14:31 UTC
oVirt Team: Storage
Target Upstream Version:

Attachments (Terms of Use)
screenshot (56.61 KB, image/png)
2016-01-03 10:08 UTC, Aharon Canan
no flags Details

System ID Private Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 2060863 0 None None None Never
Red Hat Product Errata RHEA-2016:0376 0 normal SHIPPED_LIVE Red Hat Enterprise Virtualization Manager 3.6.0 2016-03-10 01:20:52 UTC
oVirt gerrit 49145 0 master MERGED core: Support NFS v4.1 connections 2021-02-11 21:21:10 UTC
oVirt gerrit 50431 0 ovirt-engine-3.6 MERGED core: Support NFS v4.1 connections 2021-02-11 21:21:10 UTC
oVirt gerrit 50883 0 refs/tags/ovirt-engine-3.6.2 ABANDONED core: Support NFS v4.1 connections 2021-02-11 21:21:10 UTC
oVirt gerrit 50923 0 ovirt-engine-3.6.2 MERGED core: Support NFS v4.1 connections 2021-02-11 21:21:10 UTC
oVirt gerrit 50993 0 master MERGED webadmin: Correct enum translator value for NFS V4.1 2021-02-11 21:21:10 UTC
oVirt gerrit 50995 0 ovirt-engine-3.6 MERGED webadmin: Correct enum translator value for NFS V4.1 2021-02-11 21:21:10 UTC
oVirt gerrit 50998 0 ovirt-engine-3.6.2 MERGED webadmin: Correct enum translator value for NFS V4.1 2021-02-11 21:21:11 UTC

Description Sarvesh Pandit 2015-11-20 12:11:58 UTC
+++ This bug was initially created as a clone of Bug #1129597 +++

Description of problem:
When trying to add a new storage domain with nfsvers=4.1, we get a faliure msg 

vdsm try to run a mount command with both nfsvers=3,nfsvers=4.1 , that is not supported by "mount".

Version-Release number of selected component (if applicable):
oVirt Engine Version: 3.5.0-0.0.master.20140804172041.git23b558e.el6

How reproducible:
happens all the time 

Steps to Reproduce:
setup: I've used up and running setup with 2 hosts and 2 iSCSI SD's , and 1 VM 

2.through GUI, Storage tab I've added "New Domain"  
3.Default Domain Function / Storage Type - Data/NFS
4.Fill in valid name and Export Path
5.Expand Advanced parameter
6.Check "Override Default Options"
7.Add "nfsvers=4.1" in "Additional mount options"
8.click OK

Actual results:
Operation Failes with a general Error msg "Error while executing action Add Storage Connection: Problem while trying to mount target"

in vdsm.log we see a bad mount call with double param value (nfsvers=3,nfsvers=4.1)

Expected results:
actually we need a definition on what to expect :
- block it on the GUI level, and give a specific msg.
- override of one version param over the other.

Additional info:
/bin/mount -t nfs -o soft,nosharecache,timeo
=600,retrans=6,nfsvers=3,nfsvers=4.1 netapp.qa.la
b.tlv.redhat.com:/vol/vol_gamado_nfs01 /rhev/data
__gamado__nfs01 (cwd None)
Thread-15::ERROR::2014-08-13 12:44:38,341::storag
on::(connect) Mount failed: (32, ';mount.nfs: Pro
tocol not supported\n')
Traceback (most recent call last):
  File "/usr/share/vdsm/storage/storageServer.py"
, line 209, in connect
    self._mount.mount(self.options, self._vfsType)
  File "/usr/share/vdsm/storage/mount.py", line 198, in mount
    return self._runcmd(cmd, timeout)
  File "/usr/share/vdsm/storage/mount.py", line 214, in _runcmd
    raise MountError(rc, ";".join((out, err)))
MountError: (32, ';mount.nfs: Protocol not supported\n')
Thread-15::ERROR::2014-08-13 12:44:38,341::hsm::2427::Storage.HSM::(connectStorageServer) Could not connect to storageServer
Traceback (most recent call last):
  File "/usr/share/vdsm/storage/hsm.py", line 2424, in connectStorageServer
  File "/usr/share/vdsm/storage/storageServer.py"
, line 328, in connect
    return self._mountCon.connect()
  File "/usr/share/vdsm/storage/storageServer.py", line 217, in connect
    raise e
MountError: (32, ';mount.nfs: Protocol not supported\n')

--- Additional comment from Allon Mureinik on 2014-08-13 07:34:31 EDT ---

Sean - what's the required behavior here?

--- Additional comment from Sean Cohen on 2014-08-27 11:38:22 EDT ---

Typically in the industry the default behavior is to attempt mounting first with NFS v4.1, then silently fall back to NFS v3.0 if necessary. 

In our case, when nfsvers=4.1 is selected and the backend does not support then we should notify the user with the relevant error - sometimes the user may specifically require the 4.1 and if we fail back to v3.0 we should also report that..

The question is how do we add the logic for it in vdsm?


--- Additional comment from Allon Mureinik on 2014-08-27 12:27:41 EDT ---

This is neither urgent nor a blocker for the feature - it's a bad handling for a REALLY bad configuration, which no user will ever perform.

--- Additional comment from Allon Mureinik on 2014-08-28 04:36:33 EDT ---

Talked to Sean - we need to block setting nfsvers (with a CDA) for 3.5, and should look into properly supporting NFS 4.1 for 3.6.

--- Additional comment from Allon Mureinik on 2014-09-04 10:22:35 EDT ---

Tal, when filling in the doctext, please make sure to specify which options have been blocked.

--- Additional comment from Aharon Canan on 2014-09-15 08:31:02 EDT ---


nfsvers is blocked.

--- Additional comment from Sandro Bonazzola on 2014-10-17 08:40:49 EDT ---

oVirt 3.5 has been released and should include the fix for this issue.

Comment 2 Tal Nisan 2015-11-22 13:02:03 UTC
The original bug is not related to NFS v4.1 but to validating of redundant mount options, the NFS version can be specified when creating a new domain, currently there are only V3, V4 and auto negotiate options are viable.
Since what you ask is basically to allow using of NFS V4.1 I'll change this bugs info to indicate the correct info.

Comment 3 Tal Nisan 2015-11-22 13:03:30 UTC
Just to be more clear on that - the fix will be for 3.6 and 3.5 does not support NFS V4.1

Comment 4 Aharon Canan 2015-11-22 13:15:43 UTC
(In reply to Tal Nisan from comment #3)
> Just to be more clear on that - the fix will be for 3.6 and 3.5 does not
> support NFS V4.1

Actually we do support it since 3.3 - I was testing that as part our supporting pNFS.

In order to set it you need to use POSIX domain and not NFS as NFS domain blocks multiple version option (check bug https://bugzilla.redhat.com/show_bug.cgi?id=1129597)

Comment 5 Sandro Bonazzola 2015-12-23 14:59:37 UTC
QE note: not in ovirt-engine-3.6.2-1

Comment 6 Barak Korren 2015-12-29 14:47:49 UTC
RHEV build 3.6.2-3 released

Comment 7 Aharon Canan 2016-01-03 10:08:54 UTC
Created attachment 1111120 [details]


When creating new NFS storage domain, under "Custom connection parameter", NFS version includes v3, v4 and Auto Negotiate - 

NFS version 4.1 is not there.


Comment 8 Tal Nisan 2016-01-03 13:30:17 UTC
The new build contained respin of VDSM only, since this is an Engine bug which was not contained in the build it shouldn't have been moved to ON_QA, moving back to MODIFIED until Engine will be respun

Comment 9 Aharon Canan 2016-01-17 10:21:15 UTC

NFS 4.1 appears under custom connection parameters,

Also relevant mount on vdsm (below)

jsonrpc.Executor/6::DEBUG::2016-01-17 12:18:36,424::mount::229::Storage.Misc.excCmd::(_runcmd) /usr/bin/taskset --cpu-list 0-7 /usr/bin/sudo -n /usr/bin/mount -t nfs -o soft,nosharecache,timeo=600,retrans=6,nfsvers=4,minorversion=1 /rhev/data-center/mnt/ (cwd None)

Comment 11 errata-xmlrpc 2016-03-09 21:14:31 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


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