Description
Hi!
We had numerous reports of users having issues to create an NFS SR when using QNAP devices.
So it seems the problem is because the probe request (even on xe
) doesn't return anything, eg:
xe sr-probe type=nfs device-config:server=192.168.0.15
Error code: SR_BACKEND_FAILURE_101
Error parameters: , The request is missing the serverpath parameter,
It should be:
xe sr-probe type=nfs device-config:server=192.168.0.15
Error code: SR_BACKEND_FAILURE_101
Error parameters: , The request is missing the serverpath parameter,
<nfs-exports>
<Export>
<Target>192.168.0.15</Target>
<Path>/foo/bar</Path>
<Accesslist>(everyone)</Accesslist>
</Export>
</nfs-exports>
After some investigation, the common point was using a QNAP device, and having showmount
to return share lists without any "permissions". Eg, an expected showmount
would be:
# showmount -e 10.0.1.197
Export list for 10.0.1.197:
/mnt/tank/backups/Xen 10.0.1.0
/mnt/tank/ISO 10.0.1.1
/mnt/tank/home/kevdog 10.0.1.1
But with QNAP devices, for example:
# showmount -e 172.18.9.34
Export list for 172.18.9.34:
/vm
/Public
/Web
I suppose this is the reason of the issue: in NFS probe function, it expects to have another row with the permission (IP or "everyone"). QNAP told us there's no possibility to modify permission for the NFS, so we can't test on that side.
Problem might be around here:
Lines 187 to 216 in 46a8c7a
It might be doable to manage this case when there's no ACLs visible for a share. At least, that's my theory, your input is welcome 👍