Greetings,
I'm trying to upgrade from 4.3 to 4.4. When trying to mount the original nfs items,
I'm getting the following error:
vdsm.storage.exception.StorageServerAccessPermissionError: Permission settings on the
specified path do not allow access to the storage. Verify permission settings on the
specified storage path.: 'path = /rhev/data-center/mnt/nfshost:nfs_path'
with the following stack trace:
2020-10-08 19:00:17,961+0000 ERROR (jsonrpc/4) [storage.HSM] Could not connect to
storageServer (hsm:2421)
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/vdsm/storage/fileSD.py", line 82, in
validateDirAccess
getProcPool().fileUtils.validateAccess(dirPath)
File "/usr/lib/python3.6/site-packages/vdsm/storage/outOfProcess.py", line
194, in validateAccess
raise OSError(errno.EACCES, os.strerror(errno.EACCES))
PermissionError: [Errno 13] Permission denied
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/vdsm/storage/hsm.py", line 2418, in
connectStorageServer
conObj.connect()
File "/usr/lib/python3.6/site-packages/vdsm/storage/storageServer.py", line
449, in connect
return self._mountCon.connect()
File "/usr/lib/python3.6/site-packages/vdsm/storage/storageServer.py", line
190, in connect
six.reraise(t, v, tb)
File "/usr/lib/python3.6/site-packages/six.py", line 703, in reraise
raise value
File "/usr/lib/python3.6/site-packages/vdsm/storage/storageServer.py", line
183, in connect
self.getMountObj().getRecord().fs_file)
File "/usr/lib/python3.6/site-packages/vdsm/storage/fileSD.py", line 93, in
validateDirAccess
raise se.StorageServerAccessPermissionError(dirPath)
via an ls, it looks like there are the correct permissions:
ls -alh
total 0
drwxr-xr-x. 1 vdsm kvm 100 Oct 8 19:15 .
drwxr-xr-x. 4 vdsm kvm 115 Oct 8 19:02 ..
drwxr-xr-x. 1 vdsm kvm 52 Oct 1 20:35 ffe7b7bb-a391-42a9-9bae-480807509778
d---------. 1 vdsm kvm 22 Mar 17 2020 '#recycle'
But, I wrote a short script to check the individual permissions that are checked, and it
thinks I can't write to the directory:
We can Read From it: /rhev/data-center/mnt/nfshost:nfspath
We can't write to it: /rhev/data-center/mnt/nfshost:nfspath
We can execute to it: /rhev/data-center/mnt/nfshost:nfspath
This is doing a simple:
print(os.stat(path))
if os.access(path, os.F_OK):
print("It Exists", "/rhev/data-center/mnt/nfshost:nfspath")
else:
print("It Doesn't Exists",
"/rhev/data-center/mnt/nfshost:nfspath")
if os.access(path, os.R_OK):
print("We can Read From it: ",
"/rhev/data-center/mnt/nfshost:nfspath")
else:
print("We can't Read from it: ",
"/rhev/data-center/mnt/nfshost:nfspath")
if os.access(path, os.W_OK):
print("We can write to it: ",
"/rhev/data-center/mnt/nfshost:nfspath")
else:
print("We can't write to it: ",
"/rhev/data-center/mnt/nfshost:nfspath")
if os.access(path, os.X_OK):
print("We can execute to it: ",
"/rhev/data-center/mnt/nfshost:nfspath")
else:
print("We can can't to it: ",
"/rhev/data-center/mnt/nfshost:nfspath")
I took this same checks over to the Centos 7 host, and I it passes the checks fine.
Does anyone have any ideas?
Thanks,
Lee