I am working in 2 environments:
1 is a VM running RHEL 7 (PRETTY_NAME="Red Hat Enterprise Linux Server 7.9") for quriosity
The other is a kubernetes pod running an ubuntu (PRETTY_NAME="Ubuntu 18.04.5 LTS").
There is an user (jbossrdi) that can run nfs4_acl commands in these environments in order to change ACL for dirs and files. The dirs in the workingdir are owned by this user and have following ACE's which are recursively applied:
A::[email protected]:rwaDxtTnNcCy, A:fdi:[email protected]:rwaDxtTnNcCy
These dirs and files are available in both environments, a slight difference for the k8s pod environment where it is redirected with a symlink. The symlink puts /gpfs/nobackup/projects/seeds_rdi on /gpfs/k8s.
Now the problem occurs when using nfs4_setfacl in the k8s environment since it has a different behaviour. Using strace, I can track what is happening in the nfs4_setfacl command and I observe the following:
setxattr("/gpfs/k8s/data/test/Tools/GLENT/dagw/workingdir/decostfr/fdec280122a/doc/GBS_curation.html", "system.nfs4_acl", "\0\0\0\26\0\0\0\0\0\0\0\0\0\26\1\277\0\0\0\10decostfr\0\0\0", 728, XATTR_REPLACE) = -1 EINVAL (Invalid argument)
In the VM environment performing the same command:
setxattr("/gpfs/nobackup/projects/seeds_rdi/data/test/Tools/GLENT/dagw/workingdir/decostfr/fdec280122a/doc/GBS_curation_original.html", "system.nfs4_acl", "\0\0\0\35\0\0\0\0\0\0\0\0\0\26\1\277\0\0\0\10decostfr\0\0\0", 1036, XATTR_REPLACE) = 0
Something to note is also that this happens on the files and not on the directories.
The command that I runned is the following:
strace nfs4_setfacl -Ra A::decostfr:RWXD,A:fdi:decostfr:RWXD /gpfs/nobackup/projects/seeds_rdi/data/test/Tools/GLENT/dagw/workingdir/decostfr/fdec280122a