Managing NFS exports with Dashboard

Alfonso Martínez

Photo by Sonika Agarwal on Unsplash

A bit of History

In the early days, the only way to manage NFS exports was through Ceph-Ansible / OpenStack Manila.

Ceph Dashboard implemented its own NFS export management on Nautilus release that was capable of creating exports using both storage backends: CephFS and Object Gateway (RGW).

With the advent of the Octopus v15.2.4, the mgr volume module also implemented the NFS management in a similar manner so the user could manage exports via the Orchestrator/Cephadm, but only able to manage exports with CephFS as storage backend. Later, in Pacific v16.2.5 the NFS management was segregated to the nfs module and became the official interface. At this point, the nfs module was able to also manage exports with Object Gateway as storage backend.

So 2 ways of creating exports co-existed: the official implementation (nfs module) and the deprecated ones. It was clear that convergence was needed in order to provide a unified and consistent way of managing NFS exports.

The Convergence is here

Now in Pacific v16.2.7 we achieved that convergence so the Dashboard conforms to the nfs module behavior and both the GUI and CLI reflect the same information.

Let's do a quick walkthrough of the Dashboard NFS section.

NFS service deployment

When you deploy a cluster, you can go to Dashboard > NFS > Create Export. If you don't have any Cluster (NFS service) running, you'll be notified about this:

NFS Cluster required

So let's go to Cluster > Services and create an NFS service:

Create NFS service

The NFS service is running:

NFS service details

NFS export over CephFS

We return to Dashboard > NFS > Create Export and create an export with CephFS as the Storage Backend:

cephfs export create

We click on Create NFS Export button and the export is created. We can see the export details:

cephfs export details

NFS export over Object Gateway (RGW)

Now let's create an export with Object Gateway as Storage Backend. If there is no Object gateway service running, you'll be notified:

no rgw daemon found

We deploy the Object Gateway service:

create rgw service rgw service details

Then we create a bucket for the export:

rgw create bucket

We return to Dashboard > NFS > Create Export and create the export:

rgw create bucket

Now we can see the export details:

rgw export details

If we go to the CLI we can see that the same info is displayed:

cli nfs module info

Migration

The exports' migration should be done fully automated by Orchestrator/Cephadm, but in case there is some problem, see the manual steps.