On Fri, Sep 27, 2013 at 3:36 PM, Raffa Santi <[email protected]> wrote:

> * Updated man page
> * Updated install.rst
>  * Documented feature
>  * Improved ceph documentation slightly
>

Commit messages should be in present not in past, so "Update man page,
...". I'm not sure if there are other commit with the same problem, sorry
for not spotting earlier.


>
> Signed-off-by: Raffa Santi <[email protected]>
> ---
>  NEWS                    |    8 ++++++++
>  doc/install.rst         |   45
> +++++++++++++++++++++++++++++++++++++--------
>  lib/storage/__init__.py |    2 --
>  man/gnt-cluster.rst     |   15 +++++++++++++++
>  4 files changed, 60 insertions(+), 10 deletions(-)
>
> diff --git a/NEWS b/NEWS
> index a1fe09f..37472a0 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -7,6 +7,14 @@ Version 2.10.0 alpha1
>
>  *(unreleased)*
>
> +New features
> +~~~~~~~~~~~~

+- KVM hypervisors can now access RBD storage directly without having to
>

Trailing whitespace.


> +  mount a block device. This is also faster as everything happens in
> +  userspace. Use '-S access:userspace' at cluster init time to enable.
>

That's not true. It's the -D parameter, and it can be configured at the
cluster and node group level. And not only on init time. Please refer to
the appropriate man pages rather than giving examples in the NEWS file.


> +
> +
> +
>  Incompatible/important changes
>  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> diff --git a/doc/install.rst b/doc/install.rst
> index 04ea7c0..577dd8c 100644
> --- a/doc/install.rst
> +++ b/doc/install.rst
> @@ -367,6 +367,20 @@ above. We recommend using the latest version of
> ``ceph-common``.
>
>        $ apt-get install ceph-common
>
> +KVM userspace access
> +~~~~~~~~~~~~~~~~~~~~
> +
> +If your cluster uses a sufficiently new and feature-complete version of
>

Which version? Which features. Be explicit!


> +KVM, you can skip the kernel module setup and rely directly on KVM's
> +native support for ceph.
> +
> +You can enable support for this feature once your cluster has been
> +initialized with `either` of the following commands::
>

Why is 'either' a special word in this sentence? And please explain that
the feature can be configured at cluster of node group level, and that it
can be configured during cluster init as well.


> +
> +  $ gnt-cluster modify -D rbd:access=userspace
> +  $ gnt-group modify -D rbd:access=userspace affected_group
> +
> +
>  Configuration file
>  ~~~~~~~~~~~~~~~~~~
>
> @@ -376,19 +390,34 @@ only need to specify the IP addresses of the RADOS
> Cluster monitors.
>
>  .. admonition:: ceph.conf
>
-   Sample configuration file:
> +   Sample configuration file with one monitor and three object storage
> +   daemons, with cluster traffic only happening on the replication
> +   network.
>
>     .. code-block:: text
>
> -    [mon.a]
> -           host = example_monitor_host1
> -           mon addr = 1.2.3.4:6789
> -    [mon.b]
> +    [global]
> +           auth supported = cephx
> +           public network = 1.2.3.0/24
> +           private network = 1.2.4.0/24
> +    [osd.0]
> +           host = example_storage_host1
> +           public addr = 1.2.3.1
> +           cluster addr = 1.2.4.1
> +    [osd.1]
>             host = example_monitor_host2
> -           mon addr = 1.2.3.5:6789
> -    [mon.c]
> +           public addr = 1.2.3.2
> +           cluster addr = 1.2.4.2
> +    [osd.2]
>             host = example_monitor_host3
> -           mon addr = 1.2.3.6:6789
> +           public addr = 1.2.3.3
> +           cluster addr = 1.2.4.3
> +    [mon.a]
> +           host = example_monitor_host
> +           mon addr = 1.2.3.4:6789
> +
> +   Note that "public" addresses are called "primary" in Ganeti
> terminology,
> +   whereas "cluster" addresses are the nodes' "secondary" addresses.
>

All those changes are not related to the access parameter, so this should
go into another patch.


>
>  For more information, please see the `Ceph Docs
>  <http://ceph.newdream.net/docs/latest/>`_
> diff --git a/lib/storage/__init__.py b/lib/storage/__init__.py
> index efe9600..9b9e38c 100644
> --- a/lib/storage/__init__.py
> +++ b/lib/storage/__init__.py
> @@ -22,5 +22,3 @@
>  """Block device abstraction
>
>  """
> -
> -from ganeti.storage import base
>

If this import is not required, it should be removed in the right patch
(probably the one which erroneously introduced it). But certainly not in
the documentation patch.


> diff --git a/man/gnt-cluster.rst b/man/gnt-cluster.rst
> index 3b0ee1c..0c3d79a 100644
> --- a/man/gnt-cluster.rst
> +++ b/man/gnt-cluster.rst
> @@ -469,6 +469,21 @@ pool
>      When a new RADOS cluster is deployed, the default pool to put rbd
>      volumes (Images in RADOS terminology) is 'rbd'.
>
> +access
> +    If 'userspace', instances will try to access their disks
> +    directly without first mounting them to block devices, avoiding
> +    expensive context switches with kernel space and the potential
> +    for deadlocks_ in low memory scenarios.
>
+
> +    The default value is 'kernelspace' and it disables this behaviour.
> +    This setting may only be changed to 'userspace' if all instances
>

"... if all instance disks..."


> +    in the affected group or cluster can be accessed in userspace.
> +
> +    Attempts to use this feature without rbd support compiled in KVM
> +    result in "no such file or directory" error messages.
> +
> +.. _deadlocks: http://tracker.ceph.com/issues/3076
> +
>  The option ``--maintain-node-health`` allows one to enable/disable
>  automatic maintenance actions on nodes. Currently these include
>  automatic shutdown of instances and deactivation of DRBD devices on
> --
> 1.7.10.4
>
>


-- 
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

Reply via email to