Bug 1450447

Summary: [netapp] filer need to enable v4.1-acl otherwise nfs4_getfacl get failed as NFSv4.1 as default now
Product: Red Hat Enterprise Linux 7 Reporter: Yongcheng Yang <yoyang>
Component: nfs-utilsAssignee: Steve Dickson <steved>
Status: CLOSED CURRENTRELEASE QA Contact: Yongcheng Yang <yoyang>
Severity: urgent Docs Contact: Milan Navratil <mnavrati>
Priority: high    
Version: 7.4CC: bfields, eguan, lmiksik, smayhew, steved, swhiteho, yoyang, zlang
Target Milestone: rcKeywords: Documentation
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Known Issue
Doc Text:
NetApp storage appliances serving NFSv4 are advised to check their configuration Note that features can be enabled or disabled on a per-minor version basis when using NetApp storage appliances that serve NFSv4. It is recommended to verify the configuration to ensure that the appropriate features are enabled as desired, for example by using the following Data ONTAP command: vserver nfs show -vserver <vserver-name> -fields v4.0-acl,v4.0-read-delegation,v4.0-write-delegation,v4.0-referrals,v4.0-migration,v4.1-referrals,v4.1-migration,v4.1-acl,v4.1-read-delegation,v4.1-write-delegation
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-07-06 12:03:18 UTC 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:
Attachments:
Description Flags
Simple reproducer none

Description Yongcheng Yang 2017-05-12 15:10:21 UTC
Description of problem:
Mount the Netapp NFS server with latest RHEL-7.4 client using NFS version 4.1 (which is default). Calling "nfs4_getfacl" always gets failed and emit error "Operation to request attribute not supported.".

Version-Release number of selected component (if applicable):
Start from the first RTT compose of 7.4 (sorry for the delay)
7.4-20170330.1 with kernel 3.10.0-632.el7 

How reproducible:
100% easy

Steps to Reproduce:
1. See following.


Actual results:
### Only failed with version *4.1* (or NFSv3) ###
[root@hp-dl385pg8-01 ~]# mount -t nfs netapp-pnfs-02.rhts.eng.pek2.redhat.com:/export/qe-test  /mnt/
[root@hp-dl385pg8-01 ~]# nfsstat -m
/mnt from netapp-pnfs-02.rhts.eng.pek2.redhat.com:/export/qe-test
 Flags:	rw,relatime,vers=4.1,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=null,clientaddr=10.73.4.253,local_lock=none,addr=10.73.4.5

[root@hp-dl385pg8-01 ~]# touch /mnt/test
[root@hp-dl385pg8-01 ~]# nfs4_getfacl /mnt/
Operation to request attribute not supported.
[root@hp-dl385pg8-01 ~]# nfs4_getfacl /mnt/test
Operation to request attribute not supported.
[root@hp-dl385pg8-01 ~]# echo $?
1
[root@hp-dl385pg8-01 ~]# nfs4_setfacl -a "A::OWNER@:RW" /mnt/test
Operation to request attribute not supported.
Failed to instantiate ACL.
[root@hp-dl385pg8-01 ~]# echo $?
1
[root@hp-dl385pg8-01 ~]# 


Expected results: Success like NFSv4.0:
### Mounting with version *4.0* acts OK ###
[root@hp-dl385pg8-01 ~]# mount -t nfs netapp-pnfs-02.rhts.eng.pek2.redhat.com:/export/qe-test  /mnt/  -o vers=4
[root@hp-dl385pg8-01 ~]# nfsstat -m
/mnt from netapp-pnfs-02.rhts.eng.pek2.redhat.com:/export/qe-test
 Flags:	rw,relatime,vers=4.0,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.73.4.253,local_lock=none,addr=10.73.4.5

[root@hp-dl385pg8-01 ~]# touch /mnt/test
[root@hp-dl385pg8-01 ~]# nfs4_setfacl -a "A::OWNER@:RW" /mnt/test
[root@hp-dl385pg8-01 ~]# nfs4_getfacl /mnt/
A::OWNER@:rwaDxtTnNcCy
A:g:GROUP@:rwaDxtTnNcy
A::EVERYONE@:rwaDxtTnNcy
[root@hp-dl385pg8-01 ~]# 


Additional info:
1. Just set component "kernel" as the "nfs4-acl-tools doesn't change (all are "0.3.3-15.el7")
2. I'm not sure whether it's our netapp server's issue. However using the same server, the RHEL-7.3 is OK, mounting with NFSv4.0 is OK.

Comment 1 Yongcheng Yang 2017-05-12 15:12:28 UTC
Created attachment 1278198 [details]
Simple reproducer

Comment 6 Yongcheng Yang 2017-05-13 02:09:50 UTC
We can enable the NFSv4.1 ACLs in (on netapp filer) using:
vserver nfs modify -vserver vserver_name -v4.1-acl enabled

For example:
redhat::> vserver nfs show -vserver qe-test -fields v4.0-acl,v4.1-acl
vserver v4.0-acl v4.1-acl 
------- -------- -------- 
qe-test enabled  disabled 

redhat::> vserver nfs modify -vserver qe-test  -v4.1-acl enabled     

redhat::> vserver nfs show -vserver qe-test -fields v4.0-acl,v4.1-acl
vserver v4.0-acl v4.1-acl 
------- -------- -------- 
qe-test enabled  enabled

Comment 7 J. Bruce Fields 2017-05-15 16:07:33 UTC
Also asked Andy Adamson about this here: https://bugzilla.redhat.com/show_bug.cgi?id=1375259#c28

We should document this somewhere in case we have users with the same configuration.  Seems like it would be an easy mistake to make.

Also, is there any objection to making this bug public?

Comment 9 Yongcheng Yang 2017-05-16 02:13:24 UTC
(In reply to J. Bruce Fields from comment #7)

> Also, is there any objection to making this bug public?

No objection for me.  I file this bug for "kernel" at first and it contains "private" group by default.

Just removing group "private".  Feel free to go ahead making your comments public if necessary.  Thanks!

Comment 10 Steve Whitehouse 2017-05-17 11:19:54 UTC
I've added a release note in the appropriate field above with copy & paste from comment #8. Please review and update as necessary. We should definitely get the docs updated too, so I've added a suitable key word above.

Comment 11 Steve Dickson 2017-05-17 13:24:44 UTC
This is sound more like a server configuration problem to me.
and by no means is this a regression since the same failures
happen with 7.3. 

This should not be a blocker!

Comment 12 Steve Whitehouse 2017-05-17 13:26:29 UTC
They do, but in 7.3 the default was not 4.1, so we do need to investigate the implications carefully

Comment 15 Steve Dickson 2017-06-15 15:50:43 UTC
not sure what is needed here and why this is a blocker???

Comment 16 Yongcheng Yang 2017-06-30 06:37:59 UTC
(In reply to Steve Dickson from comment #15)
> not sure what is needed here and why this is a blocker???

(According to Comment #10) this one is to add "Release Note" in case
customers has the same netapp configuration issue, i.e., the netapp
server's ACLs for v4.1 is disabled by default.