Bug 1386699 - cthon general and special test fails when acl is enabled on the volume.
Summary: cthon general and special test fails when acl is enabled on the volume.
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Gluster Storage
Classification: Red Hat Storage
Component: nfs-ganesha
Version: rhgs-3.2
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
: RHGS 3.2.0
Assignee: Kaleb KEITHLEY
QA Contact: Arthy Loganathan
URL:
Whiteboard:
: 1386704 (view as bug list)
Depends On: 1386702
Blocks: 1351528
TreeView+ depends on / blocked
 
Reported: 2016-10-19 13:33 UTC by Shashank Raj
Modified: 2017-03-23 06:24 UTC (History)
11 users (show)

Fixed In Version: nfs-ganesha-2.4.1-2
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-03-23 06:24:53 UTC
Embargoed:


Attachments (Terms of Use)
pynfs_acl_v3_results (24.63 KB, text/plain)
2016-11-09 11:33 UTC, Soumya Koduri
no flags Details
pynfs_acl_v4_results (24.65 KB, text/plain)
2016-11-09 11:34 UTC, Soumya Koduri
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2017:0493 0 normal SHIPPED_LIVE Red Hat Gluster Storage 3.2.0 nfs-ganesha bug fix and enhancement update 2017-03-23 09:19:13 UTC

Description Shashank Raj 2016-10-19 13:33:35 UTC
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:

Comment 2 Soumya Koduri 2016-10-19 13:44:29 UTC
*** Bug 1386704 has been marked as a duplicate of this bug. ***

Comment 5 Soumya Koduri 2016-11-09 11:33:47 UTC
Created attachment 1218920 [details]
pynfs_acl_v3_results

Comment 6 Soumya Koduri 2016-11-09 11:34:12 UTC
Created attachment 1218921 [details]
pynfs_acl_v4_results

Comment 7 Soumya Koduri 2016-11-09 11:35:54 UTC
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.

Comment 10 Arthy Loganathan 2016-11-18 12:20:03 UTC
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

Comment 11 Soumya Koduri 2016-11-18 12:26:43 UTC
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

Comment 12 Arthy Loganathan 2016-12-15 06:42:45 UTC
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

Comment 14 errata-xmlrpc 2017-03-23 06:24:53 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.

https://rhn.redhat.com/errata/RHEA-2017-0493.html


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