From c8087fa0a4e4b912f6137339c81e54f03f9ad186 Mon Sep 17 00:00:00 2001 From: Tom Barron Date: Tue, 17 Nov 2020 20:03:04 -0500 Subject: [PATCH] Docs: NFS-Ganesha and dbus Added paragraph to the NFS-Ganesha docs with a brief explanation of the role of ``dbus`` messaging when doing dynamic updates of exports. Key point is that ``dbus-send`` and NFS-Ganesha must be in the same namespace even if NFS-ganesha runs in a container. Close-bug: #1883961 Change-Id: I57b916b16d07a8373143f396b42ea34bf80330a6 --- doc/source/contributor/ganesha.rst | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/doc/source/contributor/ganesha.rst b/doc/source/contributor/ganesha.rst index 99656d290b..4d8b9172ca 100644 --- a/doc/source/contributor/ganesha.rst +++ b/doc/source/contributor/ganesha.rst @@ -311,6 +311,24 @@ works with NFS-Ganesha v2.1 to v2.3. access the shares allowed for her at the respective ``share---`` subdirectories. +Deployment considerations +------------------------- + +When using `NFS-Ganesha`_ v2.4 or later and manila's +``ganesha.GaneshaNASHelper2`` class, dynamic export of +access rules is implemented by using the `dbus-send`_ command to +signal `NFS-Ganesha`_ to update its exports. +The `dbus-send`_ command is executed on the host where `NFS-Ganesha`_ +runs. This may be the same host where the :term:`manila-share` +service runs, or it may be remote to :term:`manila-share` depending on +how the relevant driver has been configured. Either way, the `dbus-send`_ +command and `NFS-Ganesha`_ must be able to communicate over an *abstract +socket* and *must be in the same namespace*. Consequently, if you deploy +`NFS-Ganesha`_ in a container you likely should run the container in +the host namespace (e.g. 'docker run --net=host ...') rather than in its +own network namespace. For details, see this +`article `_. + The :mod:`manila.share.drivers.ganesha` Module ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -319,3 +337,7 @@ The :mod:`manila.share.drivers.ganesha` Module :members: :undoc-members: :show-inheritance: + +.. _NFS-Ganesha: https://github.com/nfs-ganesha/nfs-ganesha/wiki +.. _dbus-send: https://dbus.freedesktop.org/doc/dbus-send.1.html +