LGTM, thanks.
On Thu, Jan 9, 2014 at 7:33 PM, Santi Raffa <[email protected]> wrote: > The disk template section was not updated for Gluster. This commit > also refactors the section slightly by unifying the different remarks > about /etc/ganeti/file-storage-paths. > > sphinx_ext is also changed in order to not hardcode too much > information in the documentation. > > Signed-off-by: Santi Raffa <[email protected]> > --- > doc/admin.rst | 49 > +++++++++++++++++++++++++++++++++---------------- > lib/build/sphinx_ext.py | 3 ++- > 2 files changed, 35 insertions(+), 17 deletions(-) > > diff --git a/doc/admin.rst b/doc/admin.rst > index 6496dfc..530fb2b 100644 > --- a/doc/admin.rst > +++ b/doc/admin.rst > @@ -115,34 +115,28 @@ The are multiple options for the storage provided to > an instance; while > the instance sees the same virtual drive in all cases, the node-level > configuration varies between them. > > -There are five disk templates you can choose from: > +There are several disk templates you can choose from: > > -diskless > +``diskless`` > The instance has no disks. Only used for special purpose operating > systems or for testing. > > -file > +``file`` ***** > The instance will use plain files as backend for its disks. No > redundancy is provided, and this is somewhat more difficult to > - configure for high performance. Note that for security reasons the > - file storage directory must be listed under > - ``/etc/ganeti/file-storage-paths``, and that file is not copied > - automatically to all nodes by Ganeti. The format of that file is a > - newline-separated list of directories. > + configure for high performance. > > -sharedfile > +``sharedfile`` ***** > The instance will use plain files as backend, but Ganeti assumes that > those files will be available and in sync automatically on all nodes. > This allows live migration and failover of instances using this > - method. As for ``file`` the file storage directory must be listed under > - ``/etc/ganeti/file-storage-paths`` or ganeti will refuse to create > - instances under it. > + method. > > -plain > +``plain`` > The instance will use LVM devices as backend for its disks. No > redundancy is provided. > > -drbd > +``drbd`` > .. note:: This is only valid for multi-node clusters using DRBD 8.0+ > > A mirror is set between the local node and a remote one, which must be > @@ -154,14 +148,37 @@ drbd > DRBD stacked setup is not fully symmetric and as such it is > not working with live migration. > > -rbd > +``rbd`` > The instance will use Volumes inside a RADOS cluster as backend for its > disks. It will access them using the RADOS block device (RBD). > > -ext > +``gluster`` ***** > + The instance will use a Gluster volume for instance storage. Disk > + images will be stored in the top-level ``ganeti/`` directory of the > + volume. This directory will be created automatically for you. > + > +``ext`` > The instance will use an external storage provider. See > :manpage:`ganeti-extstorage-interface(7)` for how to implement one. > > +.. note:: > + Disk templates marked with an asterisk require Ganeti to access the > + file system. Ganeti will refuse to do so unless you whitelist the > + relevant paths in :pyeval:`pathutils.FILE_STORAGE_PATHS_FILE`. > + > + The default paths used by Ganeti are: > + > + =============== =================================================== > + Disk template Default path > + =============== =================================================== > + ``file`` :pyeval:`pathutils.DEFAULT_FILE_STORAGE_DIR` > + ``sharedfile`` :pyeval:`pathutils.DEFAULT_SHARED_FILE_STORAGE_DIR` > + ``gluster`` :pyeval:`pathutils.DEFAULT_GLUSTER_STORAGE_DIR` > + =============== =================================================== > + > + Those paths can be changed at ``gnt-cluster init`` time. See > + :manpage:`gnt-cluster(8)` for details. > + > > IAllocator > ~~~~~~~~~~ > diff --git a/lib/build/sphinx_ext.py b/lib/build/sphinx_ext.py > index f9c71d7..9de7320 100644 > --- a/lib/build/sphinx_ext.py > +++ b/lib/build/sphinx_ext.py > @@ -58,6 +58,7 @@ from ganeti import rapi > from ganeti import luxi > from ganeti import objects > from ganeti import http > +from ganeti import pathutils > > import ganeti.rapi.rlib2 # pylint: disable=W0611 > import ganeti.rapi.connector # pylint: disable=W0611 > @@ -94,7 +95,7 @@ COMMON_PARAM_NAMES = _GetCommonParamNames() > #: Namespace for evaluating expressions > EVAL_NS = dict(compat=compat, constants=constants, utils=utils, > errors=errors, > rlib2=rapi.rlib2, luxi=luxi, rapi=rapi, objects=objects, > - http=http) > + http=http, pathutils=pathutils) > > # Constants documentation for man pages > CV_ECODES_DOC = "ecodes" > -- > 1.8.5.1 > > -- Thomas Thrainer | Software Engineer | [email protected] | Google Germany GmbH Dienerstr. 12 80331 München Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Geschäftsführer: Graham Law, Christine Elizabeth Flores
