Deploy nfs-ganesha

Registered by Jan Provaznik on 2017-05-03

Nfs-ganesha can be used as a proxy when mounting ceph file shares. Because nfs-ganesha backend will be supported in manila service soon, we would like to allow users deploy nfs-ganesha in Overcloud so they can use it as a backend in manila. Major benefit is that tenants (user instances) then don't need direct access to the ceph public network (storage network in Overcloud), but only to the nfs-ganesha servers.

In the first step (Pike release), nfs-ganesha service will be deployed on controller nodes together with manila-share service and it will use active/passive HA mode managed by Pacemaker. A new virtual IP on external network will be used. Nfs-ganesha will listen on this VIP, both virtual IP and nfs-ganesha service failover will be handled by pacemaker. User instances will use the VIP on a new isolated storage-nfs network to access nfs-ganesha when mounting shares (so there is no need to provide access to the ceph public network for them).

This is not a true scale out solution because it uses a shared ganesha server and a shared storage nfs-network for all tenants (and relies on neutron security groups to provide security between tenants). We plan to develop a scale-out solution as a follow-on step.

Related mail-thread:
http://lists.openstack.org/pipermail/openstack-dev/2017-April/115169.html

Blueprint information

Status:
Complete
Approver:
None
Priority:
Medium
Drafter:
Jan Provaznik
Direction:
Approved
Assignee:
Tom Barron
Definition:
Approved
Series goal:
Accepted for rocky
Implementation:
Implemented
Milestone target:
milestone icon rocky-1
Started by
Jan Provaznik on 2017-10-26
Completed by
Alex Schultz on 2018-04-09

Related branches

Sprints

Whiteboard

[2017-12-11] Moving out to Rocky. If necessary please request FFE to explain why this is needed for Queens.
[2018-04-09] Feature patches have been merged. <tbarron> mwhahaha: w.r.t. https://blueprints.launchpad.net/tripleo/+spec/nfs-ganesha there'll be more work as bugs I'm sure but we landed the feature patches

Mostly implemented in the series of patches bellow

Gerrit topic: https://review.openstack.org/#q,topic:bp/nfs-ganesha,n,z

Addressed by: https://review.openstack.org/471245
    WIP add ganesha and ganesha VIP

Addressed by: https://review.openstack.org/482501
    Do not create fs and server side key from manila

Addressed by: https://review.openstack.org/482496
    Let mds create manila key and fs

Addressed by: https://review.openstack.org/485796
    Add a StorageNFS network for use by Manila/Ganesha

Addressed by: https://review.openstack.org/512239
    Add storage nfs network parameters

Addressed by: https://review.openstack.org/512240
    Pass storage nfs VIP to ceph-ansible

Addressed by: https://review.openstack.org/471247
    Add support for cephfs+ganesha backend in manila

Addressed by: https://review.openstack.org/523638
    Render NIC config templates with jinja2

Addressed by: https://review.openstack.org/533767
    Some net configs - Do Not Merge

Addressed by: https://review.openstack.org/538441
    Experimental - Do not merge

Addressed by: https://review.openstack.org/538605
    Experimental - DO NOT merge

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.