cinder can not create volume on NetApp NFS
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Fuel Plugin Cinder Netapp |
New
|
Undecided
|
Unassigned |
Bug Description
Using latest Mirantis FUEL 7.0 (kilo) - date 16-06-30
Using fuel-plugin-
3x Controller Node, Ceilomenter
1x Cinder Node
1x Compute Node
Plugin parameters:
Cinder and NetApp integration
Multibackend enabled
OnTap 7mode
Storage protocol NFS
Username: root
Password: correct one:-)
NetApp IP: 172.16.11.31 (Controller)
NetApp Server Port: 80
Transport Type: http
NFS Server: 172.21.22.252
Shares: 1
Share: /vol/vol1
After successful deployment of this environment, the "Health Check" function from FUEL fails at "Create volume and boot instance from it"
::::
Looking into /var/log/
2016-07-01 08:04:02.660 4473 TRACE oslo_messaging.
::::
Creating a file on NFS mount as "root" on cinder node is successful:
# touch /var/lib/
# ls /var/lib/
/var/lib/
::
Creating a file on NFS mount as user "cinder" fails:
# sudo -u cinder touch /var/lib/
touch: cannot touch '/var/lib/
The problem is posix file ownership problem:
root@node- 30:/var/ lib/cinder/ mnt# mount | grep nfs 22.252: /vol/vol1 on /var/lib/ cinder/ mnt/bfe0522da8e c08bea42affcc3f 7831bf type nfs (rw,vers= 4,addr= 172.21. 22.252, clientaddr= 172.21. 43.4)
172.21.
root@node- 30:/var/ lib/cinder/ mnt# ll ea42affcc3f7831 bf/
total 16
drwxr-xr-x 3 cinder cinder 4096 Jun 20 17:56 ./
drwxr-xr-x 4 cinder cinder 4096 Jun 20 17:56 ../
drwxrwxr-x 59 nobody 4294967294 8192 Jul 5 20:43 bfe0522da8ec08b
I guess earlier, cinder was running as root, so permissions on the mounted NFS share didn't matter.
Now that cinder runs as user "cinder", creation of files on an NFS share with ownership user "nobody"
and group "$maxint32" doesn't work when the mount point has permissions 0775, as user "cinder" is part of "other" and thus not permitted to write (create a file).
We have no older working installations and can only guess that in earlier versions (FUEL 6.1, Juno) cinder was running as root... thus the weird permissions on the NFS share didn't matter.
So - unclear what the proper fix is. Beating the NetApp share into "fitting" permissions for the share prolly isn't a sensible path. A better way would be for the cinder node to mount the NFS share with NFS mount options forcing the NFS share's permissions to be UID=cinder (and prolly GID=cinder as well). This way, it doesn't matter what the NFS filesystem's original ownership are, but locally on the cinder node all NFS share files/folders are "owned" by the local UNIX "cinder" user under which cinder as a service operates.
Best regards,
Daniel