No_Way
Enthusiast
Enthusiast

NFS Share for vCD 10.2 what did change?

Hi all,

What is the difference between an NFS Share for 9.x and 10.x?

Because the same file share it works on 9.x implementations, but when I try to use it on 10.x I get:

"Unexpected permissions on file /opt/vmware/vcloud-director/data/transfer/xyz while performing operation: touch xyz. Expected: root root 644. Found: root, root, 600"

Used in a 9.7 and works without any issues.

Here we have some notes about the NFS share in 10.2, but nothing specific for the right way to fix it.
https://docs.vmware.com/en/VMware-Cloud-Director/10.2/VMware-Cloud-Director-Install-Configure-Upgrad...


I have changed everything I can remember, but still can't put this share to work for vCD 10.2.

Just for information: share was created in a QNAP as NFS Share.

Thanks

NW

0 Kudos
4 Replies
Shin_Coldfire
Contributor
Contributor

Hi! I don't know, what did change between 9 and 10, but I have 10.2 on my site. NFS is on Linux, volume is root:root, rights is 750 recursively.

Note: after vCloud Director fetches NFS share, rights to volume change to 1003:1002

0 Kudos
mouyaq
Contributor
Contributor

Before 10.2 you set the nfs when deploying the ova. Now you have to set it after deploy into the configuration page.

There is a script called nfsValidate.py that checks nfs permissions and other things. It seems to be that there is a known issue with freenas/truenas.

You can bypass that file or you can try to set your nfs mount point in vcenter as follow:

1. Stop vcloud appliance

2. Go to vcloud appliance > configure > vapp options 

and set the property vcloudapp.nfs_mount.VMware_vCloud_Director pointing to your nfs share

No_Way
Enthusiast
Enthusiast

Hi mouyaq,

Thanks for your reply.

Yes, it was on the configuration page that I get that issue.

I will try your workaround and update this threat.

PS: I had another test vCD and used a Synology without any issues.

Thanks

0 Kudos
A_Shahoff
Contributor
Contributor

There is a bug / inconsistency  in nfsValidate.py

In order to fix it you have to change nfs username in script .

 

Here is  problematic area:

===========cut============

# verify that chmod'ed file has correct ownership and permissions
perms_test(TEST_FILE, 'root', 'root', response, '750')

# check that chown works
chown_test(TEST_FILE, response)
# verify that chown'ed file has correct ownership
perms_test(TEST_FILE, 'vcloud', 'vcloud', response) # don't check mode in this test

=======end of cut=============

 

As you can see script calling sub "perms_test" with different username twice. So unless if your NFS server do not care about username this part will never pass the test. So I changed script to :

===========cut============

# verify that chmod'ed file has correct ownership and permissions

#perms_test(TEST_FILE, 'root', 'root', response, '750')

perms_test(TEST_FILE, 'vcloud', 'vcloud', response, '750')

# check that chown works
chown_test(TEST_FILE, response)
# verify that chown'ed file has correct ownership
perms_test(TEST_FILE, 'vcloud', 'vcloud', response) # don't check mode in this test

=======end of cut=============

and successfully deployed the nodes.

You will ask why than primary node get deployed ? Answer is very simple , this subroutine never get called from primary node deployment routine. 

So I recommend vMware to test the code better to avoid such confusion.

0 Kudos