=====
Usage
=====

Installs and configures GlusterFS server and client.

Available states
================

* ``glusterfs.server``
   Sets up GlusterFS server (including both service and setup)

* ``glusterfs.server.service``
   Sets up and start GlusterFS server service

* ``glusterfs.server.setup``
   Sets up GlusterFS peers and volumes

* ``glusterfs.client``
   Sets up GlusterFS client

* ``glusterfs.update.server``
   Update GlusterFS on servers

* ``glusterfs.update.client``
   Update GlusterFS on clients

* ``glusterfs.update.op_version``
   Update GlusterFS cluster.op-version option

* ``glusterfs.orchestrate.update``
   Orchestrate an update of GlusterFS process

Available metadata
==================

* ``metadata.glusterfs.server``
   Sets up basic server

* ``metadata.glusterfs.client``
   Sets up client only

Example Reclass
===============

Example for distributed Glance images storage where every control node is
gluster peer.

.. code-block:: yaml

   classes:
   - service.glusterfs.server
   - service.glusterfs.client

   _param:
     cluster_node01_address: 192.168.1.21
     cluster_node02_address: 192.168.1.22
     cluster_node03_address: 192.168.1.23
   parameters:
     glusterfs:
       server:
         peers:
         - ${_param:cluster_node01_address}
         - ${_param:cluster_node02_address}
         - ${_param:cluster_node03_address}
         volumes:
            glance:
              storage: /srv/glusterfs/glance
              replica: 3
              bricks:
              - ${_param:cluster_node01_address}:/srv/glusterfs/glance
              - ${_param:cluster_node02_address}:/srv/glusterfs/glance
              - ${_param:cluster_node03_address}:/srv/glusterfs/glance
              options:
                cluster.readdir-optimize: On
                nfs.disable: On
                network.remote-dio: On
                diagnostics.client-log-level: WARNING
                diagnostics.brick-log-level: WARNING
       client:
         volumes:
           glance:
             path: /var/lib/glance/images
             server: ${_param:cluster_node01_address}
             user: glance
             group: glance

Example pillar
==============

Server
------

.. code-block:: yaml

   glusterfs:
     server:
       peers:
       - 192.168.1.21
       - 192.168.1.22
       - 192.168.1.23
       volumes:
          glance:
            storage: /srv/glusterfs/glance
            replica: 3
            bricks:
            - 172.168.1.21:/srv/glusterfs/glance
            - 172.168.1.21:/srv/glusterfs/glance
            - 172.168.1.21:/srv/glusterfs/glance
       enabled: true

Server with forced peer UUID (for peer recovery)
------------------------------------------------

.. code-block:: yaml

   glusterfs:
     server:
       recover_peers:
         kvm03.testserver.local:
           enabled: true
           uuid: ab6ac060-68f1-4f0b-8de4-70241dfb2279


Client
------

.. code-block:: yaml

   glusterfs:
     client:
       volumes:
         glance:
           path: /var/lib/glance/images
           server: 192.168.1.21
           user: glance
           group: glance
       enabled: true

Read more
=========

* https://www.gluster.org/
