Description of problem: cthon general and special test fails when acl is enabled on the volume. Version-Release number of selected component (if applicable): [root@dhcp43-110 ~]# rpm -qa|grep ganesha nfs-ganesha-debuginfo-2.4.0-2.el7rhgs.x86_64 nfs-ganesha-2.4.0-2.el7rhgs.x86_64 glusterfs-ganesha-3.8.4-2.el7rhgs.x86_64 nfs-ganesha-gluster-2.4.0-2.el7rhgs.x86_64 How reproducible: Always Steps to Reproduce: 1.Create a ganesha cluster, create a volume and enable ganesha on it. 2.Enable acl in volume export file. 3.Run cthon general and special tests from the client and observe that it fails when acl is enabled on the volume: ******************************************************* cd /root/cthon04 && ./server -g -o vers=3 -p /testvolume -m /mnt/nfs1 -N 1 10.70.40.209 general test fails with below error: Four simultaneous large compiles time: cannot run ./large4.sh: Permission denied 0.00user 0.00system 0:00.01elapsed 0%CPU (0avgtext+0avgdata 332maxresident)k 0inputs+8outputs (0major+69minor)pagefaults 0swaps general tests failed ******************************************************** cd /root/cthon04 && ./server -s -o vers=3 -p /testvolume -m /mnt/nfs1 -N 1 10.70.40.209 special test fails with below error: check for proper open/unlink operation runtests.wrk: line 24: ./op_unlk: Permission denied special tests failed ******************************************************** Actual results: cthon general and special test fails when acl is enabled on the volume. Expected results: There should not be any failures in cthon test suite. Additional info:
*** Bug 1386704 has been marked as a duplicate of this bug. ***
Created attachment 1218920 [details] pynfs_acl_v3_results
Created attachment 1218921 [details] pynfs_acl_v4_results
The latest rebase version of nfs-ganesha (2.4.1) contains the fix for this bug as well. I ran cthon test-suite with ACLs enabled and all the tests passed. Attached for reference. Hence moving the bug to ON_QA.
Tested the fix in latest build. nfs-ganesha-2.4.1-1.el7rhgs.x86_64 glusterfs-ganesha-3.8.4-5.el7rhgs.x86_64 Cthon special tests passed with ACL enabled. But, cthon general tests failed with ACL enabled on the volume for both version 3 and 4. [root@dhcp47-49 cthon04]# cd /root/cthon04 && ./server -g -o vers=3 -p /vol1_new -m /mnt/test_nfsv4 -N 1 dhcp46-111.lab.eng.blr.redhat.com sh ./runtests -g -t /mnt/test_nfsv4/dhcp47-49.test GENERAL TESTS: directory /mnt/test_nfsv4/dhcp47-49.test if test ! -x runtests; then chmod a+x runtests; fi cd /mnt/test_nfsv4/dhcp47-49.test; rm -f Makefile runtests runtests.wrk *.sh *.c mkdummy rmdummy nroff.in makefile.tst cp Makefile runtests runtests.wrk *.sh *.c mkdummy rmdummy nroff.in makefile.tst /mnt/test_nfsv4/dhcp47-49.test Small Compile runtests.wrk: line 63: ./stat: Permission denied general tests failed Tests failed, leaving /mnt/test_nfsv4 mounted
cthon tests which QE used above and the one which we had tested with seem to be different. [skoduri@skoduri cthon04]$ cat .git/config [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = git://fedorapeople.org/~steved/cthon04 fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master [skoduri@skoduri cthon04]$ whereas the one in QE repo had below git repo. [root@dhcp46-111 cthon04]# cat .git/config [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = git://linux-nfs.org/~steved/cthon04.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master [root@dhcp46-111 cthon04]# Nevertheless, there are either errors/warnings reported with Permission Denied errors. We found the issue is with nfs-ganesha/md-cache layer. If we disable it by setting Attr_Expiration_Time=0, cthon test seem to pass. [root@dhcp46-111 cthon04]# ./server -g -o vers=4 -p /tmp -m /mnt/test_nfsv4/ -N 1 localhostsh ./runtests -g -t /mnt/test_nfsv4//dhcp46-111.test GENERAL TESTS: directory /mnt/test_nfsv4//dhcp46-111.test if test ! -x runtests; then chmod a+x runtests; fi cd /mnt/test_nfsv4//dhcp46-111.test; rm -f Makefile runtests runtests.wrk *.sh *.c mkdummy rmdummy nroff.in makefile.tst cp Makefile runtests runtests.wrk *.sh *.c mkdummy rmdummy nroff.in makefile.tst /mnt/test_nfsv4//dhcp46-111.test Small Compile 0.1 (0.0) real 0.0 (0.0) user 0.0 (0.0) sys Tbl 0.0 (0.0) real 0.0 (0.0) user 0.0 (0.0) sys Nroff 0.0 (0.0) real 0.0 (0.0) user 0.0 (0.0) sys Large Compile 0.1 (0.0) real 0.0 (0.0) user 0.0 (0.0) sys Four simultaneous large compiles 0.3 (0.0) real 0.1 (0.0) user 0.0 (0.0) sys Makefile 0.0 (0.0) real 0.0 (0.0) user 0.0 (0.0) sys General tests complete All tests completed [root@dhcp46-111 cthon04]# cat /var/run/gluster/shared_storage/nfs-ganesha/exports/export.tmp.conf # WARNING : Using Gluster CLI will overwrite manual # changes made to this file. To avoid it, edit the # file and run ganesha-ha.sh --refresh-config. EXPORT{ Export_Id= 7 ; Path = "/tmp"; FSAL { name = GLUSTER; hostname="localhost"; volume="tmp"; } Access_type = RW; # Disable_ACL = true; Squash="No_root_squash"; Pseudo="/tmp"; Protocols = "3", "4" ; Transports = "UDP","TCP"; SecType = "sys"; Attr_Expiration_Time=0; } [root@dhcp46-111 cthon04]# Instead of filing a new bug, since the final use-case which is cthon test failed, we planning to provide md-cache layer fix as well as part of this BZ itself. Posted the fix for review upstream - https://review.gerrithub.io/#/c/302727/1
With acl enabled, cthon general and special tests are passing. Verified the fix in build, nfs-ganesha-2.4.1-2.el7rhgs.x86_64 nfs-ganesha-gluster-2.4.1-2.el7rhgs.x86_64 glusterfs-ganesha-3.8.4-8.el7rhgs.x86_64
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. https://rhn.redhat.com/errata/RHEA-2017-0493.html