From 338509c21dd9a852c51dcfbaedc151e899b68491 Mon Sep 17 00:00:00 2001
From: Paul Bourke <paul.bourke@oracle.com>
Date: Tue, 22 Aug 2017 13:46:26 +0100
Subject: [PATCH] Improve the Cinder docs

* Remove redundant info, e.g. 'kolla can deploy the cinder services'

* List the available backends Kolla supports

* The bug wrt to lvm with multiple control nodes is open rather than
  'WontFix', update the note to reflect this.

* Document how to configure the NFS backend

Change-Id: I1621efa35a329676ecaf309d60f578d33d8aa0d4
---
 doc/cinder-guide.rst | 66 +++++++++++++++++++++++++++++---------------
 1 file changed, 44 insertions(+), 22 deletions(-)

diff --git a/doc/cinder-guide.rst b/doc/cinder-guide.rst
index 5975b1e566..649d756d0f 100644
--- a/doc/cinder-guide.rst
+++ b/doc/cinder-guide.rst
@@ -7,32 +7,23 @@ Cinder in Kolla
 Overview
 ========
 
-Currently Kolla can deploy the cinder services:
+Cinder can be deploying using Kolla and supports the following storage
+backends:
 
-  - cinder-api
-  - cinder-scheduler
-  - cinder-backup
-  - cinder-volume
+* ceph
+* hnas_iscsi
+* hnas_nfs
+* iscsi
+* lvm
+* nfs
 
-The cinder implementation defaults to using LVM storage. The default
-implementation requires a volume group be set up. This can either be
-a real physical volume or a loopback mounted file for development.
+LVM
+===
 
-.. note ::
-  The Cinder community has closed a bug as WontFix which makes it
-  impossible for LVM to be used at all in a multi-controller setup.
-  The only option for multi-controller storage to work correctly at
-  present is via a Ceph deployment. If community members disagree
-  with this decision, please report the specific use case in the
-  Cinder bug tracker here:
-  `_bug 1571211 <https://launchpad.net/bugs/1571211>`__.
-
-
-Create a Volume Group
-=====================
 When using the ``lvm`` backend, a volume group will need to be created on each
-storage node.  Use ``pvcreate`` and ``vgcreate`` to create the volume group.
-For example with the devices ``/dev/sdb`` and ``/dev/sdc``:
+storage node. This can either be a real physical volume or a loopback mounted
+file for development.  Use ``pvcreate`` and ``vgcreate`` to create the volume
+group.  For example with the devices ``/dev/sdb`` and ``/dev/sdc``:
 
 ::
 
@@ -58,6 +49,37 @@ Enable the ``lvm`` backend in ``/etc/kolla/globals.yml``:
 
     enable_cinder_backend_lvm: "yes"
 
+.. note ::
+  There are currently issues using the LVM backend in a multi-controller setup,
+  see `_bug 1571211 <https://launchpad.net/bugs/1571211>`__ for more info.
+
+NFS
+===
+
+To use the ``nfs`` backend, configure ``/etc/exports`` to contain the mount
+where the volumes are to be stored::
+
+    /kolla_nfs 192.168.5.0/24(rw,sync,no_root_squash)
+
+In this example, ``/kolla_nfs`` is the directory on the storage node which will
+be ``nfs`` mounted, ``192.168.5.0/24`` is the storage network, and
+``rw,sync,no_root_squash`` means make the share read-write, synchronous, and
+prevent remote root users from having access to all files.
+
+Then start ``nfsd``::
+
+    systemctl start nfsd
+
+On the deploy node, create ``/etc/kolla/config/nfs_shares`` with an entry for
+each storage node::
+
+    storage01:/kolla_nfs
+    storage02:/kolla_nfs
+
+Finally, enable the ``nfs`` backend in ``/etc/kolla/globals.yml``::
+
+    enable_cinder_backend_nfs: "yes"
+
 Validation
 ==========